From 32dab430faeada57e79f8c9f0be15d1258c6d0af Mon Sep 17 00:00:00 2001 From: awssdkgo Date: Thu, 30 Jul 2020 18:15:35 +0000 Subject: [PATCH] Release v1.33.16 (2020-07-30) === ### Service Client Updates * `service/cloudfront`: Updates service documentation * Documentation updates for CloudFront * `service/codebuild`: Updates service API, documentation, and paginators * Adding support for BuildBatch, and CodeCoverage APIs. BuildBatch allows you to model your project environment in source, and helps start multiple builds with a single API call. CodeCoverage allows you to track your code coverage using AWS CodeBuild. * `service/ec2`: Updates service API * EC2 On-Demand Capacity Reservations now adds support to bring your own licenses (BYOL) of Windows operating system to launch EC2 instances. * `service/guardduty`: Updates service API, documentation, and paginators * GuardDuty can now provide detailed cost metrics broken down by account, data source, and S3 resources, based on the past 30 days of usage. This new feature also supports viewing cost metrics for all member accounts as a GuardDuty master. * `service/kafka`: Updates service API and documentation * `service/organizations`: Updates service documentation * Documentation updates for AWS Organizations * `service/resource-groups`: Updates service documentation * `service/servicecatalog`: Updates service API and documentation * This release adds support for ProvisionProduct, UpdateProvisionedProduct & DescribeProvisioningParameters by product name, provisioning artifact name and path name. In addition DescribeProvisioningParameters now returns a list of provisioning artifact outputs. * `service/sesv2`: Updates service API, documentation, and paginators --- CHANGELOG.md | 20 + aws/endpoints/defaults.go | 10 + aws/version.go | 2 +- models/apis/cloudfront/2020-05-31/docs-2.json | 40 +- models/apis/codebuild/2016-10-06/api-2.json | 513 +- models/apis/codebuild/2016-10-06/docs-2.json | 441 +- .../codebuild/2016-10-06/paginators-1.json | 18 + models/apis/ec2/2016-11-15/api-2.json | 3 +- models/apis/guardduty/2017-11-28/api-2.json | 191 + models/apis/guardduty/2017-11-28/docs-2.json | 136 +- .../guardduty/2017-11-28/paginators-1.json | 5 + models/apis/kafka/2018-11-14/api-2.json | 65 + models/apis/kafka/2018-11-14/docs-2.json | 12 + .../apis/organizations/2016-11-28/docs-2.json | 2 +- .../resource-groups/2017-11-27/docs-2.json | 6 +- .../apis/servicecatalog/2015-12-10/api-2.json | 42 +- .../servicecatalog/2015-12-10/docs-2.json | 57 +- models/apis/sesv2/2019-09-27/api-2.json | 886 +- models/apis/sesv2/2019-09-27/docs-2.json | 512 +- .../apis/sesv2/2019-09-27/paginators-1.json | 10 + models/endpoints/endpoints.json | 9 + service/cloudfront/api.go | 157 +- service/codebuild/api.go | 10007 ++++++++++------ service/codebuild/codebuildiface/interface.go | 45 + service/ec2/api.go | 3 + service/guardduty/api.go | 609 +- service/guardduty/guarddutyiface/interface.go | 7 + service/kafka/api.go | 184 + service/kafka/kafkaiface/interface.go | 4 + service/organizations/api.go | 5 + service/resourcegroups/api.go | 33 +- service/servicecatalog/api.go | 190 +- service/sesv2/api.go | 5296 +++++++- service/sesv2/errors.go | 7 + service/sesv2/sesv2iface/interface.go | 78 + 35 files changed, 15485 insertions(+), 4120 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 029610e44c4..d9f6ac4a245 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,23 @@ +Release v1.33.16 (2020-07-30) +=== + +### Service Client Updates +* `service/cloudfront`: Updates service documentation + * Documentation updates for CloudFront +* `service/codebuild`: Updates service API, documentation, and paginators + * Adding support for BuildBatch, and CodeCoverage APIs. BuildBatch allows you to model your project environment in source, and helps start multiple builds with a single API call. CodeCoverage allows you to track your code coverage using AWS CodeBuild. +* `service/ec2`: Updates service API + * EC2 On-Demand Capacity Reservations now adds support to bring your own licenses (BYOL) of Windows operating system to launch EC2 instances. +* `service/guardduty`: Updates service API, documentation, and paginators + * GuardDuty can now provide detailed cost metrics broken down by account, data source, and S3 resources, based on the past 30 days of usage. This new feature also supports viewing cost metrics for all member accounts as a GuardDuty master. +* `service/kafka`: Updates service API and documentation +* `service/organizations`: Updates service documentation + * Documentation updates for AWS Organizations +* `service/resource-groups`: Updates service documentation +* `service/servicecatalog`: Updates service API and documentation + * This release adds support for ProvisionProduct, UpdateProvisionedProduct & DescribeProvisioningParameters by product name, provisioning artifact name and path name. In addition DescribeProvisioningParameters now returns a list of provisioning artifact outputs. +* `service/sesv2`: Updates service API, documentation, and paginators + Release v1.33.15 (2020-07-29) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 69f3a327bed..66e3815daee 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -898,6 +898,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{}, @@ -1813,6 +1814,7 @@ var awsPartition = partition{ "ds": service{ Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -1822,6 +1824,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{}, @@ -6344,6 +6347,13 @@ var awscnPartition = partition{ }, }, Services: services{ + "access-analyzer": service{ + + Endpoints: endpoints{ + "cn-north-1": endpoint{}, + "cn-northwest-1": endpoint{}, + }, + }, "acm": service{ Endpoints: endpoints{ diff --git a/aws/version.go b/aws/version.go index 6675c0f3b17..1631d1db98a 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.33.15" +const SDKVersion = "1.33.16" diff --git a/models/apis/cloudfront/2020-05-31/docs-2.json b/models/apis/cloudfront/2020-05-31/docs-2.json index 4f80c6ae2ef..0d63aea6700 100644 --- a/models/apis/cloudfront/2020-05-31/docs-2.json +++ b/models/apis/cloudfront/2020-05-31/docs-2.json @@ -337,14 +337,14 @@ "base": "

Contains a list of cookie names.

", "refs": { "CachePolicyCookiesConfig$Cookies": null, - "CookiePreference$WhitelistedNames": "

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.

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 in the AWS General Reference.

", + "CookiePreference$WhitelistedNames": "

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 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 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 in the AWS General Reference.

", "OriginRequestPolicyCookiesConfig$Cookies": null } }, "CookiePreference": { "base": "

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 in the Amazon CloudFront Developer Guide.

", "refs": { - "ForwardedValues$Cookies": "

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 How CloudFront Forwards, Caches, and Logs Cookies in the Amazon CloudFront Developer Guide.

" + "ForwardedValues$Cookies": "

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 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 in the Amazon CloudFront Developer Guide.

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 in the Amazon CloudFront Developer Guide.

" } }, "CreateCachePolicyRequest": { @@ -741,10 +741,10 @@ } }, "ForwardedValues": { - "base": "

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 CachePolicy. See CreateCachePolicy.

If you want to send values to the origin but not include them in the cache key, use an OriginRequestPolicy. See CreateOriginRequestPolicy.

A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

", + "base": "

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 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 in the Amazon CloudFront Developer Guide.

A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

", "refs": { - "CacheBehavior$ForwardedValues": "

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 CachePolicy. See CreateCachePolicy.

If you want to send values to the origin but not include them in the cache key, use an OriginRequestPolicy. See CreateOriginRequestPolicy.

A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

", - "DefaultCacheBehavior$ForwardedValues": "

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 CachePolicy. See CreateCachePolicy.

If you want to send values to the origin but not include them in the cache key, use an OriginRequestPolicy. See CreateOriginRequestPolicy.

A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

" + "CacheBehavior$ForwardedValues": "

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 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 or Using the managed cache policies 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 or Using the managed origin request policies in the Amazon CloudFront Developer Guide.

A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

", + "DefaultCacheBehavior$ForwardedValues": "

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 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 or Using the managed cache policies 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 or Using the managed origin request policies in the Amazon CloudFront Developer Guide.

A complex type that specifies how CloudFront handles query strings, cookies, and HTTP headers.

" } }, "GeoRestriction": { @@ -939,7 +939,7 @@ "base": "

Contains a list of HTTP header names.

", "refs": { "CachePolicyHeadersConfig$Headers": null, - "ForwardedValues$Headers": "

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 headers in the cache key, use HeadersConfig in a cache policy. See CreateCachePolicy.

If you want to send headers to the origin but not include them in the cache key, use HeadersConfig in an origin request policy. See CreateOriginRequestPolicy.

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 in the Amazon CloudFront Developer Guide.

", + "ForwardedValues$Headers": "

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 headers in the cache key, use a cache policy. For more information, see Creating cache policies in the Amazon CloudFront Developer Guide.

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 in the Amazon CloudFront Developer Guide.

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 in the Amazon CloudFront Developer Guide.

", "OriginRequestPolicyHeadersConfig$Headers": null } }, @@ -1126,7 +1126,7 @@ "ItemSelection": { "base": null, "refs": { - "CookiePreference$Forward": "

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.

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.

" + "CookiePreference$Forward": "

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 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 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.

" } }, "KeyPairIdList": { @@ -1672,7 +1672,7 @@ "QueryStringCacheKeys": { "base": "

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.

", "refs": { - "ForwardedValues$QueryStringCacheKeys": "

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 an 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 this cache behavior.

" + "ForwardedValues$QueryStringCacheKeys": "

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 a cache policy. For more information, see Creating cache policies in the Amazon CloudFront Developer Guide.

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 in the Amazon CloudFront Developer Guide.

A complex type that contains information about the query string parameters that you want CloudFront to use for caching for this cache behavior.

" } }, "QueryStringCacheKeysList": { @@ -2183,7 +2183,7 @@ "DistributionList$IsTruncated": "

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.

", "DistributionSummary$Enabled": "

Whether the distribution is enabled to accept user requests for content.

", "DistributionSummary$IsIPV6Enabled": "

Whether CloudFront responds to IPv6 DNS requests with an IPv6 address for your distribution.

", - "ForwardedValues$QueryString": "

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.

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 in the Amazon CloudFront Developer Guide.

", + "ForwardedValues$QueryString": "

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 a cache policy. For more information, see Creating cache policies in the Amazon CloudFront Developer Guide.

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 in the Amazon CloudFront Developer Guide.

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 in the Amazon CloudFront Developer Guide.

", "InvalidationList$IsTruncated": "

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.

", "LambdaFunctionAssociation$IncludeBody": "

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 in the Amazon CloudFront Developer Guide.

", "LoggingConfig$Enabled": "

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.

", @@ -2260,16 +2260,16 @@ "long": { "base": null, "refs": { - "CacheBehavior$MinTTL": "

This field is deprecated. We recommend that you use the MinTTL field in CachePolicyConfig instead of this field.

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) 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).

", - "CacheBehavior$DefaultTTL": "

This field is deprecated. We recommend that you use the DefaultTTL field in CachePolicyConfig instead of this field.

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) in the Amazon CloudFront Developer Guide.

", - "CacheBehavior$MaxTTL": "

This field is deprecated. We recommend that you use the MaxTTL field in CachePolicyConfig instead of this field.

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) in the Amazon CloudFront Developer Guide.

", + "CacheBehavior$MinTTL": "

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 or Using the managed cache policies 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) 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).

", + "CacheBehavior$DefaultTTL": "

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 or Using the managed cache policies 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) in the Amazon CloudFront Developer Guide.

", + "CacheBehavior$MaxTTL": "

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 or Using the managed cache policies 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) in the Amazon CloudFront Developer Guide.

", "CachePolicyConfig$DefaultTTL": "

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) in the Amazon CloudFront Developer Guide.

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.

", - "CachePolicyConfig$MaxTTL": "

The maximum 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 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) in the Amazon CloudFront Developer Guide.

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.

", + "CachePolicyConfig$MaxTTL": "

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) in the Amazon CloudFront Developer Guide.

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.

", "CachePolicyConfig$MinTTL": "

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) in the Amazon CloudFront Developer Guide.

", "CustomErrorResponse$ErrorCachingMinTTL": "

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 in the Amazon CloudFront Developer Guide.

", - "DefaultCacheBehavior$MinTTL": "

This field is deprecated. We recommend that you use the MinTTL field in CachePolicyConfig instead of this field.

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) 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).

", - "DefaultCacheBehavior$DefaultTTL": "

This field is deprecated. We recommend that you use the DefaultTTL field in CachePolicyConfig instead of this field.

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) in the Amazon CloudFront Developer Guide.

", - "DefaultCacheBehavior$MaxTTL": "

This field is deprecated. We recommend that you use the MaxTTL field in CachePolicyConfig instead of this field.

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) in the Amazon CloudFront Developer Guide.

" + "DefaultCacheBehavior$MinTTL": "

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 or Using the managed cache policies 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) 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).

", + "DefaultCacheBehavior$DefaultTTL": "

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 or Using the managed cache policies 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) in the Amazon CloudFront Developer Guide.

", + "DefaultCacheBehavior$MaxTTL": "

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 or Using the managed cache policies 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) in the Amazon CloudFront Developer Guide.

" } }, "string": { @@ -2284,8 +2284,8 @@ "CacheBehavior$PathPattern": "

The pattern (for example, images/*.jpg) that specifies which requests to apply the behavior to. When CloudFront receives a viewer request, the requested path is compared with path patterns in the order in which cache behaviors are listed in the distribution.

You can optionally include a slash (/) at the beginning of the path pattern. For example, /images/*.jpg. CloudFront behavior is the same with or without the leading /.

The path pattern for the default cache behavior is * and cannot be changed. If the request for an object does not match the path pattern for any cache behaviors, CloudFront applies the behavior in the default cache behavior.

For more information, see Path Pattern in the Amazon CloudFront Developer Guide.

", "CacheBehavior$TargetOriginId": "

The value of ID for the origin that you want CloudFront to route requests to when they match this cache behavior.

", "CacheBehavior$FieldLevelEncryptionId": "

The value of ID for the field-level encryption configuration that you want CloudFront to use for encrypting specific fields of data for this cache behavior.

", - "CacheBehavior$CachePolicyId": "

The unique identifier of the cache policy that is attached to this cache behavior. For more information, see CreateCachePolicy.

", - "CacheBehavior$OriginRequestPolicyId": "

The unique identifier of the origin request policy that is attached to this cache behavior. For more information, see CreateOriginRequestPolicy.

", + "CacheBehavior$CachePolicyId": "

The unique identifier of the cache policy that is attached to this cache behavior. For more information, see Creating cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide.

", + "CacheBehavior$OriginRequestPolicyId": "

The unique identifier of the origin request policy that is attached to this cache behavior. For more information, see Creating origin request policies or Using the managed origin request policies in the Amazon CloudFront Developer Guide.

", "CachePolicy$Id": "

The unique identifier for the cache policy.

", "CachePolicyAlreadyExists$Message": null, "CachePolicyConfig$Comment": "

A comment to describe the cache policy.

", @@ -2333,8 +2333,8 @@ "CustomErrorResponse$ResponseCode": "

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:

If you specify a value for ResponseCode, you must also specify a value for ResponsePagePath.

", "DefaultCacheBehavior$TargetOriginId": "

The value of ID for the origin that you want CloudFront to route requests to when they use the default cache behavior.

", "DefaultCacheBehavior$FieldLevelEncryptionId": "

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.

", - "DefaultCacheBehavior$CachePolicyId": "

The unique identifier of the cache policy that is attached to the default cache behavior. For more information, see CachePolicy.

", - "DefaultCacheBehavior$OriginRequestPolicyId": "

The unique identifier of the origin request policy that is attached to the default cache behavior. For more information, see OriginRequestPolicy.

", + "DefaultCacheBehavior$CachePolicyId": "

The unique identifier of the cache policy that is attached to the default cache behavior. For more information, see Creating cache policies or Using the managed cache policies in the Amazon CloudFront Developer Guide.

", + "DefaultCacheBehavior$OriginRequestPolicyId": "

The unique identifier of the origin request policy that is attached to the default cache behavior. For more information, see Creating origin request policies or Using the managed origin request policies in the Amazon CloudFront Developer Guide.

", "DeleteCachePolicyRequest$Id": "

The unique identifier for the cache policy that you are deleting. To get the identifier, you can use ListCachePolicies.

", "DeleteCachePolicyRequest$IfMatch": "

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.

", "DeleteCloudFrontOriginAccessIdentityRequest$Id": "

The origin access identity's ID.

", diff --git a/models/apis/codebuild/2016-10-06/api-2.json b/models/apis/codebuild/2016-10-06/api-2.json index ecf7fa55ff7..5e309a642b9 100644 --- a/models/apis/codebuild/2016-10-06/api-2.json +++ b/models/apis/codebuild/2016-10-06/api-2.json @@ -24,6 +24,18 @@ {"shape":"InvalidInputException"} ] }, + "BatchGetBuildBatches":{ + "name":"BatchGetBuildBatches", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchGetBuildBatchesInput"}, + "output":{"shape":"BatchGetBuildBatchesOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ] + }, "BatchGetBuilds":{ "name":"BatchGetBuilds", "http":{ @@ -115,6 +127,18 @@ {"shape":"ResourceNotFoundException"} ] }, + "DeleteBuildBatch":{ + "name":"DeleteBuildBatch", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteBuildBatchInput"}, + "output":{"shape":"DeleteBuildBatchOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ] + }, "DeleteProject":{ "name":"DeleteProject", "http":{ @@ -190,6 +214,18 @@ {"shape":"OAuthProviderException"} ] }, + "DescribeCodeCoverages":{ + "name":"DescribeCodeCoverages", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeCodeCoveragesInput"}, + "output":{"shape":"DescribeCodeCoveragesOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ] + }, "DescribeTestCases":{ "name":"DescribeTestCases", "http":{ @@ -243,6 +279,31 @@ {"shape":"ResourceNotFoundException"} ] }, + "ListBuildBatches":{ + "name":"ListBuildBatches", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListBuildBatchesInput"}, + "output":{"shape":"ListBuildBatchesOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ] + }, + "ListBuildBatchesForProject":{ + "name":"ListBuildBatchesForProject", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListBuildBatchesForProjectInput"}, + "output":{"shape":"ListBuildBatchesForProjectOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "ListBuilds":{ "name":"ListBuilds", "http":{ @@ -357,7 +418,10 @@ "requestUri":"/" }, "input":{"shape":"ListSourceCredentialsInput"}, - "output":{"shape":"ListSourceCredentialsOutput"} + "output":{"shape":"ListSourceCredentialsOutput"}, + "errors":[ + {"shape":"InvalidInputException"} + ] }, "PutResourcePolicy":{ "name":"PutResourcePolicy", @@ -372,6 +436,33 @@ {"shape":"InvalidInputException"} ] }, + "RetryBuild":{ + "name":"RetryBuild", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RetryBuildInput"}, + "output":{"shape":"RetryBuildOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccountLimitExceededException"} + ] + }, + "RetryBuildBatch":{ + "name":"RetryBuildBatch", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RetryBuildBatchInput"}, + "output":{"shape":"RetryBuildBatchOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "StartBuild":{ "name":"StartBuild", "http":{ @@ -386,6 +477,19 @@ {"shape":"AccountLimitExceededException"} ] }, + "StartBuildBatch":{ + "name":"StartBuildBatch", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StartBuildBatchInput"}, + "output":{"shape":"StartBuildBatchOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "StopBuild":{ "name":"StopBuild", "http":{ @@ -399,6 +503,19 @@ {"shape":"ResourceNotFoundException"} ] }, + "StopBuildBatch":{ + "name":"StopBuildBatch", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"StopBuildBatchInput"}, + "output":{"shape":"StopBuildBatchOutput"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "UpdateProject":{ "name":"UpdateProject", "http":{ @@ -491,6 +608,20 @@ "buildsNotDeleted":{"shape":"BuildsNotDeleted"} } }, + "BatchGetBuildBatchesInput":{ + "type":"structure", + "required":["ids"], + "members":{ + "ids":{"shape":"BuildBatchIds"} + } + }, + "BatchGetBuildBatchesOutput":{ + "type":"structure", + "members":{ + "buildBatches":{"shape":"BuildBatches"}, + "buildBatchesNotFound":{"shape":"BuildBatchIds"} + } + }, "BatchGetBuildsInput":{ "type":"structure", "required":["ids"], @@ -547,6 +678,13 @@ "reportsNotFound":{"shape":"ReportArns"} } }, + "BatchRestrictions":{ + "type":"structure", + "members":{ + "maximumBuildsAllowed":{"shape":"WrapperInt"}, + "computeTypesAllowed":{"shape":"ComputeTypesAllowed"} + } + }, "Boolean":{"type":"boolean"}, "Build":{ "type":"structure", @@ -581,7 +719,8 @@ "exportedEnvironmentVariables":{"shape":"ExportedEnvironmentVariables"}, "reportArns":{"shape":"BuildReportArns"}, "fileSystemLocations":{"shape":"ProjectFileSystemLocations"}, - "debugSession":{"shape":"DebugSession"} + "debugSession":{"shape":"DebugSession"}, + "buildBatchArn":{"shape":"String"} } }, "BuildArtifacts":{ @@ -601,6 +740,99 @@ "max":12, "min":0 }, + "BuildBatch":{ + "type":"structure", + "members":{ + "id":{"shape":"NonEmptyString"}, + "arn":{"shape":"NonEmptyString"}, + "startTime":{"shape":"Timestamp"}, + "endTime":{"shape":"Timestamp"}, + "currentPhase":{"shape":"String"}, + "buildBatchStatus":{"shape":"StatusType"}, + "sourceVersion":{"shape":"NonEmptyString"}, + "resolvedSourceVersion":{"shape":"NonEmptyString"}, + "projectName":{"shape":"NonEmptyString"}, + "phases":{"shape":"BuildBatchPhases"}, + "source":{"shape":"ProjectSource"}, + "secondarySources":{"shape":"ProjectSources"}, + "secondarySourceVersions":{"shape":"ProjectSecondarySourceVersions"}, + "artifacts":{"shape":"BuildArtifacts"}, + "secondaryArtifacts":{"shape":"BuildArtifactsList"}, + "cache":{"shape":"ProjectCache"}, + "environment":{"shape":"ProjectEnvironment"}, + "serviceRole":{"shape":"NonEmptyString"}, + "logConfig":{"shape":"LogsConfig"}, + "buildTimeoutInMinutes":{"shape":"WrapperInt"}, + "queuedTimeoutInMinutes":{"shape":"WrapperInt"}, + "complete":{"shape":"Boolean"}, + "initiator":{"shape":"String"}, + "vpcConfig":{"shape":"VpcConfig"}, + "encryptionKey":{"shape":"NonEmptyString"}, + "buildBatchNumber":{"shape":"WrapperLong"}, + "fileSystemLocations":{"shape":"ProjectFileSystemLocations"}, + "buildBatchConfig":{"shape":"ProjectBuildBatchConfig"}, + "buildGroups":{"shape":"BuildGroups"} + } + }, + "BuildBatchFilter":{ + "type":"structure", + "members":{ + "status":{"shape":"StatusType"} + } + }, + "BuildBatchIds":{ + "type":"list", + "member":{"shape":"NonEmptyString"}, + "max":100, + "min":0 + }, + "BuildBatchPhase":{ + "type":"structure", + "members":{ + "phaseType":{"shape":"BuildBatchPhaseType"}, + "phaseStatus":{"shape":"StatusType"}, + "startTime":{"shape":"Timestamp"}, + "endTime":{"shape":"Timestamp"}, + "durationInSeconds":{"shape":"WrapperLong"}, + "contexts":{"shape":"PhaseContexts"} + } + }, + "BuildBatchPhaseType":{ + "type":"string", + "enum":[ + "SUBMITTED", + "DOWNLOAD_BATCHSPEC", + "IN_PROGRESS", + "COMBINE_ARTIFACTS", + "SUCCEEDED", + "FAILED", + "STOPPED" + ] + }, + "BuildBatchPhases":{ + "type":"list", + "member":{"shape":"BuildBatchPhase"} + }, + "BuildBatches":{ + "type":"list", + "member":{"shape":"BuildBatch"}, + "max":100, + "min":0 + }, + "BuildGroup":{ + "type":"structure", + "members":{ + "identifier":{"shape":"String"}, + "dependsOn":{"shape":"Identifiers"}, + "ignoreFailure":{"shape":"Boolean"}, + "currentBuildSummary":{"shape":"BuildSummary"}, + "priorBuildSummaryList":{"shape":"BuildSummaries"} + } + }, + "BuildGroups":{ + "type":"list", + "member":{"shape":"BuildGroup"} + }, "BuildIds":{ "type":"list", "member":{"shape":"NonEmptyString"}, @@ -656,6 +888,20 @@ "targetUrl":{"shape":"String"} } }, + "BuildSummaries":{ + "type":"list", + "member":{"shape":"BuildSummary"} + }, + "BuildSummary":{ + "type":"structure", + "members":{ + "arn":{"shape":"String"}, + "requestedOn":{"shape":"Timestamp"}, + "buildStatus":{"shape":"StatusType"}, + "primaryArtifact":{"shape":"ResolvedArtifact"}, + "secondaryArtifacts":{"shape":"ResolvedSecondaryArtifacts"} + } + }, "Builds":{ "type":"list", "member":{"shape":"Build"} @@ -689,6 +935,36 @@ "streamName":{"shape":"String"} } }, + "CodeCoverage":{ + "type":"structure", + "members":{ + "id":{"shape":"NonEmptyString"}, + "reportARN":{"shape":"NonEmptyString"}, + "filePath":{"shape":"NonEmptyString"}, + "lineCoveragePercentage":{"shape":"Percentage"}, + "linesCovered":{"shape":"NonNegativeInt"}, + "linesMissed":{"shape":"NonNegativeInt"}, + "branchCoveragePercentage":{"shape":"Percentage"}, + "branchesCovered":{"shape":"NonNegativeInt"}, + "branchesMissed":{"shape":"NonNegativeInt"}, + "expired":{"shape":"Timestamp"} + } + }, + "CodeCoverageReportSummary":{ + "type":"structure", + "members":{ + "lineCoveragePercentage":{"shape":"Percentage"}, + "linesCovered":{"shape":"NonNegativeInt"}, + "linesMissed":{"shape":"NonNegativeInt"}, + "branchCoveragePercentage":{"shape":"Percentage"}, + "branchesCovered":{"shape":"NonNegativeInt"}, + "branchesMissed":{"shape":"NonNegativeInt"} + } + }, + "CodeCoverages":{ + "type":"list", + "member":{"shape":"CodeCoverage"} + }, "ComputeType":{ "type":"string", "enum":[ @@ -698,6 +974,10 @@ "BUILD_GENERAL1_2XLARGE" ] }, + "ComputeTypesAllowed":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, "CreateProjectInput":{ "type":"structure", "required":[ @@ -726,7 +1006,8 @@ "vpcConfig":{"shape":"VpcConfig"}, "badgeEnabled":{"shape":"WrapperBoolean"}, "logsConfig":{"shape":"LogsConfig"}, - "fileSystemLocations":{"shape":"ProjectFileSystemLocations"} + "fileSystemLocations":{"shape":"ProjectFileSystemLocations"}, + "buildBatchConfig":{"shape":"ProjectBuildBatchConfig"} } }, "CreateProjectOutput":{ @@ -761,7 +1042,8 @@ "members":{ "projectName":{"shape":"ProjectName"}, "branchFilter":{"shape":"String"}, - "filterGroups":{"shape":"FilterGroups"} + "filterGroups":{"shape":"FilterGroups"}, + "buildType":{"shape":"WebhookBuildType"} } }, "CreateWebhookOutput":{ @@ -781,6 +1063,21 @@ "sessionTarget":{"shape":"NonEmptyString"} } }, + "DeleteBuildBatchInput":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{"shape":"NonEmptyString"} + } + }, + "DeleteBuildBatchOutput":{ + "type":"structure", + "members":{ + "statusCode":{"shape":"String"}, + "buildsDeleted":{"shape":"BuildIds"}, + "buildsNotDeleted":{"shape":"BuildsNotDeleted"} + } + }, "DeleteProjectInput":{ "type":"structure", "required":["name"], @@ -854,6 +1151,26 @@ "members":{ } }, + "DescribeCodeCoveragesInput":{ + "type":"structure", + "required":["reportArn"], + "members":{ + "reportArn":{"shape":"NonEmptyString"}, + "nextToken":{"shape":"String"}, + "maxResults":{"shape":"PageSize"}, + "sortOrder":{"shape":"SortOrderType"}, + "sortBy":{"shape":"ReportCodeCoverageSortByType"}, + "minLineCoveragePercentage":{"shape":"Percentage"}, + "maxLineCoveragePercentage":{"shape":"Percentage"} + } + }, + "DescribeCodeCoveragesOutput":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"String"}, + "codeCoverages":{"shape":"CodeCoverages"} + } + }, "DescribeTestCasesInput":{ "type":"structure", "required":["reportArn"], @@ -986,6 +1303,10 @@ "fetchSubmodules":{"shape":"WrapperBoolean"} } }, + "Identifiers":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, "ImagePullCredentialsType":{ "type":"string", "enum":[ @@ -1057,6 +1378,39 @@ "PHP" ] }, + "ListBuildBatchesForProjectInput":{ + "type":"structure", + "members":{ + "projectName":{"shape":"NonEmptyString"}, + "filter":{"shape":"BuildBatchFilter"}, + "maxResults":{"shape":"PageSize"}, + "sortOrder":{"shape":"SortOrderType"}, + "nextToken":{"shape":"String"} + } + }, + "ListBuildBatchesForProjectOutput":{ + "type":"structure", + "members":{ + "ids":{"shape":"BuildBatchIds"}, + "nextToken":{"shape":"String"} + } + }, + "ListBuildBatchesInput":{ + "type":"structure", + "members":{ + "filter":{"shape":"BuildBatchFilter"}, + "maxResults":{"shape":"PageSize"}, + "sortOrder":{"shape":"SortOrderType"}, + "nextToken":{"shape":"String"} + } + }, + "ListBuildBatchesOutput":{ + "type":"structure", + "members":{ + "ids":{"shape":"BuildBatchIds"}, + "nextToken":{"shape":"String"} + } + }, "ListBuildsForProjectInput":{ "type":"structure", "required":["projectName"], @@ -1244,6 +1598,10 @@ "type":"string", "min":1 }, + "NonNegativeInt":{ + "type":"integer", + "min":0 + }, "OAuthProviderException":{ "type":"structure", "members":{ @@ -1255,6 +1613,11 @@ "max":100, "min":1 }, + "Percentage":{ + "type":"double", + "max":100, + "min":0 + }, "PhaseContext":{ "type":"structure", "members":{ @@ -1300,7 +1663,8 @@ "vpcConfig":{"shape":"VpcConfig"}, "badge":{"shape":"ProjectBadge"}, "logsConfig":{"shape":"LogsConfig"}, - "fileSystemLocations":{"shape":"ProjectFileSystemLocations"} + "fileSystemLocations":{"shape":"ProjectFileSystemLocations"}, + "buildBatchConfig":{"shape":"ProjectBuildBatchConfig"} } }, "ProjectArns":{ @@ -1337,6 +1701,15 @@ "badgeRequestUrl":{"shape":"String"} } }, + "ProjectBuildBatchConfig":{ + "type":"structure", + "members":{ + "serviceRole":{"shape":"NonEmptyString"}, + "combineArtifacts":{"shape":"WrapperBoolean"}, + "restrictions":{"shape":"BatchRestrictions"}, + "timeoutInMins":{"shape":"WrapperInt"} + } + }, "ProjectCache":{ "type":"structure", "required":["type"], @@ -1491,7 +1864,8 @@ "expired":{"shape":"Timestamp"}, "exportConfig":{"shape":"ReportExportConfig"}, "truncated":{"shape":"WrapperBoolean"}, - "testSummary":{"shape":"TestReportSummary"} + "testSummary":{"shape":"TestReportSummary"}, + "codeCoverageSummary":{"shape":"CodeCoverageReportSummary"} } }, "ReportArns":{ @@ -1500,6 +1874,13 @@ "max":100, "min":1 }, + "ReportCodeCoverageSortByType":{ + "type":"string", + "enum":[ + "LINE_COVERAGE_PERCENTAGE", + "FILE_PATH" + ] + }, "ReportExportConfig":{ "type":"structure", "members":{ @@ -1581,7 +1962,10 @@ }, "ReportType":{ "type":"string", - "enum":["TEST"] + "enum":[ + "TEST", + "CODE_COVERAGE" + ] }, "Reports":{ "type":"list", @@ -1589,6 +1973,18 @@ "max":100, "min":1 }, + "ResolvedArtifact":{ + "type":"structure", + "members":{ + "type":{"shape":"ArtifactsType"}, + "location":{"shape":"String"}, + "identifier":{"shape":"String"} + } + }, + "ResolvedSecondaryArtifacts":{ + "type":"list", + "member":{"shape":"ResolvedArtifact"} + }, "ResourceAlreadyExistsException":{ "type":"structure", "members":{ @@ -1601,6 +1997,40 @@ }, "exception":true }, + "RetryBuildBatchInput":{ + "type":"structure", + "members":{ + "id":{"shape":"NonEmptyString"}, + "idempotencyToken":{"shape":"String"}, + "retryType":{"shape":"RetryBuildBatchType"} + } + }, + "RetryBuildBatchOutput":{ + "type":"structure", + "members":{ + "buildBatch":{"shape":"BuildBatch"} + } + }, + "RetryBuildBatchType":{ + "type":"string", + "enum":[ + "RETRY_ALL_BUILDS", + "RETRY_FAILED_BUILDS" + ] + }, + "RetryBuildInput":{ + "type":"structure", + "members":{ + "id":{"shape":"NonEmptyString"}, + "idempotencyToken":{"shape":"String"} + } + }, + "RetryBuildOutput":{ + "type":"structure", + "members":{ + "build":{"shape":"Build"} + } + }, "S3LogsConfig":{ "type":"structure", "required":["status"], @@ -1688,6 +2118,48 @@ "NO_SOURCE" ] }, + "StartBuildBatchInput":{ + "type":"structure", + "required":["projectName"], + "members":{ + "projectName":{"shape":"NonEmptyString"}, + "secondarySourcesOverride":{"shape":"ProjectSources"}, + "secondarySourcesVersionOverride":{"shape":"ProjectSecondarySourceVersions"}, + "sourceVersion":{"shape":"String"}, + "artifactsOverride":{"shape":"ProjectArtifacts"}, + "secondaryArtifactsOverride":{"shape":"ProjectArtifactsList"}, + "environmentVariablesOverride":{"shape":"EnvironmentVariables"}, + "sourceTypeOverride":{"shape":"SourceType"}, + "sourceLocationOverride":{"shape":"String"}, + "sourceAuthOverride":{"shape":"SourceAuth"}, + "gitCloneDepthOverride":{"shape":"GitCloneDepth"}, + "gitSubmodulesConfigOverride":{"shape":"GitSubmodulesConfig"}, + "buildspecOverride":{"shape":"String"}, + "insecureSslOverride":{"shape":"WrapperBoolean"}, + "reportBuildBatchStatusOverride":{"shape":"WrapperBoolean"}, + "environmentTypeOverride":{"shape":"EnvironmentType"}, + "imageOverride":{"shape":"NonEmptyString"}, + "computeTypeOverride":{"shape":"ComputeType"}, + "certificateOverride":{"shape":"String"}, + "cacheOverride":{"shape":"ProjectCache"}, + "serviceRoleOverride":{"shape":"NonEmptyString"}, + "privilegedModeOverride":{"shape":"WrapperBoolean"}, + "buildTimeoutInMinutesOverride":{"shape":"TimeOut"}, + "queuedTimeoutInMinutesOverride":{"shape":"TimeOut"}, + "encryptionKeyOverride":{"shape":"NonEmptyString"}, + "idempotencyToken":{"shape":"String"}, + "logsConfigOverride":{"shape":"LogsConfig"}, + "registryCredentialOverride":{"shape":"RegistryCredential"}, + "imagePullCredentialsTypeOverride":{"shape":"ImagePullCredentialsType"}, + "buildBatchConfigOverride":{"shape":"ProjectBuildBatchConfig"} + } + }, + "StartBuildBatchOutput":{ + "type":"structure", + "members":{ + "buildBatch":{"shape":"BuildBatch"} + } + }, "StartBuildInput":{ "type":"structure", "required":["projectName"], @@ -1742,6 +2214,19 @@ "STOPPED" ] }, + "StopBuildBatchInput":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{"shape":"NonEmptyString"} + } + }, + "StopBuildBatchOutput":{ + "type":"structure", + "members":{ + "buildBatch":{"shape":"BuildBatch"} + } + }, "StopBuildInput":{ "type":"structure", "required":["id"], @@ -1838,7 +2323,8 @@ "vpcConfig":{"shape":"VpcConfig"}, "badgeEnabled":{"shape":"WrapperBoolean"}, "logsConfig":{"shape":"LogsConfig"}, - "fileSystemLocations":{"shape":"ProjectFileSystemLocations"} + "fileSystemLocations":{"shape":"ProjectFileSystemLocations"}, + "buildBatchConfig":{"shape":"ProjectBuildBatchConfig"} } }, "UpdateProjectOutput":{ @@ -1869,7 +2355,8 @@ "projectName":{"shape":"ProjectName"}, "branchFilter":{"shape":"String"}, "rotateSecret":{"shape":"Boolean"}, - "filterGroups":{"shape":"FilterGroups"} + "filterGroups":{"shape":"FilterGroups"}, + "buildType":{"shape":"WebhookBuildType"} } }, "UpdateWebhookOutput":{ @@ -1900,9 +2387,17 @@ "secret":{"shape":"NonEmptyString"}, "branchFilter":{"shape":"String"}, "filterGroups":{"shape":"FilterGroups"}, + "buildType":{"shape":"WebhookBuildType"}, "lastModifiedSecret":{"shape":"Timestamp"} } }, + "WebhookBuildType":{ + "type":"string", + "enum":[ + "BUILD", + "BUILD_BATCH" + ] + }, "WebhookFilter":{ "type":"structure", "required":[ diff --git a/models/apis/codebuild/2016-10-06/docs-2.json b/models/apis/codebuild/2016-10-06/docs-2.json index 94ab5f9c037..928990300dc 100644 --- a/models/apis/codebuild/2016-10-06/docs-2.json +++ b/models/apis/codebuild/2016-10-06/docs-2.json @@ -3,6 +3,7 @@ "service": "AWS CodeBuild

AWS CodeBuild is a fully managed build service in the cloud. AWS CodeBuild compiles your source code, runs unit tests, and produces artifacts that are ready to deploy. AWS CodeBuild eliminates the need to provision, manage, and scale your own build servers. It provides prepackaged build environments for the most popular programming languages and build tools, such as Apache Maven, Gradle, and more. You can also fully customize build environments in AWS CodeBuild to use your own build tools. AWS CodeBuild scales automatically to meet peak build requests. You pay only for the build time you consume. For more information about AWS CodeBuild, see the AWS CodeBuild User Guide.

AWS CodeBuild supports these operations:

", "operations": { "BatchDeleteBuilds": "

Deletes one or more builds.

", + "BatchGetBuildBatches": "

Retrieves information about one or more batch builds.

", "BatchGetBuilds": "

Gets information about one or more builds.

", "BatchGetProjects": "

Gets information about one or more build projects.

", "BatchGetReportGroups": "

Returns an array of report groups.

", @@ -10,16 +11,20 @@ "CreateProject": "

Creates a build project.

", "CreateReportGroup": "

Creates a report group. A report group contains a collection of reports.

", "CreateWebhook": "

For an existing AWS CodeBuild build project that has its source code stored in a GitHub or Bitbucket repository, enables AWS CodeBuild to start rebuilding the source code every time a code change is pushed to the repository.

If you enable webhooks for an AWS CodeBuild project, and the project is used as a build step in AWS CodePipeline, then two identical builds are created for each commit. One build is triggered through webhooks, and one through AWS CodePipeline. Because billing is on a per-build basis, you are billed for both builds. Therefore, if you are using AWS CodePipeline, we recommend that you disable webhooks in AWS CodeBuild. In the AWS CodeBuild console, clear the Webhook box. For more information, see step 5 in Change a Build Project's Settings.

", + "DeleteBuildBatch": "

Deletes a batch build.

", "DeleteProject": "

Deletes a build project. When you delete a project, its builds are not deleted.

", "DeleteReport": "

Deletes a report.

", "DeleteReportGroup": "

DeleteReportGroup: Deletes a report group. Before you delete a report group, you must delete its reports. Use ListReportsForReportGroup to get the reports in a report group. Use DeleteReport to delete the reports. If you call DeleteReportGroup for a report group that contains one or more reports, an exception is thrown.

", "DeleteResourcePolicy": "

Deletes a resource policy that is identified by its resource ARN.

", "DeleteSourceCredentials": "

Deletes a set of GitHub, GitHub Enterprise, or Bitbucket source credentials.

", "DeleteWebhook": "

For an existing AWS CodeBuild build project that has its source code stored in a GitHub or Bitbucket repository, stops AWS CodeBuild from rebuilding the source code every time a code change is pushed to the repository.

", + "DescribeCodeCoverages": "

Retrieves one or more code coverage reports.

", "DescribeTestCases": "

Returns a list of details about test cases for a report.

", "GetResourcePolicy": "

Gets a resource policy that is identified by its resource ARN.

", "ImportSourceCredentials": "

Imports the source repository credentials for an AWS CodeBuild project that has its source code stored in a GitHub, GitHub Enterprise, or Bitbucket repository.

", "InvalidateProjectCache": "

Resets the cache for a project.

", + "ListBuildBatches": "

Retrieves the identifiers of your build batches in the current region.

", + "ListBuildBatchesForProject": "

Retrieves the identifiers of the build batches for a specific project.

", "ListBuilds": "

Gets a list of build IDs, with each build ID representing a single build.

", "ListBuildsForProject": "

Gets a list of build IDs for the specified build project, with each build ID representing a single build.

", "ListCuratedEnvironmentImages": "

Gets information about Docker images that are managed by AWS CodeBuild.

", @@ -31,8 +36,12 @@ "ListSharedReportGroups": "

Gets a list of report groups that are shared with other AWS accounts or users.

", "ListSourceCredentials": "

Returns a list of SourceCredentialsInfo objects.

", "PutResourcePolicy": "

Stores a resource policy for the ARN of a Project or ReportGroup object.

", + "RetryBuild": "

Restarts a build.

", + "RetryBuildBatch": "

Restarts a batch build.

", "StartBuild": "

Starts running a build.

", + "StartBuildBatch": "

Starts a batch build for a project.

", "StopBuild": "

Attempts to stop running a build.

", + "StopBuildBatch": "

Stops a running batch build.

", "UpdateProject": "

Changes the settings of a build project.

", "UpdateReportGroup": "

Updates a report group.

", "UpdateWebhook": "

Updates the webhook associated with an AWS CodeBuild build project.

If you use Bitbucket for your repository, rotateSecret is ignored.

" @@ -58,7 +67,8 @@ "ArtifactsType": { "base": null, "refs": { - "ProjectArtifacts$type": "

The type of build output artifact. Valid values include:

" + "ProjectArtifacts$type": "

The type of build output artifact. Valid values include:

", + "ResolvedArtifact$type": "

Specifies the type of artifact.

" } }, "AuthType": { @@ -78,6 +88,16 @@ "refs": { } }, + "BatchGetBuildBatchesInput": { + "base": null, + "refs": { + } + }, + "BatchGetBuildBatchesOutput": { + "base": null, + "refs": { + } + }, "BatchGetBuildsInput": { "base": null, "refs": { @@ -118,10 +138,18 @@ "refs": { } }, + "BatchRestrictions": { + "base": "

Specifies restrictions for the batch build.

", + "refs": { + "ProjectBuildBatchConfig$restrictions": "

A BatchRestrictions object that specifies the restrictions for the batch build.

" + } + }, "Boolean": { "base": null, "refs": { "Build$buildComplete": "

Whether the build is complete. True if complete; otherwise, false.

", + "BuildBatch$complete": "

Indicates if the batch build is complete.

", + "BuildGroup$ignoreFailure": "

Specifies if failures in this build group can be ignored.

", "ProjectBadge$badgeEnabled": "

Set this to true to generate a publicly accessible URL for your project's build badge.

", "UpdateWebhookInput$rotateSecret": "

A boolean value that specifies whether the associated GitHub repository's secret token should be updated. If you use Bitbucket for your repository, rotateSecret is ignored.

" } @@ -130,6 +158,7 @@ "base": "

Information about a build.

", "refs": { "Builds$member": null, + "RetryBuildOutput$build": null, "StartBuildOutput$build": "

Information about the build to be run.

", "StopBuildOutput$build": "

Information about the build.

" } @@ -138,13 +167,76 @@ "base": "

Information about build output artifacts.

", "refs": { "Build$artifacts": "

Information about the output artifacts for the build.

", - "BuildArtifactsList$member": null + "BuildArtifactsList$member": null, + "BuildBatch$artifacts": "

A BuildArtifacts object the defines the build artifacts for this batch build.

" } }, "BuildArtifactsList": { "base": null, "refs": { - "Build$secondaryArtifacts": "

An array of ProjectArtifacts objects.

" + "Build$secondaryArtifacts": "

An array of ProjectArtifacts objects.

", + "BuildBatch$secondaryArtifacts": "

An array of BuildArtifacts objects the define the build artifacts for this batch build.

" + } + }, + "BuildBatch": { + "base": "

Contains information about a batch build.

", + "refs": { + "BuildBatches$member": null, + "RetryBuildBatchOutput$buildBatch": null, + "StartBuildBatchOutput$buildBatch": "

A BuildBatch object that contains information about the batch build.

", + "StopBuildBatchOutput$buildBatch": null + } + }, + "BuildBatchFilter": { + "base": "

Specifies filters when retrieving batch builds.

", + "refs": { + "ListBuildBatchesForProjectInput$filter": "

A BuildBatchFilter object that specifies the filters for the search.

", + "ListBuildBatchesInput$filter": "

A BuildBatchFilter object that specifies the filters for the search.

" + } + }, + "BuildBatchIds": { + "base": null, + "refs": { + "BatchGetBuildBatchesInput$ids": "

An array that contains the batch build identifiers to retrieve.

", + "BatchGetBuildBatchesOutput$buildBatchesNotFound": "

An array that contains the identifiers of any batch builds that are not found.

", + "ListBuildBatchesForProjectOutput$ids": "

An array of strings that contains the batch build identifiers.

", + "ListBuildBatchesOutput$ids": "

An array of strings that contains the batch build identifiers.

" + } + }, + "BuildBatchPhase": { + "base": "

Contains information about a stage for a batch build.

", + "refs": { + "BuildBatchPhases$member": null + } + }, + "BuildBatchPhaseType": { + "base": null, + "refs": { + "BuildBatchPhase$phaseType": "

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.

" + } + }, + "BuildBatchPhases": { + "base": null, + "refs": { + "BuildBatch$phases": "

An array of BuildBatchPhase objects the specify the phases of the batch build.

" + } + }, + "BuildBatches": { + "base": null, + "refs": { + "BatchGetBuildBatchesOutput$buildBatches": "

An array of BuildBatch objects that represent the retrieved batch builds.

" + } + }, + "BuildGroup": { + "base": "

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.

", + "refs": { + "BuildGroups$member": null + } + }, + "BuildGroups": { + "base": null, + "refs": { + "BuildBatch$buildGroups": "

An array of BuildGroup objects that define the build groups for the batch build.

" } }, "BuildIds": { @@ -154,6 +246,7 @@ "BatchDeleteBuildsOutput$buildsDeleted": "

The IDs of the builds that were successfully deleted.

", "BatchGetBuildsInput$ids": "

The IDs of the builds.

", "BatchGetBuildsOutput$buildsNotFound": "

The IDs of builds for which information could not be found.

", + "DeleteBuildBatchOutput$buildsDeleted": "

An array of strings that contain the identifiers of the builds that were deleted.

", "ListBuildsForProjectOutput$ids": "

A list of build IDs for the specified build project, with each build ID representing a single build.

", "ListBuildsOutput$ids": "

A list of build IDs, with each build ID representing a single build.

" } @@ -195,6 +288,19 @@ "StartBuildInput$buildStatusConfigOverride": "

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.

" } }, + "BuildSummaries": { + "base": null, + "refs": { + "BuildGroup$priorBuildSummaryList": "

An array of BuildSummary objects that contain summaries of previous build groups.

" + } + }, + "BuildSummary": { + "base": "

Contains summary information about a batch build group.

", + "refs": { + "BuildGroup$currentBuildSummary": "

A BuildSummary object that contains a summary of the current build group.

", + "BuildSummaries$member": null + } + }, "Builds": { "base": null, "refs": { @@ -204,7 +310,8 @@ "BuildsNotDeleted": { "base": null, "refs": { - "BatchDeleteBuildsOutput$buildsNotDeleted": "

Information about any builds that could not be successfully deleted.

" + "BatchDeleteBuildsOutput$buildsNotDeleted": "

Information about any builds that could not be successfully deleted.

", + "DeleteBuildBatchOutput$buildsNotDeleted": "

An array of BuildNotDeleted objects that specify the builds that could not be deleted.

" } }, "CacheMode": { @@ -226,13 +333,38 @@ "LogsLocation$cloudWatchLogs": "

Information about Amazon CloudWatch Logs for a build project.

" } }, + "CodeCoverage": { + "base": "

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.

", + "refs": { + "CodeCoverages$member": null + } + }, + "CodeCoverageReportSummary": { + "base": "

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.

", + "refs": { + "Report$codeCoverageSummary": "

A CodeCoverageReportSummary object that contains a code coverage summary for this report.

" + } + }, + "CodeCoverages": { + "base": null, + "refs": { + "DescribeCodeCoveragesOutput$codeCoverages": "

An array of CodeCoverage objects that contain the results.

" + } + }, "ComputeType": { "base": null, "refs": { "ProjectEnvironment$computeType": "

Information about the compute resources the build project uses. Available values include:

If you use BUILD_GENERAL1_LARGE:

For more information, see Build Environment Compute Types in the AWS CodeBuild User Guide.

", + "StartBuildBatchInput$computeTypeOverride": "

The name of a compute type for this batch build that overrides the one specified in the batch build project.

", "StartBuildInput$computeTypeOverride": "

The name of a compute type for this build that overrides the one specified in the build project.

" } }, + "ComputeTypesAllowed": { + "base": null, + "refs": { + "BatchRestrictions$computeTypesAllowed": "

An array of strings that specify the compute types that are allowed for the batch build. See Build environment compute types in the AWS CodeBuild User Guide for these values.

" + } + }, "CreateProjectInput": { "base": null, "refs": { @@ -275,6 +407,16 @@ "Build$debugSession": "

Contains information about the debug session for this build.

" } }, + "DeleteBuildBatchInput": { + "base": null, + "refs": { + } + }, + "DeleteBuildBatchOutput": { + "base": null, + "refs": { + } + }, "DeleteProjectInput": { "base": null, "refs": { @@ -335,6 +477,16 @@ "refs": { } }, + "DescribeCodeCoveragesInput": { + "base": null, + "refs": { + } + }, + "DescribeCodeCoveragesOutput": { + "base": null, + "refs": { + } + }, "DescribeTestCasesInput": { "base": null, "refs": { @@ -385,6 +537,7 @@ "base": null, "refs": { "ProjectEnvironment$type": "

The type of build environment to use for related builds.

", + "StartBuildBatchInput$environmentTypeOverride": "

A container type for this batch build that overrides the one specified in the batch build project.

", "StartBuildInput$environmentTypeOverride": "

A container type for this build that overrides the one specified in the build project.

" } }, @@ -404,6 +557,7 @@ "base": null, "refs": { "ProjectEnvironment$environmentVariables": "

A set of environment variables to make available to builds for this build project.

", + "StartBuildBatchInput$environmentVariablesOverride": "

An array of EnvironmentVariable objects that override, or add to, the environment variables defined in the batch build project.

", "StartBuildInput$environmentVariablesOverride": "

A set of environment variables that overrides, for this build only, the latest ones already defined in the build project.

" } }, @@ -434,9 +588,9 @@ "FilterGroups": { "base": null, "refs": { - "CreateWebhookInput$filterGroups": "

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.

", + "CreateWebhookInput$filterGroups": "

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.

", "UpdateWebhookInput$filterGroups": "

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.

", - "Webhook$filterGroups": "

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.

" + "Webhook$filterGroups": "

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.

" } }, "GetResourcePolicyInput": { @@ -453,6 +607,7 @@ "base": null, "refs": { "ProjectSource$gitCloneDepth": "

Information about the Git clone depth for the build project.

", + "StartBuildBatchInput$gitCloneDepthOverride": "

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.

", "StartBuildInput$gitCloneDepthOverride": "

The user-defined depth of history, with a minimum value of 0, that overrides, for this build only, any previous depth of history defined in the build project.

" } }, @@ -460,14 +615,22 @@ "base": "

Information about the Git submodules configuration for an AWS CodeBuild build project.

", "refs": { "ProjectSource$gitSubmodulesConfig": "

Information about the Git submodules configuration for the build project.

", + "StartBuildBatchInput$gitSubmodulesConfigOverride": "

A GitSubmodulesConfig object that overrides the Git submodules configuration for this batch build.

", "StartBuildInput$gitSubmodulesConfigOverride": "

Information about the Git submodules configuration for this build of an AWS CodeBuild build project.

" } }, + "Identifiers": { + "base": null, + "refs": { + "BuildGroup$dependsOn": "

An array of strings that contain the identifiers of the build groups that this build group depends on.

" + } + }, "ImagePullCredentialsType": { "base": null, "refs": { "ProjectEnvironment$imagePullCredentialsType": "

The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid values:

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.

", - "StartBuildInput$imagePullCredentialsTypeOverride": "

The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid values:

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.

" + "StartBuildBatchInput$imagePullCredentialsTypeOverride": "

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.

", + "StartBuildInput$imagePullCredentialsTypeOverride": "

The type of credentials AWS CodeBuild uses to pull images in your build. There are two valid values:

CODEBUILD

Specifies that AWS CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust AWS CodeBuild's service principal.

SERVICE_ROLE

Specifies that AWS CodeBuild uses your build project's service role.

When using a cross-account or private registry image, you must use SERVICE_ROLE credentials. When using an AWS CodeBuild curated image, you must use CODEBUILD credentials.

" } }, "ImageVersions": { @@ -513,6 +676,26 @@ "EnvironmentLanguage$language": "

The programming language for the Docker images.

" } }, + "ListBuildBatchesForProjectInput": { + "base": null, + "refs": { + } + }, + "ListBuildBatchesForProjectOutput": { + "base": null, + "refs": { + } + }, + "ListBuildBatchesInput": { + "base": null, + "refs": { + } + }, + "ListBuildBatchesOutput": { + "base": null, + "refs": { + } + }, "ListBuildsForProjectInput": { "base": null, "refs": { @@ -616,8 +799,10 @@ "LogsConfig": { "base": "

Information about logs for a build project. These can be logs in Amazon CloudWatch Logs, built in a specified S3 bucket, or both.

", "refs": { - "CreateProjectInput$logsConfig": "

Information about logs for the build project. These can be logs in Amazon CloudWatch Logs, logs uploaded to a specified S3 bucket, or both.

", - "Project$logsConfig": "

Information about logs for the build project. A project can create logs in Amazon CloudWatch Logs, an S3 bucket, or both.

", + "BuildBatch$logConfig": null, + "CreateProjectInput$logsConfig": "

Information about logs for the build project. These can be logs in Amazon CloudWatch Logs, logs uploaded to a specified S3 bucket, or both.

", + "Project$logsConfig": "

Information about logs for the build project. A project can create logs in Amazon CloudWatch Logs, an S3 bucket, or both.

", + "StartBuildBatchInput$logsConfigOverride": "

A LogsConfig object that override the log settings defined in the batch build project.

", "StartBuildInput$logsConfigOverride": "

Log settings for this build that override the log settings defined in the build project.

", "UpdateProjectInput$logsConfig": "

Information about logs for the build project. A project can create logs in Amazon CloudWatch Logs, logs in an S3 bucket, or both.

" } @@ -651,32 +836,49 @@ "Build$projectName": "

The name of the AWS CodeBuild project.

", "Build$serviceRole": "

The name of a service role used for this build.

", "Build$encryptionKey": "

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 ).

", + "BuildBatch$id": "

The identifier of the batch build.

", + "BuildBatch$arn": "

The ARN of the batch build.

", + "BuildBatch$sourceVersion": "

The identifier of the version of the source code to be built.

", + "BuildBatch$resolvedSourceVersion": "

The identifier of the resolved version of this batch build's source code.

", + "BuildBatch$projectName": "

The name of the batch build project.

", + "BuildBatch$serviceRole": "

The name of a service role used for builds in the batch.

", + "BuildBatch$encryptionKey": "

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 ).

", + "BuildBatchIds$member": null, "BuildIds$member": null, "BuildNotDeleted$id": "

The ID of the build that could not be successfully deleted.

", + "CodeCoverage$id": "

The identifier of the code coverage report.

", + "CodeCoverage$reportARN": "

The ARN of the report.

", + "CodeCoverage$filePath": "

The path of the test report file.

", + "ComputeTypesAllowed$member": null, "CreateProjectInput$serviceRole": "

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.

", - "CreateProjectInput$encryptionKey": "

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 ).

", + "CreateProjectInput$encryptionKey": "

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 ).

", "DebugSession$sessionTarget": "

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.

", + "DeleteBuildBatchInput$id": "

The identifier of the batch build to delete.

", "DeleteProjectInput$name": "

The name of the build project.

", "DeleteReportGroupInput$arn": "

The ARN of the report group to delete.

", "DeleteReportInput$arn": "

The ARN of the report to delete.

", "DeleteResourcePolicyInput$resourceArn": "

The ARN of the resource that is associated with the resource policy.

", "DeleteSourceCredentialsInput$arn": "

The Amazon Resource Name (ARN) of the token.

", "DeleteSourceCredentialsOutput$arn": "

The Amazon Resource Name (ARN) of the token.

", + "DescribeCodeCoveragesInput$reportArn": "

The ARN of the report for which test cases are returned.

", "EnvironmentVariable$name": "

The name or key of the environment variable.

", "ExportedEnvironmentVariable$name": "

The name of this exported environment variable.

", "GetResourcePolicyInput$resourceArn": "

The ARN of the resource that is associated with the resource policy.

", "GetResourcePolicyOutput$policy": "

The resource policy for the resource identified by the input ARN parameter.

", + "Identifiers$member": null, "ImportSourceCredentialsInput$username": "

The Bitbucket username when the authType is BASIC_AUTH. This parameter is not valid for other types of source providers or connections.

", "ImportSourceCredentialsOutput$arn": "

The Amazon Resource Name (ARN) of the token.

", "InvalidateProjectCacheInput$projectName": "

The name of the AWS CodeBuild build project that the cache is reset for.

", + "ListBuildBatchesForProjectInput$projectName": "

The name of the project.

", "ListBuildsForProjectInput$projectName": "

The name of the AWS CodeBuild project.

", "ListProjectsInput$nextToken": "

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.

", "ListSharedProjectsInput$nextToken": "

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.

", "NetworkInterface$subnetId": "

The ID of the subnet.

", "NetworkInterface$networkInterfaceId": "

The ID of the network interface.

", "Project$serviceRole": "

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.

", - "Project$encryptionKey": "

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 ).

", + "Project$encryptionKey": "

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 ).

", "ProjectArns$member": null, + "ProjectBuildBatchConfig$serviceRole": "

Specifies the service role ARN for the batch build project.

", "ProjectEnvironment$image": "

The image tag or image digest that identifies the Docker image to use for this build project. Use the following formats:

", "ProjectNames$member": null, "PutResourcePolicyInput$policy": "

A JSON-formatted resource policy. For more information, see Sharing a Project and Sharing a Report Group in the AWS CodeBuild User Guide.

", @@ -688,14 +890,21 @@ "ReportArns$member": null, "ReportGroup$arn": "

The ARN of a ReportGroup.

", "ReportGroupArns$member": null, + "RetryBuildBatchInput$id": "

Specifies the identifier of the batch build to restart.

", + "RetryBuildInput$id": "

Specifies the identifier of the build to restart.

", "S3ReportExportConfig$bucket": "

The name of the S3 bucket where the raw data of a report are exported.

", "S3ReportExportConfig$encryptionKey": "

The encryption key for the report's encrypted raw data.

", "SecurityGroupIds$member": null, "SourceCredentialsInfo$arn": "

The Amazon Resource Name (ARN) of the token.

", + "StartBuildBatchInput$projectName": "

The name of the project.

", + "StartBuildBatchInput$imageOverride": "

The name of an image for this batch build that overrides the one specified in the batch build project.

", + "StartBuildBatchInput$serviceRoleOverride": "

The name of a service role for this batch build that overrides the one specified in the batch build project.

", + "StartBuildBatchInput$encryptionKeyOverride": "

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 ).

", "StartBuildInput$projectName": "

The name of the AWS CodeBuild build project to start running a build.

", "StartBuildInput$imageOverride": "

The name of an image for this build that overrides the one specified in the build project.

", "StartBuildInput$serviceRoleOverride": "

The name of a service role for this build that overrides the one specified in the build project.

", "StartBuildInput$encryptionKeyOverride": "

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.

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 ).

", + "StopBuildBatchInput$id": "

The identifier of the batch build to stop.

", "StopBuildInput$id": "

The ID of the build.

", "Subnets$member": null, "TestCase$reportArn": "

The ARN of the report to which the test case belongs.

", @@ -705,8 +914,21 @@ "UpdateReportGroupInput$arn": "

The ARN of the report group to update.

", "VpcConfig$vpcId": "

The ID of the Amazon VPC.

", "Webhook$url": "

The URL to the webhook.

", - "Webhook$payloadUrl": "

The AWS CodeBuild endpoint where webhook events are sent.

", - "Webhook$secret": "

The secret token of the associated repository.

A Bitbucket webhook does not support secret.

" + "Webhook$payloadUrl": "

The AWS CodeBuild endpoint where webhook events are sent.

", + "Webhook$secret": "

The secret token of the associated repository.

A Bitbucket webhook does not support secret.

" + } + }, + "NonNegativeInt": { + "base": null, + "refs": { + "CodeCoverage$linesCovered": "

The number of lines that are covered by your tests.

", + "CodeCoverage$linesMissed": "

The number of lines that are not covered by your tests.

", + "CodeCoverage$branchesCovered": "

The number of conditional branches that are covered by your tests.

", + "CodeCoverage$branchesMissed": "

The number of conditional branches that are not covered by your tests.

", + "CodeCoverageReportSummary$linesCovered": "

The number of lines that are covered by your tests.

", + "CodeCoverageReportSummary$linesMissed": "

The number of lines that are not covered by your tests.

", + "CodeCoverageReportSummary$branchesCovered": "

The number of conditional branches that are covered by your tests.

", + "CodeCoverageReportSummary$branchesMissed": "

The number of conditional branches that are not covered by your tests.

" } }, "OAuthProviderException": { @@ -717,7 +939,10 @@ "PageSize": { "base": null, "refs": { + "DescribeCodeCoveragesInput$maxResults": "

The maximum number of results to return.

", "DescribeTestCasesInput$maxResults": "

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.

", + "ListBuildBatchesForProjectInput$maxResults": "

The maximum number of results to return.

", + "ListBuildBatchesInput$maxResults": "

The maximum number of results to return.

", "ListReportGroupsInput$maxResults": "

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.

", "ListReportsForReportGroupInput$maxResults": "

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.

", "ListReportsInput$maxResults": "

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.

", @@ -725,6 +950,17 @@ "ListSharedReportGroupsInput$maxResults": "

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.

" } }, + "Percentage": { + "base": null, + "refs": { + "CodeCoverage$lineCoveragePercentage": "

The percentage of lines that are covered by your tests.

", + "CodeCoverage$branchCoveragePercentage": "

The percentage of branches that are covered by your tests.

", + "CodeCoverageReportSummary$lineCoveragePercentage": "

The percentage of lines that are covered by your tests.

", + "CodeCoverageReportSummary$branchCoveragePercentage": "

The percentage of branches that are covered by your tests.

", + "DescribeCodeCoveragesInput$minLineCoveragePercentage": "

The minimum line coverage percentage to report.

", + "DescribeCodeCoveragesInput$maxLineCoveragePercentage": "

The maximum line coverage percentage to report.

" + } + }, "PhaseContext": { "base": "

Additional information about a build phase that has an error. You can use this information for troubleshooting.

", "refs": { @@ -734,6 +970,7 @@ "PhaseContexts": { "base": null, "refs": { + "BuildBatchPhase$contexts": "

Additional information about the batch build phase. Especially to help troubleshoot a failed btach build.

", "BuildPhase$contexts": "

Additional information about a build phase, especially to help troubleshoot a failed build.

" } }, @@ -763,6 +1000,7 @@ "CreateProjectInput$artifacts": "

Information about the build output artifacts for the build project.

", "Project$artifacts": "

Information about the build output artifacts for the build project.

", "ProjectArtifactsList$member": null, + "StartBuildBatchInput$artifactsOverride": "

An array of ProjectArtifacts objects that contains information about the build output artifact overrides for the build project.

", "StartBuildInput$artifactsOverride": "

Build output artifact settings that override, for this build only, the latest ones already defined in the build project.

", "UpdateProjectInput$artifacts": "

Information to be changed about the build output artifacts for the build project.

" } @@ -770,8 +1008,9 @@ "ProjectArtifactsList": { "base": null, "refs": { - "CreateProjectInput$secondaryArtifacts": "

An array of ProjectArtifacts objects.

", - "Project$secondaryArtifacts": "

An array of ProjectArtifacts objects.

", + "CreateProjectInput$secondaryArtifacts": "

An array of ProjectArtifacts objects.

", + "Project$secondaryArtifacts": "

An array of ProjectArtifacts objects.

", + "StartBuildBatchInput$secondaryArtifactsOverride": "

An array of ProjectArtifacts objects that override the secondary artifacts defined in the batch build project.

", "StartBuildInput$secondaryArtifactsOverride": "

An array of ProjectArtifacts objects.

", "UpdateProjectInput$secondaryArtifacts": "

An array of ProjectSource objects.

" } @@ -782,12 +1021,24 @@ "Project$badge": "

Information about the build badge for the build project.

" } }, + "ProjectBuildBatchConfig": { + "base": "

Contains configuration information about a batch build project.

", + "refs": { + "BuildBatch$buildBatchConfig": null, + "CreateProjectInput$buildBatchConfig": "

A ProjectBuildBatchConfig object that defines the batch build options for the project.

", + "Project$buildBatchConfig": "

A ProjectBuildBatchConfig object that defines the batch build options for the project.

", + "StartBuildBatchInput$buildBatchConfigOverride": "

A BuildBatchConfigOverride object that contains batch build configuration overrides.

", + "UpdateProjectInput$buildBatchConfig": null + } + }, "ProjectCache": { "base": "

Information about the cache for the build project.

", "refs": { "Build$cache": "

Information about the cache for the build.

", + "BuildBatch$cache": null, "CreateProjectInput$cache": "

Stores recently used information so that it can be quickly accessed at a later time.

", "Project$cache": "

Information about the cache for the build project.

", + "StartBuildBatchInput$cacheOverride": "

A ProjectCache object that specifies cache overrides.

", "StartBuildInput$cacheOverride": "

A ProjectCache object specified for this build that overrides the one defined in the build project.

", "UpdateProjectInput$cache": "

Stores recently used information so that it can be quickly accessed at a later time.

" } @@ -810,6 +1061,7 @@ "base": "

Information about the build environment of the build project.

", "refs": { "Build$environment": "

Information about the build environment for this build.

", + "BuildBatch$environment": null, "CreateProjectInput$environment": "

Information about the build environment for the build project.

", "Project$environment": "

Information about the build environment for this build project.

", "UpdateProjectInput$environment": "

Information to be changed about the build environment for the build project.

" @@ -825,6 +1077,7 @@ "base": null, "refs": { "Build$fileSystemLocations": "

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.

", + "BuildBatch$fileSystemLocations": "

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.

", "CreateProjectInput$fileSystemLocations": "

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.

", "Project$fileSystemLocations": "

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.

", "UpdateProjectInput$fileSystemLocations": "

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.

" @@ -852,8 +1105,10 @@ "base": null, "refs": { "Build$secondarySourceVersions": "

An array of ProjectSourceVersion objects. Each ProjectSourceVersion must be one of:

", - "CreateProjectInput$secondarySourceVersions": "

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take precedence over these secondarySourceVersions (at the project level).

", - "Project$secondarySourceVersions": "

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take over these secondarySourceVersions (at the project level).

", + "BuildBatch$secondarySourceVersions": "

An array of ProjectSourceVersion objects. Each ProjectSourceVersion must be one of:

", + "CreateProjectInput$secondarySourceVersions": "

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take precedence over these secondarySourceVersions (at the project level).

", + "Project$secondarySourceVersions": "

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take over these secondarySourceVersions (at the project level).

", + "StartBuildBatchInput$secondarySourcesVersionOverride": "

An array of ProjectSourceVersion objects that override the secondary source versions in the batch build project.

", "StartBuildInput$secondarySourcesVersionOverride": "

An array of ProjectSourceVersion objects that specify one or more versions of the project's secondary sources to be used for this build only.

", "UpdateProjectInput$secondarySourceVersions": "

An array of ProjectSourceVersion objects. If secondarySourceVersions is specified at the build level, then they take over these secondarySourceVersions (at the project level).

" } @@ -868,6 +1123,7 @@ "base": "

Information about the build input source code for the build project.

", "refs": { "Build$source": "

Information about the source code to be built.

", + "BuildBatch$source": null, "CreateProjectInput$source": "

Information about the build input source code for the build project.

", "Project$source": "

Information about the build input source code for this build project.

", "ProjectSources$member": null, @@ -884,8 +1140,10 @@ "base": null, "refs": { "Build$secondarySources": "

An array of ProjectSource objects.

", - "CreateProjectInput$secondarySources": "

An array of ProjectSource objects.

", - "Project$secondarySources": "

An array of ProjectSource objects.

", + "BuildBatch$secondarySources": "

An array of ProjectSource objects that define the sources for the batch build.

", + "CreateProjectInput$secondarySources": "

An array of ProjectSource objects.

", + "Project$secondarySources": "

An array of ProjectSource objects.

", + "StartBuildBatchInput$secondarySourcesOverride": "

An array of ProjectSource objects that override the secondary sources defined in the batch build project.

", "StartBuildInput$secondarySourcesOverride": "

An array of ProjectSource objects.

", "UpdateProjectInput$secondarySources": "

An array of ProjectSource objects.

" } @@ -910,11 +1168,12 @@ "base": "

Information about credentials that provide access to a private Docker registry. When this is set:

For more information, see Private Registry with AWS Secrets Manager Sample for AWS CodeBuild.

", "refs": { "ProjectEnvironment$registryCredential": "

The credentials for access to a private registry.

", + "StartBuildBatchInput$registryCredentialOverride": "

A RegistryCredential object that overrides credentials for access to a private registry.

", "StartBuildInput$registryCredentialOverride": "

The credentials for access to a private registry.

" } }, "Report": { - "base": "

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.

", + "base": "

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.

", "refs": { "Reports$member": null } @@ -928,6 +1187,12 @@ "ListReportsOutput$reports": "

The list of returned ARNs for the reports in the current AWS account.

" } }, + "ReportCodeCoverageSortByType": { + "base": null, + "refs": { + "DescribeCodeCoveragesInput$sortBy": "

Specifies how the results are sorted. Possible values are:

FILE_PATH

The results are sorted by file path.

LINE_COVERAGE_PERCENTAGE

The results are sorted by the percentage of lines that are covered.

" + } + }, "ReportExportConfig": { "base": "

Information about the location where the run of a report is exported.

", "refs": { @@ -1009,7 +1274,7 @@ "base": null, "refs": { "CreateReportGroupInput$type": "

The type of report group.

", - "Report$type": "

The type of the report that was run.

", + "Report$type": "

The type of the report that was run.

CODE_COVERAGE

A code coverage report.

TEST

A test report.

", "ReportGroup$type": "

The type of the ReportGroup. The one valid value is TEST.

" } }, @@ -1019,6 +1284,19 @@ "BatchGetReportsOutput$reports": "

The array of Report objects returned by BatchGetReports.

" } }, + "ResolvedArtifact": { + "base": "

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).

", + "refs": { + "BuildSummary$primaryArtifact": "

A ResolvedArtifact object that represents the primary build artifacts for the build group.

", + "ResolvedSecondaryArtifacts$member": null + } + }, + "ResolvedSecondaryArtifacts": { + "base": null, + "refs": { + "BuildSummary$secondaryArtifacts": "

An array of ResolvedArtifact objects that represents the secondary build artifacts for the build group.

" + } + }, "ResourceAlreadyExistsException": { "base": "

The specified AWS resource cannot be created, because an AWS resource with the same settings already exists.

", "refs": { @@ -1029,6 +1307,32 @@ "refs": { } }, + "RetryBuildBatchInput": { + "base": null, + "refs": { + } + }, + "RetryBuildBatchOutput": { + "base": null, + "refs": { + } + }, + "RetryBuildBatchType": { + "base": null, + "refs": { + "RetryBuildBatchInput$retryType": "

Specifies the type of retry to perform.

" + } + }, + "RetryBuildInput": { + "base": null, + "refs": { + } + }, + "RetryBuildOutput": { + "base": null, + "refs": { + } + }, "S3LogsConfig": { "base": "

Information about S3 logs for a build project.

", "refs": { @@ -1071,6 +1375,9 @@ "SortOrderType": { "base": null, "refs": { + "DescribeCodeCoveragesInput$sortOrder": "

Specifies if the results are sorted in ascending or descending order.

", + "ListBuildBatchesForProjectInput$sortOrder": "

Specifies the sort order of the returned items. Valid values include:

", + "ListBuildBatchesInput$sortOrder": "

Specifies the sort order of the returned items. Valid values include:

", "ListBuildsForProjectInput$sortOrder": "

The order to list build IDs. Valid values include:

", "ListBuildsInput$sortOrder": "

The order to list build IDs. Valid values include:

", "ListProjectsInput$sortOrder": "

The order in which to list build projects. Valid values include:

Use sortBy to specify the criterion to be used to list build project names.

", @@ -1085,6 +1392,7 @@ "base": "

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.

", "refs": { "ProjectSource$auth": "

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.

", + "StartBuildBatchInput$sourceAuthOverride": "

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.

", "StartBuildInput$sourceAuthOverride": "

An authorization type for this build that overrides the one defined in the build project. This override applies only if the build project's source is BitBucket or GitHub.

" } }, @@ -1110,9 +1418,20 @@ "base": null, "refs": { "ProjectSource$type": "

The type of repository that contains the source code to be built. Valid values include:

", + "StartBuildBatchInput$sourceTypeOverride": "

The source input type that overrides the source input defined in the batch build project.

", "StartBuildInput$sourceTypeOverride": "

A source input type, for this build, that overrides the source input defined in the build project.

" } }, + "StartBuildBatchInput": { + "base": null, + "refs": { + } + }, + "StartBuildBatchOutput": { + "base": null, + "refs": { + } + }, "StartBuildInput": { "base": null, "refs": { @@ -1127,7 +1446,21 @@ "base": null, "refs": { "Build$buildStatus": "

The current status of the build. Valid values include:

", - "BuildPhase$phaseStatus": "

The current status of the build phase. Valid values include:

" + "BuildBatch$buildBatchStatus": "

The status of the batch build.

", + "BuildBatchFilter$status": "

The status of the batch builds to retrieve. Only batch builds that have this status will be retrieved.

", + "BuildBatchPhase$phaseStatus": "

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.

", + "BuildPhase$phaseStatus": "

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.

", + "BuildSummary$buildStatus": "

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.

" + } + }, + "StopBuildBatchInput": { + "base": null, + "refs": { + } + }, + "StopBuildBatchOutput": { + "base": null, + "refs": { } }, "StopBuildInput": { @@ -1145,18 +1478,26 @@ "refs": { "Build$currentPhase": "

The current build phase.

", "Build$initiator": "

The entity that started the build. Valid values include:

", + "Build$buildBatchArn": "

The ARN of the batch build that this build is a member of, if applicable.

", "BuildArtifacts$location": "

Information about the location of the build artifacts.

", "BuildArtifacts$sha256sum": "

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.

", "BuildArtifacts$md5sum": "

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.

", "BuildArtifacts$artifactIdentifier": "

An identifier for this artifact definition.

", + "BuildBatch$currentPhase": "

The current phase of the batch build.

", + "BuildBatch$initiator": "

The entity that started the batch build. Valid values include:

", + "BuildGroup$identifier": "

Contains the identifier of the build group.

", "BuildNotDeleted$statusCode": "

Additional information about the build that could not be successfully deleted.

", "BuildReportArns$member": null, "BuildStatusConfig$context": "

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 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 in the GitHub developer guide.

", "BuildStatusConfig$targetUrl": "

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 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 in the GitHub developer guide.

", + "BuildSummary$arn": "

The batch build ARN.

", "CloudWatchLogsConfig$groupName": "

The group name of the logs in Amazon CloudWatch Logs. For more information, see Working with Log Groups and Log Streams.

", "CloudWatchLogsConfig$streamName": "

The prefix of the stream name of the Amazon CloudWatch Logs. For more information, see Working with Log Groups and Log Streams.

", - "CreateProjectInput$sourceVersion": "

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:

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 in the AWS CodeBuild User Guide.

", - "CreateWebhookInput$branchFilter": "

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.

It is recommended that you use filterGroups instead of branchFilter.

", + "CreateProjectInput$sourceVersion": "

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:

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 in the AWS CodeBuild User Guide.

", + "CreateWebhookInput$branchFilter": "

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.

It is recommended that you use filterGroups instead of branchFilter.

", + "DeleteBuildBatchOutput$statusCode": "

The status code.

", + "DescribeCodeCoveragesInput$nextToken": "

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.

", + "DescribeCodeCoveragesOutput$nextToken": "

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.

", "DescribeTestCasesInput$reportArn": "

The ARN of the report for which test cases are returned.

", "DescribeTestCasesInput$nextToken": "

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.

", "DescribeTestCasesOutput$nextToken": "

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.

", @@ -1165,6 +1506,10 @@ "EnvironmentVariable$value": "

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.

", "ExportedEnvironmentVariable$value": "

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.

", "ImageVersions$member": null, + "ListBuildBatchesForProjectInput$nextToken": "

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.

", + "ListBuildBatchesForProjectOutput$nextToken": "

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.

", + "ListBuildBatchesInput$nextToken": "

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.

", + "ListBuildBatchesOutput$nextToken": "

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.

", "ListBuildsForProjectInput$nextToken": "

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.

", "ListBuildsForProjectOutput$nextToken": "

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.

", "ListBuildsInput$nextToken": "

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.

", @@ -1189,7 +1534,7 @@ "PhaseContext$statusCode": "

The status code for the context of the build phase.

", "PhaseContext$message": "

An explanation of the build phase's context. This might include a command ID and an exit code.

", "Project$arn": "

The Amazon Resource Name (ARN) of the build project.

", - "Project$sourceVersion": "

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:

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 in the AWS CodeBuild User Guide.

", + "Project$sourceVersion": "

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:

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 in the AWS CodeBuild User Guide.

", "ProjectArtifacts$location": "

Information about the build output artifact location:

", "ProjectArtifacts$path": "

Along with namespaceType and name, the pattern that AWS CodeBuild uses to name and store the output artifact:

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.

", "ProjectArtifacts$name": "

Along with path and namespaceType, the pattern that AWS CodeBuild uses to name and store the output artifact:

For example:

", @@ -1209,10 +1554,19 @@ "Report$name": "

The name of the report that was run.

", "Report$executionId": "

The ARN of the build run that generated this report.

", "ReportStatusCounts$key": null, + "ResolvedArtifact$location": "

The location of the artifact.

", + "ResolvedArtifact$identifier": "

The identifier of the artifact.

", + "RetryBuildBatchInput$idempotencyToken": "

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.

", + "RetryBuildInput$idempotencyToken": "

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.

", "S3LogsConfig$location": "

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.

", "S3ReportExportConfig$path": "

The path to the exported report's raw data results.

", "SourceAuth$resource": "

The resource value that applies to the specified authorization type.

", - "StartBuildInput$sourceVersion": "

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:

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 in the AWS CodeBuild User Guide.

", + "StartBuildBatchInput$sourceVersion": "

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:

AWS CodeCommit

The commit ID, branch, or Git tag to use.

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 in the AWS CodeBuild User Guide.

", + "StartBuildBatchInput$sourceLocationOverride": "

A location that overrides, for this batch build, the source location defined in the batch build project.

", + "StartBuildBatchInput$buildspecOverride": "

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.

", + "StartBuildBatchInput$certificateOverride": "

The name of a certificate for this batch build that overrides the one specified in the batch build project.

", + "StartBuildBatchInput$idempotencyToken": "

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.

", + "StartBuildInput$sourceVersion": "

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:

AWS CodeCommit

The commit ID, branch, or Git tag to use.

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 in the AWS CodeBuild User Guide.

", "StartBuildInput$sourceLocationOverride": "

A location that overrides, for this build, the source location for the one defined in the build project.

", "StartBuildInput$buildspecOverride": "

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.

", "StartBuildInput$certificateOverride": "

The name of a certificate for this build that overrides the one specified in the build project.

", @@ -1225,7 +1579,7 @@ "TestCaseFilter$status": "

The status used to filter test cases. Valid statuses are SUCCEEDED, FAILED, ERROR, SKIPPED, and UNKNOWN. A TestCaseFilter can have one status.

", "UpdateProjectInput$sourceVersion": "

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:

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 in the AWS CodeBuild User Guide.

", "UpdateWebhookInput$branchFilter": "

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.

It is recommended that you use filterGroups instead of branchFilter.

", - "Webhook$branchFilter": "

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.

It is recommended that you use filterGroups instead of branchFilter.

", + "Webhook$branchFilter": "

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.

It is recommended that you use filterGroups instead of branchFilter.

", "WebhookFilter$pattern": "

For a WebHookFilter that uses EVENT type, a comma-separated string that specifies one or more events. For example, the webhook filter PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED allows all push, pull request created, and pull request updated events to trigger a build.

For a WebHookFilter that uses any of the other filter types, a regular expression pattern. For example, a WebHookFilter that uses HEAD_REF for its type and the pattern ^refs/heads/ triggers a build when the head reference is a branch with a reference name refs/heads/branch-name.

" } }, @@ -1280,9 +1634,11 @@ "base": null, "refs": { "CreateProjectInput$timeoutInMinutes": "

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.

", - "CreateProjectInput$queuedTimeoutInMinutes": "

The number of minutes a build is allowed to be queued before it times out.

", + "CreateProjectInput$queuedTimeoutInMinutes": "

The number of minutes a build is allowed to be queued before it times out.

", "Project$timeoutInMinutes": "

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.

", - "Project$queuedTimeoutInMinutes": "

The number of minutes a build is allowed to be queued before it times out.

", + "Project$queuedTimeoutInMinutes": "

The number of minutes a build is allowed to be queued before it times out.

", + "StartBuildBatchInput$buildTimeoutInMinutesOverride": "

Overrides the build timeout specified in the batch build project.

", + "StartBuildBatchInput$queuedTimeoutInMinutesOverride": "

The number of minutes a batch build is allowed to be queued before it times out.

", "StartBuildInput$timeoutInMinutesOverride": "

The number of build timeout minutes, from 5 to 480 (8 hours), that overrides, for this build only, the latest setting already defined in the build project.

", "StartBuildInput$queuedTimeoutInMinutesOverride": "

The number of minutes a build is allowed to be queued before it times out.

", "UpdateProjectInput$timeoutInMinutes": "

The replacement value 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.

", @@ -1294,8 +1650,14 @@ "refs": { "Build$startTime": "

When the build process started, expressed in Unix time format.

", "Build$endTime": "

When the build process ended, expressed in Unix time format.

", + "BuildBatch$startTime": "

The date and time that the batch build started.

", + "BuildBatch$endTime": "

The date and time that the batch build ended.

", + "BuildBatchPhase$startTime": "

When the batch build phase started, expressed in Unix time format.

", + "BuildBatchPhase$endTime": "

When the batch build phase ended, expressed in Unix time format.

", "BuildPhase$startTime": "

When the build phase started, expressed in Unix time format.

", "BuildPhase$endTime": "

When the build phase ended, expressed in Unix time format.

", + "BuildSummary$requestedOn": "

When the build was started, expressed in Unix time format.

", + "CodeCoverage$expired": "

The date and time that the tests were run.

", "Project$created": "

When the build project was created, expressed in Unix time format.

", "Project$lastModified": "

When the build project's settings were last modified, expressed in Unix time format.

", "Report$created": "

The date and time this report run occurred.

", @@ -1303,7 +1665,7 @@ "ReportGroup$created": "

The date and time this ReportGroup was created.

", "ReportGroup$lastModified": "

The date and time this ReportGroup was last modified.

", "TestCase$expired": "

The date and time a test case expires. A test case expires 30 days after it is created. An expired test case is not available to view in CodeBuild.

", - "Webhook$lastModifiedSecret": "

A timestamp that indicates the last time a repository's secret token was modified.

" + "Webhook$lastModifiedSecret": "

A timestamp that indicates the last time a repository's secret token was modified.

" } }, "UpdateProjectInput": { @@ -1346,6 +1708,7 @@ "base": "

Information about the VPC configuration that AWS CodeBuild accesses.

", "refs": { "Build$vpcConfig": "

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.

", + "BuildBatch$vpcConfig": null, "CreateProjectInput$vpcConfig": "

VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

", "Project$vpcConfig": "

Information about the VPC configuration that AWS CodeBuild accesses.

", "UpdateProjectInput$vpcConfig": "

VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC.

" @@ -1359,6 +1722,14 @@ "UpdateWebhookOutput$webhook": "

Information about a repository's webhook that is associated with a project in AWS CodeBuild.

" } }, + "WebhookBuildType": { + "base": null, + "refs": { + "CreateWebhookInput$buildType": "

Specifies the type of build this webhook will trigger.

", + "UpdateWebhookInput$buildType": "

Specifies the type of build this webhook will trigger.

", + "Webhook$buildType": "

Specifies the type of build this webhook will trigger.

" + } + }, "WebhookFilter": { "base": "

A filter used to determine which webhooks trigger a build.

", "refs": { @@ -1382,12 +1753,16 @@ "ImportSourceCredentialsInput$shouldOverwrite": "

Set to false to prevent overwriting the repository source credentials. Set to true to overwrite the repository source credentials. The default value is true.

", "ProjectArtifacts$overrideArtifactName": "

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.

", "ProjectArtifacts$encryptionDisabled": "

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.

", + "ProjectBuildBatchConfig$combineArtifacts": "

Specifies if the build artifacts for the batch build should be combined into a single artifact location.

", "ProjectEnvironment$privilegedMode": "

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\"

", "ProjectSource$reportBuildStatus": "

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.

", "ProjectSource$insecureSsl": "

Enable this flag to ignore SSL warnings while connecting to the project source code.

", "Report$truncated": "

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.

", "S3LogsConfig$encryptionDisabled": "

Set to true if you do not want your S3 build log output encrypted. By default S3 build logs are encrypted.

", "S3ReportExportConfig$encryptionDisabled": "

A boolean value that specifies if the results of a report are encrypted.

", + "StartBuildBatchInput$insecureSslOverride": "

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.

", + "StartBuildBatchInput$reportBuildBatchStatusOverride": "

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.

", + "StartBuildBatchInput$privilegedModeOverride": "

Enable this flag to override privileged mode in the batch build project.

", "StartBuildInput$insecureSslOverride": "

Enable this flag to override the insecure SSL setting that is specified in the build project. The insecure SSL setting determines whether to ignore SSL warnings while connecting to the project source code. This override applies only if the build's source is GitHub Enterprise.

", "StartBuildInput$reportBuildStatusOverride": "

Set to true to report to your source provider the status of a build's start and completion. If you use this option with a source provider other than GitHub, GitHub Enterprise, or Bitbucket, an invalidInputException is thrown.

The status of a build triggered by a webhook is always reported to your source provider.

", "StartBuildInput$privilegedModeOverride": "

Enable this flag to override privileged mode in the build project.

", @@ -1399,8 +1774,12 @@ "WrapperInt": { "base": null, "refs": { + "BatchRestrictions$maximumBuildsAllowed": "

Specifies the maximum number of builds allowed.

", "Build$timeoutInMinutes": "

How long, in minutes, for AWS CodeBuild to wait before timing out this build if it does not get marked as completed.

", "Build$queuedTimeoutInMinutes": "

The number of minutes a build is allowed to be queued before it times out.

", + "BuildBatch$buildTimeoutInMinutes": "

Specifies the maximum amount of time, in minutes, that the build in a batch must be completed in.

", + "BuildBatch$queuedTimeoutInMinutes": "

Specifies the amount of time, in minutes, that the batch build is allowed to be queued before it times out.

", + "ProjectBuildBatchConfig$timeoutInMins": "

Specifies the maximum amount of time, in minutes, that the batch build must be completed in.

", "ReportStatusCounts$value": null, "TestReportSummary$total": "

The number of test cases in this TestReportSummary. The total includes truncated test cases.

" } @@ -1409,6 +1788,8 @@ "base": null, "refs": { "Build$buildNumber": "

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.

", + "BuildBatch$buildBatchNumber": "

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.

", + "BuildBatchPhase$durationInSeconds": "

How long, in seconds, between the starting and ending times of the batch build's phase.

", "BuildPhase$durationInSeconds": "

How long, in seconds, between the starting and ending times of the build's phase.

", "TestCase$durationInNanoSeconds": "

The number of nanoseconds it took to run this test case.

", "TestReportSummary$durationInNanoSeconds": "

The number of nanoseconds it took to run all of the test cases in this report.

" diff --git a/models/apis/codebuild/2016-10-06/paginators-1.json b/models/apis/codebuild/2016-10-06/paginators-1.json index 4ffefbe606a..c60d535e5f0 100644 --- a/models/apis/codebuild/2016-10-06/paginators-1.json +++ b/models/apis/codebuild/2016-10-06/paginators-1.json @@ -1,11 +1,29 @@ { "pagination": { + "DescribeCodeCoverages": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "codeCoverages" + }, "DescribeTestCases": { "input_token": "nextToken", "limit_key": "maxResults", "output_token": "nextToken", "result_key": "testCases" }, + "ListBuildBatches": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "ids" + }, + "ListBuildBatchesForProject": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "ids" + }, "ListBuilds": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 2baaef6cb1d..063c5565442 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -5515,7 +5515,8 @@ "Windows with SQL Server Web", "Linux with SQL Server Standard", "Linux with SQL Server Web", - "Linux with SQL Server Enterprise" + "Linux with SQL Server Enterprise", + "Windows BYOL" ] }, "CapacityReservationOptions":{ diff --git a/models/apis/guardduty/2017-11-28/api-2.json b/models/apis/guardduty/2017-11-28/api-2.json index c1960052be2..f95641005cc 100644 --- a/models/apis/guardduty/2017-11-28/api-2.json +++ b/models/apis/guardduty/2017-11-28/api-2.json @@ -474,6 +474,20 @@ {"shape":"InternalServerErrorException"} ] }, + "GetUsageStatistics":{ + "name":"GetUsageStatistics", + "http":{ + "method":"POST", + "requestUri":"/detector/{detectorId}/usage/statistics", + "responseCode":200 + }, + "input":{"shape":"GetUsageStatisticsRequest"}, + "output":{"shape":"GetUsageStatisticsResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ] + }, "InviteMembers":{ "name":"InviteMembers", "http":{ @@ -1481,6 +1495,15 @@ } } }, + "DataSource":{ + "type":"string", + "enum":[ + "FLOW_LOGS", + "CLOUD_TRAIL", + "DNS_LOGS", + "S3_LOGS" + ] + }, "DataSourceConfigurations":{ "type":"structure", "members":{ @@ -1517,6 +1540,10 @@ } } }, + "DataSourceList":{ + "type":"list", + "member":{"shape":"DataSource"} + }, "DataSourceStatus":{ "type":"string", "enum":[ @@ -2553,6 +2580,54 @@ } } }, + "GetUsageStatisticsRequest":{ + "type":"structure", + "required":[ + "DetectorId", + "UsageStatisticType", + "UsageCriteria" + ], + "members":{ + "DetectorId":{ + "shape":"DetectorId", + "location":"uri", + "locationName":"detectorId" + }, + "UsageStatisticType":{ + "shape":"UsageStatisticType", + "locationName":"usageStatisticsType" + }, + "UsageCriteria":{ + "shape":"UsageCriteria", + "locationName":"usageCriteria" + }, + "Unit":{ + "shape":"String", + "locationName":"unit" + }, + "MaxResults":{ + "shape":"MaxResults", + "locationName":"maxResults" + }, + "NextToken":{ + "shape":"String", + "locationName":"nextToken" + } + } + }, + "GetUsageStatisticsResponse":{ + "type":"structure", + "members":{ + "UsageStatistics":{ + "shape":"UsageStatistics", + "locationName":"usageStatistics" + }, + "NextToken":{ + "shape":"String", + "locationName":"nextToken" + } + } + }, "GuardDutyArn":{ "type":"string", "pattern":"^arn:[A-Za-z_.-]{1,20}:guardduty:[A-Za-z0-9_/.-]{0,63}:\\d+:detector/[A-Za-z0-9_/.-]{32,264}$" @@ -3526,6 +3601,10 @@ } } }, + "ResourceList":{ + "type":"list", + "member":{"shape":"String"} + }, "S3BucketDetail":{ "type":"structure", "members":{ @@ -3837,6 +3916,19 @@ "member":{"shape":"String"} }, "Timestamp":{"type":"timestamp"}, + "Total":{ + "type":"structure", + "members":{ + "Amount":{ + "shape":"String", + "locationName":"amount" + }, + "Unit":{ + "shape":"String", + "locationName":"unit" + } + } + }, "UnarchiveFindingsRequest":{ "type":"structure", "required":[ @@ -4170,6 +4262,105 @@ "type":"structure", "members":{ } + }, + "UsageAccountResult":{ + "type":"structure", + "members":{ + "AccountId":{ + "shape":"AccountId", + "locationName":"accountId" + }, + "Total":{ + "shape":"Total", + "locationName":"total" + } + } + }, + "UsageAccountResultList":{ + "type":"list", + "member":{"shape":"UsageAccountResult"} + }, + "UsageCriteria":{ + "type":"structure", + "required":["DataSources"], + "members":{ + "AccountIds":{ + "shape":"AccountIds", + "locationName":"accountIds" + }, + "DataSources":{ + "shape":"DataSourceList", + "locationName":"dataSources" + }, + "Resources":{ + "shape":"ResourceList", + "locationName":"resources" + } + } + }, + "UsageDataSourceResult":{ + "type":"structure", + "members":{ + "DataSource":{ + "shape":"DataSource", + "locationName":"dataSource" + }, + "Total":{ + "shape":"Total", + "locationName":"total" + } + } + }, + "UsageDataSourceResultList":{ + "type":"list", + "member":{"shape":"UsageDataSourceResult"} + }, + "UsageResourceResult":{ + "type":"structure", + "members":{ + "Resource":{ + "shape":"String", + "locationName":"resource" + }, + "Total":{ + "shape":"Total", + "locationName":"total" + } + } + }, + "UsageResourceResultList":{ + "type":"list", + "member":{"shape":"UsageResourceResult"} + }, + "UsageStatisticType":{ + "type":"string", + "enum":[ + "SUM_BY_ACCOUNT", + "SUM_BY_DATA_SOURCE", + "SUM_BY_RESOURCE", + "TOP_RESOURCES" + ] + }, + "UsageStatistics":{ + "type":"structure", + "members":{ + "SumByAccount":{ + "shape":"UsageAccountResultList", + "locationName":"sumByAccount" + }, + "SumByDataSource":{ + "shape":"UsageDataSourceResultList", + "locationName":"sumByDataSource" + }, + "SumByResource":{ + "shape":"UsageResourceResultList", + "locationName":"sumByResource" + }, + "TopResources":{ + "shape":"UsageResourceResultList", + "locationName":"topResources" + } + } } } } diff --git a/models/apis/guardduty/2017-11-28/docs-2.json b/models/apis/guardduty/2017-11-28/docs-2.json index 9743edea606..74fe2943de7 100644 --- a/models/apis/guardduty/2017-11-28/docs-2.json +++ b/models/apis/guardduty/2017-11-28/docs-2.json @@ -4,10 +4,10 @@ "operations": { "AcceptInvitation": "

Accepts the invitation to be monitored by a master GuardDuty account.

", "ArchiveFindings": "

Archives GuardDuty findings that are specified by the list of finding IDs.

Only the master account can archive findings. Member accounts don't have permission to archive findings from their accounts.

", - "CreateDetector": "

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.

", + "CreateDetector": "

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. All data sources are enabled in a new detector by default.

", "CreateFilter": "

Creates a filter using the specified finding criteria.

", "CreateIPSet": "

Creates a new IPSet, which is called a trusted IP list in the console user interface. An IPSet is a list of IP addresses that are trusted for secure communication with AWS infrastructure and applications. GuardDuty doesn't generate findings for IP addresses that are included in IPSets. Only users from the master account can use this operation.

", - "CreateMembers": "

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.

", + "CreateMembers": "

Creates member accounts of the current AWS account by specifying a list of 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 .

", "CreatePublishingDestination": "

Creates a publishing destination to export findings to. The resource to export findings to must exist before you use this operation.

", "CreateSampleFindings": "

Generates example findings of types specified by the list of finding types. If 'NULL' is specified for findingTypes, the API generates example findings of all supported finding types.

", "CreateThreatIntelSet": "

Creates a new ThreatIntelSet. ThreatIntelSets consist of known malicious IP addresses. GuardDuty generates findings based on ThreatIntelSets. Only users of the master account can use this operation.

", @@ -35,13 +35,14 @@ "GetMemberDetectors": "

Describes which data sources are enabled for the member account's detector.

", "GetMembers": "

Retrieves GuardDuty member accounts (to the current GuardDuty master account) specified by the account IDs.

", "GetThreatIntelSet": "

Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID.

", + "GetUsageStatistics": "

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.

", "InviteMembers": "

Invites other AWS accounts (created as members of the current AWS account by CreateMembers) to enable GuardDuty, and allow the current AWS account to view and manage these accounts' GuardDuty findings on their behalf as the master account.

", "ListDetectors": "

Lists detectorIds of all the existing Amazon GuardDuty detector resources.

", "ListFilters": "

Returns a paginated list of the current filters.

", "ListFindings": "

Lists Amazon GuardDuty findings for the specified detector ID.

", "ListIPSets": "

Lists the IPSets of the GuardDuty service specified by the detector ID. If you use this operation from a member account, the IPSets returned are the IPSets from the associated master account.

", "ListInvitations": "

Lists all GuardDuty membership invitations that were sent to the current AWS account.

", - "ListMembers": "

Lists details about associated member accounts for the current GuardDuty master account.

", + "ListMembers": "

Lists details about all member accounts for the current GuardDuty master account.

", "ListOrganizationAdminAccounts": "

Lists the accounts configured as GuardDuty delegated administrators.

", "ListPublishingDestinations": "

Returns a list of publishing destinations associated with the specified dectectorId.

", "ListTagsForResource": "

Lists tags for a resource. Tagging is currently supported for detectors, finding filters, IP sets, and threat intel sets, with a limit of 50 tags per resource. When invoked, this operation returns all assigned tags for a given resource.

", @@ -104,7 +105,8 @@ "Master$AccountId": "

The ID of the account used as the master account.

", "Member$AccountId": "

The ID of the member account.

", "MemberDataSourceConfiguration$AccountId": "

The account ID for the member account.

", - "UnprocessedAccount$AccountId": "

The AWS account ID.

" + "UnprocessedAccount$AccountId": "

The AWS account ID.

", + "UsageAccountResult$AccountId": "

The Account ID that generated usage.

" } }, "AccountIds": { @@ -119,7 +121,8 @@ "InviteMembersRequest$AccountIds": "

A list of account IDs of the accounts that you want to invite to GuardDuty as members.

", "StartMonitoringMembersRequest$AccountIds": "

A list of account IDs of the GuardDuty member accounts to start monitoring.

", "StopMonitoringMembersRequest$AccountIds": "

A list of account IDs for the member accounts to stop monitoring.

", - "UpdateMemberDetectorsRequest$AccountIds": "

A list of member account IDs to be updated.

" + "UpdateMemberDetectorsRequest$AccountIds": "

A list of member account IDs to be updated.

", + "UsageCriteria$AccountIds": "

The account IDs to aggregate usage statistics from.

" } }, "AccountLevelPermissions": { @@ -196,7 +199,7 @@ "CreateThreatIntelSetRequest$Activate": "

A Boolean value that indicates whether GuardDuty is to start using the uploaded ThreatIntelSet.

", "DescribeOrganizationConfigurationResponse$AutoEnable": "

Indicates whether GuardDuty is automatically enabled for accounts added to the organization.

", "DescribeOrganizationConfigurationResponse$MemberAccountLimitReached": "

Indicates whether the maximum number of allowed member accounts are already associated with the delegated administrator master account.

", - "InviteMembersRequest$DisableEmailNotification": "

A Boolean value that specifies whether you want to disable email notification to the accounts that you’re inviting to GuardDuty as members.

", + "InviteMembersRequest$DisableEmailNotification": "

A Boolean value that specifies whether you want to disable email notification to the accounts that you are inviting to GuardDuty as members.

", "NetworkConnectionAction$Blocked": "

Indicates whether EC2 blocked the network connection to your instance.

", "OrganizationS3LogsConfiguration$AutoEnable": "

A value that contains information on whether S3 data event logs will be enabled automatically as a data source for the organization.

", "OrganizationS3LogsConfigurationResult$AutoEnable": "

A value that describes whether S3 data event logs are automatically enabled for new members of the organization.

", @@ -343,6 +346,13 @@ "DataSourceConfigurationsResult$DNSLogs": "

An object that contains information on the status of DNS logs as a data source.

" } }, + "DataSource": { + "base": null, + "refs": { + "DataSourceList$member": null, + "UsageDataSourceResult$DataSource": "

The data source type that generated usage.

" + } + }, "DataSourceConfigurations": { "base": "

Contains information about which data sources are enabled.

", "refs": { @@ -358,6 +368,12 @@ "MemberDataSourceConfiguration$DataSources": "

Contains information on the status of data sources for the account.

" } }, + "DataSourceList": { + "base": null, + "refs": { + "UsageCriteria$DataSources": "

The data sources to aggregate usage statistics from.

" + } + }, "DataSourceStatus": { "base": null, "refs": { @@ -533,6 +549,7 @@ "GetMemberDetectorsRequest$DetectorId": "

The detector ID for the master account.

", "GetMembersRequest$DetectorId": "

The unique ID of the detector of the GuardDuty account whose members you want to retrieve.

", "GetThreatIntelSetRequest$DetectorId": "

The unique ID of the detector that the threatIntelSet is associated with.

", + "GetUsageStatisticsRequest$DetectorId": "

The ID of the detector that specifies the GuardDuty service whose usage statistics you want to retrieve.

", "InviteMembersRequest$DetectorId": "

The unique ID of the detector of the GuardDuty account that you want to invite members with.

", "ListFiltersRequest$DetectorId": "

The unique ID of the detector that the filter is associated with.

", "ListFindingsRequest$DetectorId": "

The ID of the detector that specifies the GuardDuty service whose findings you want to list.

", @@ -711,7 +728,7 @@ "CreateFilterRequest$FindingCriteria": "

Represents the criteria to be used in the filter for querying findings.

You can only use the following attributes to query findings:

", "GetFilterResponse$FindingCriteria": "

Represents the criteria to be used in the filter for querying findings.

", "GetFindingsStatisticsRequest$FindingCriteria": "

Represents the criteria that is used for querying findings.

", - "ListFindingsRequest$FindingCriteria": "

Represents the criteria used for querying findings. Valid values include:

", + "ListFindingsRequest$FindingCriteria": "

Represents the criteria used for querying findings. Valid values include:

", "UpdateFilterRequest$FindingCriteria": "

Represents the criteria to be used in the filter for querying findings.

" } }, @@ -888,6 +905,16 @@ "refs": { } }, + "GetUsageStatisticsRequest": { + "base": null, + "refs": { + } + }, + "GetUsageStatisticsResponse": { + "base": null, + "refs": { + } + }, "GuardDutyArn": { "base": null, "refs": { @@ -1091,12 +1118,12 @@ "Location": { "base": null, "refs": { - "CreateIPSetRequest$Location": "

The URI of the file that contains the IPSet.

", - "CreateThreatIntelSetRequest$Location": "

The URI of the file that contains the ThreatIntelSet.

", - "GetIPSetResponse$Location": "

The URI of the file that contains the IPSet.

", - "GetThreatIntelSetResponse$Location": "

The URI of the file that contains the ThreatIntelSet.

", - "UpdateIPSetRequest$Location": "

The updated URI of the file that contains the IPSet.

", - "UpdateThreatIntelSetRequest$Location": "

The updated URI of the file that contains the ThreateIntelSet.

" + "CreateIPSetRequest$Location": "

The URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

", + "CreateThreatIntelSetRequest$Location": "

The URI of the file that contains the ThreatIntelSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

", + "GetIPSetResponse$Location": "

The URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

", + "GetThreatIntelSetResponse$Location": "

The URI of the file that contains the ThreatIntelSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

", + "UpdateIPSetRequest$Location": "

The updated URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

", + "UpdateThreatIntelSetRequest$Location": "

The updated URI of the file that contains the ThreateIntelSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.

" } }, "Long": { @@ -1118,6 +1145,7 @@ "MaxResults": { "base": null, "refs": { + "GetUsageStatisticsRequest$MaxResults": "

The maximum number of results to return in the response.

", "ListDetectorsRequest$MaxResults": "

You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 50. The maximum value is 50.

", "ListFiltersRequest$MaxResults": "

You can use this parameter to indicate the maximum number of items that you want in the response. The default value is 50. The maximum value is 50.

", "ListFindingsRequest$MaxResults": "

You can use this parameter to indicate the maximum number of items you want in the response. The default value is 50. The maximum value is 50.

", @@ -1318,6 +1346,12 @@ "Finding$Resource": null } }, + "ResourceList": { + "base": null, + "refs": { + "UsageCriteria$Resources": "

The resources to aggregate usage statistics from. Only accepts exact resource names.

" + } + }, "S3BucketDetail": { "base": "

Contains information on the S3 bucket.

", "refs": { @@ -1444,6 +1478,9 @@ "GetFilterRequest$FilterName": "

The name of the filter you want to get.

", "GetIPSetRequest$IpSetId": "

The unique ID of the IPSet to retrieve.

", "GetThreatIntelSetRequest$ThreatIntelSetId": "

The unique ID of the threatIntelSet that you want to get.

", + "GetUsageStatisticsRequest$Unit": "

The currency unit you would like to view your usage statistics in. Current valid values are USD.

", + "GetUsageStatisticsRequest$NextToken": "

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.

", + "GetUsageStatisticsResponse$NextToken": "

The pagination parameter to be used on the next list operation to retrieve more items.

", "IamInstanceProfile$Arn": "

The profile ARN of the EC2 instance.

", "IamInstanceProfile$Id": "

The profile ID of the EC2 instance.

", "InstanceDetails$AvailabilityZone": "

The Availability Zone of the EC2 instance.

", @@ -1460,7 +1497,7 @@ "Invitation$InvitationId": "

The ID of the invitation. This value is used to validate the inviter account to the member account.

", "Invitation$RelationshipStatus": "

The status of the relationship between the inviter and invitee accounts.

", "Invitation$InvitedAt": "

The timestamp when the invitation was sent.

", - "InviteMembersRequest$Message": "

The invitation message that you want to send to the accounts that you’re inviting to GuardDuty as members.

", + "InviteMembersRequest$Message": "

The invitation message that you want to send to the accounts that you're inviting to GuardDuty as members.

", "IpSetIds$member": null, "Ipv6Addresses$member": null, "ListDetectorsRequest$NextToken": "

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", @@ -1474,7 +1511,7 @@ "ListInvitationsRequest$NextToken": "

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", "ListInvitationsResponse$NextToken": "

The pagination parameter to be used on the next list operation to retrieve more items.

", "ListMembersRequest$NextToken": "

You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action, fill nextToken in the request with the value of NextToken from the previous response to continue listing data.

", - "ListMembersRequest$OnlyAssociated": "

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).

", + "ListMembersRequest$OnlyAssociated": "

Specifies whether to only return associated members or to return all members (including members who haven't been invited yet or have been disassociated).

", "ListMembersResponse$NextToken": "

The pagination parameter to be used on the next list operation to retrieve more items.

", "ListOrganizationAdminAccountsRequest$NextToken": "

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.

", "ListOrganizationAdminAccountsResponse$NextToken": "

The pagination parameter to be used on the next list operation to retrieve more items.

", @@ -1515,6 +1552,7 @@ "RemoteIpDetails$IpAddressV4": "

The IPv4 remote address of the connection.

", "RemotePortDetails$PortName": "

The port name of the remote connection.

", "Resource$ResourceType": "

The type of AWS resource.

", + "ResourceList$member": null, "S3BucketDetail$Arn": "

The Amazon Resource Name (ARN) of the S3 bucket.

", "S3BucketDetail$Name": "

The name of the S3 bucket.

", "S3BucketDetail$Type": "

Describes whether the bucket is a source or destination bucket.

", @@ -1531,12 +1569,15 @@ "ThreatIntelSetIds$member": null, "ThreatIntelligenceDetail$ThreatListName": "

The name of the threat intelligence list that triggered the finding.

", "ThreatNames$member": null, + "Total$Amount": "

The total usage.

", + "Total$Unit": "

The currency unit that the amount is given in.

", "UnprocessedAccount$Result": "

A reason why the account hasn't been processed.

", "UpdateFilterRequest$FilterName": "

The name of the filter.

", "UpdateFindingsFeedbackRequest$Comments": "

Additional feedback about the GuardDuty findings.

", "UpdateIPSetRequest$IpSetId": "

The unique ID that specifies the IPSet that you want to update.

", "UpdatePublishingDestinationRequest$DestinationId": "

The ID of the publishing destination to update.

", - "UpdateThreatIntelSetRequest$ThreatIntelSetId": "

The unique ID that specifies the ThreatIntelSet that you want to update.

" + "UpdateThreatIntelSetRequest$ThreatIntelSetId": "

The unique ID that specifies the ThreatIntelSet that you want to update.

", + "UsageResourceResult$Resource": "

The AWS resource that generated usage.

" } }, "Tag": { @@ -1639,6 +1680,14 @@ "S3BucketDetail$CreatedAt": "

The date and time the bucket was created at.

" } }, + "Total": { + "base": "

Contains the total usage with the corresponding currency unit for that value.

", + "refs": { + "UsageAccountResult$Total": "

Represents the total of usage for the Account ID.

", + "UsageDataSourceResult$Total": "

Represents the total of usage for the specified data source.

", + "UsageResourceResult$Total": "

Represents the sum total of usage for the specified resource type.

" + } + }, "UnarchiveFindingsRequest": { "base": null, "refs": { @@ -1760,6 +1809,61 @@ "base": null, "refs": { } + }, + "UsageAccountResult": { + "base": "

Contains information on the total of usage based on account IDs.

", + "refs": { + "UsageAccountResultList$member": null + } + }, + "UsageAccountResultList": { + "base": null, + "refs": { + "UsageStatistics$SumByAccount": "

The usage statistic sum organized by account ID.

" + } + }, + "UsageCriteria": { + "base": "

Contains information about the criteria used to query usage statistics.

", + "refs": { + "GetUsageStatisticsRequest$UsageCriteria": "

Represents the criteria used for querying usage.

" + } + }, + "UsageDataSourceResult": { + "base": "

Contains information on the result of usage based on data source type.

", + "refs": { + "UsageDataSourceResultList$member": null + } + }, + "UsageDataSourceResultList": { + "base": null, + "refs": { + "UsageStatistics$SumByDataSource": "

The usage statistic sum organized by on data source.

" + } + }, + "UsageResourceResult": { + "base": "

Contains information on the sum of usage based on an AWS resource.

", + "refs": { + "UsageResourceResultList$member": null + } + }, + "UsageResourceResultList": { + "base": null, + "refs": { + "UsageStatistics$SumByResource": "

The usage statistic sum organized by resource.

", + "UsageStatistics$TopResources": "

Lists the top 50 resources that have generated the most GuardDuty usage, in order from most to least expensive.

" + } + }, + "UsageStatisticType": { + "base": null, + "refs": { + "GetUsageStatisticsRequest$UsageStatisticType": "

The type of usage statistics to retrieve.

" + } + }, + "UsageStatistics": { + "base": "

Contains the result of GuardDuty usage. If a UsageStatisticType is provided the result for other types will be null.

", + "refs": { + "GetUsageStatisticsResponse$UsageStatistics": "

The usage statistics object. If a UsageStatisticType was provided, the objects representing other types will be null.

" + } } } } diff --git a/models/apis/guardduty/2017-11-28/paginators-1.json b/models/apis/guardduty/2017-11-28/paginators-1.json index 83ef33cce13..a40bc79cc02 100644 --- a/models/apis/guardduty/2017-11-28/paginators-1.json +++ b/models/apis/guardduty/2017-11-28/paginators-1.json @@ -1,5 +1,10 @@ { "pagination": { + "GetUsageStatistics": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListDetectors": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/kafka/2018-11-14/api-2.json b/models/apis/kafka/2018-11-14/api-2.json index 73d496949f8..c124f8a6798 100644 --- a/models/apis/kafka/2018-11-14/api-2.json +++ b/models/apis/kafka/2018-11-14/api-2.json @@ -514,6 +514,43 @@ } ] }, + "RebootBroker": { + "name": "RebootBroker", + "http": { + "method": "PUT", + "requestUri": "/v1/clusters/{clusterArn}/reboot-broker", + "responseCode": 200 + }, + "input": { + "shape": "RebootBrokerRequest" + }, + "output": { + "shape": "RebootBrokerResponse" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "NotFoundException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + } + ] + }, "TagResource": { "name": "TagResource", "http": { @@ -2302,6 +2339,34 @@ } } }, + "RebootBrokerRequest": { + "type": "structure", + "members": { + "BrokerIds": { + "shape": "__listOf__string", + "locationName": "brokerIds" + }, + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn" + } + }, + "required": [ "ClusterArn", "BrokerIds" ] + }, + "RebootBrokerResponse": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn" + }, + "ClusterOperationArn": { + "shape": "__string", + "locationName": "clusterOperationArn" + } + } + }, "S3" : { "type" : "structure", "members" : { diff --git a/models/apis/kafka/2018-11-14/docs-2.json b/models/apis/kafka/2018-11-14/docs-2.json index 519416c682f..6cc5c54cbb1 100644 --- a/models/apis/kafka/2018-11-14/docs-2.json +++ b/models/apis/kafka/2018-11-14/docs-2.json @@ -18,6 +18,7 @@ "ListKafkaVersions" : "

Returns a list of Kafka versions.

", "ListNodes" : "

Returns a list of the broker nodes in the cluster.

", "ListTagsForResource" : "

Returns a list of the tags associated with the specified resource.

", + "RebootBroker" : "

Executes a reboot on a broker.

", "TagResource" : "

Adds tags to the specified MSK resource.

", "UntagResource" : "

Removes the tags associated with the keys that are provided in the query.

", "UpdateBrokerCount" : "

Updates the number of broker nodes in the cluster. You can use this operation to increase the number of brokers in an existing cluster. You can't decrease the number of brokers.

", @@ -379,6 +380,14 @@ "OpenMonitoringInfo$Prometheus" : "

Prometheus settings.

" } }, + "RebootBrokerRequest" : { + "base" : "

Request body for RebootBrokerNode action.

", + "refs" : { } + }, + "RebootBrokerResponse" : { + "base" : "

Response body for RebootBrokers action.

", + "refs" : { } + }, "S3" : { "base" : "

The details of the Amazon S3 destination for broker logs.

", "refs" : { @@ -571,6 +580,7 @@ "Configuration$KafkaVersions" : "

An array of the versions of Apache Kafka with which you can use this MSK configuration. You can use this configuration for an MSK cluster only if the Apache Kafka version specified for the cluster appears in this array.

", "CreateConfigurationRequest$KafkaVersions" : "

The versions of Apache Kafka with which you can use this MSK configuration.

", "DescribeConfigurationResponse$KafkaVersions" : "

The versions of Apache Kafka with which you can use this MSK configuration.

", + "RebootBrokerRequest$BrokerIds" : "

The list of broker ids to be rebooted.

", "Tls$CertificateAuthorityArnList" : "

List of ACM Certificate Authority ARNs.

", "ZookeeperNodeInfo$Endpoints" : "

Endpoints for accessing the ZooKeeper.

" } @@ -650,6 +660,8 @@ "NodeInfo$AddedToClusterTime" : "

The start time.

", "NodeInfo$InstanceType" : "

The instance type.

", "NodeInfo$NodeARN" : "

The Amazon Resource Name (ARN) of the node.

", + "RebootBrokerResponse$ClusterArn" : "

The Amazon Resource Name (ARN) of the cluster.

", + "RebootBrokerResponse$ClusterOperationArn" : "

The Amazon Resource Name (ARN) of the cluster operation.

", "S3$Bucket" : "

The name of the S3 bucket that is the destination for broker logs.

", "S3$Prefix" : "

The S3 prefix that is the destination for broker logs.

", "StateInfo$Code" : "

If the cluster is in an unusable state, this field contains the code that describes the issue.

", diff --git a/models/apis/organizations/2016-11-28/docs-2.json b/models/apis/organizations/2016-11-28/docs-2.json index d7b69d506e7..0134559a724 100644 --- a/models/apis/organizations/2016-11-28/docs-2.json +++ b/models/apis/organizations/2016-11-28/docs-2.json @@ -14,7 +14,7 @@ "DeleteOrganization": "

Deletes the organization. You can delete an organization only by using credentials from the master account. The organization must be empty of member accounts.

", "DeleteOrganizationalUnit": "

Deletes an organizational unit (OU) from a root or another OU. You must first remove all accounts and child OUs from the OU that you want to delete.

This operation can be called only from the organization's master account.

", "DeletePolicy": "

Deletes the specified policy from your organization. Before you perform this operation, you must first detach the policy from all organizational units (OUs), roots, and accounts.

This operation can be called only from the organization's master account.

", - "DeregisterDelegatedAdministrator": "

Removes the specified member AWS account as a delegated administrator for the specified AWS service.

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 in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

", + "DeregisterDelegatedAdministrator": "

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 in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

", "DescribeAccount": "

Retrieves AWS Organizations-related information about the specified account.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

", "DescribeCreateAccountStatus": "

Retrieves the current status of an asynchronous request to create an account.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

", "DescribeEffectivePolicy": "

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 operation applies only to policy types other than service control policies (SCPs).

For more information about policy inheritance, see How Policy Inheritance Works in the AWS Organizations User Guide.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

", diff --git a/models/apis/resource-groups/2017-11-27/docs-2.json b/models/apis/resource-groups/2017-11-27/docs-2.json index 0169cf0770e..b2fc39a45cc 100644 --- a/models/apis/resource-groups/2017-11-27/docs-2.json +++ b/models/apis/resource-groups/2017-11-27/docs-2.json @@ -9,9 +9,9 @@ "GetGroupQuery": "

Retrieves the resource query associated with the specified resource group.

", "GetTags": "

Returns a list of tags that are associated with a resource group, specified by an ARN.

", "GroupResources": "

Adds the specified resources to the specified group.

", - "ListGroupResources": "

Returns a list of ARNs of resources that are members of a specified resource group.

", + "ListGroupResources": "

Returns a list of ARNs of the resources that are members of a specified resource group.

", "ListGroups": "

Returns a list of existing resource groups in your account.

", - "SearchResources": "

Returns a list of AWS resource identifiers that matches a specified query. The query uses the same format as a resource query in a CreateGroup or UpdateGroupQuery operation.

", + "SearchResources": "

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.

", "Tag": "

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.

", "UngroupResources": "

Removes the specified resources from the specified group.

", "Untag": "

Deletes tags from a specified resource group.

", @@ -403,7 +403,7 @@ "QueryType": { "base": null, "refs": { - "ResourceQuery$Type": "

The type of the query. The valid values in this release are the following:

" + "ResourceQuery$Type": "

The type of the query. You can use the following values:

" } }, "ResourceArn": { diff --git a/models/apis/servicecatalog/2015-12-10/api-2.json b/models/apis/servicecatalog/2015-12-10/api-2.json index 4f08d2e06e4..39316e1ebaf 100644 --- a/models/apis/servicecatalog/2015-12-10/api-2.json +++ b/models/apis/servicecatalog/2015-12-10/api-2.json @@ -1904,15 +1904,14 @@ }, "DescribeProvisioningParametersInput":{ "type":"structure", - "required":[ - "ProductId", - "ProvisioningArtifactId" - ], "members":{ "AcceptLanguage":{"shape":"AcceptLanguage"}, "ProductId":{"shape":"Id"}, + "ProductName":{"shape":"ProductViewName"}, "ProvisioningArtifactId":{"shape":"Id"}, - "PathId":{"shape":"Id"} + "ProvisioningArtifactName":{"shape":"ProvisioningArtifactName"}, + "PathId":{"shape":"Id"}, + "PathName":{"shape":"PortfolioDisplayName"} } }, "DescribeProvisioningParametersOutput":{ @@ -1922,7 +1921,8 @@ "ConstraintSummaries":{"shape":"ConstraintSummaries"}, "UsageInstructions":{"shape":"UsageInstructions"}, "TagOptions":{"shape":"TagOptionSummaries"}, - "ProvisioningArtifactPreferences":{"shape":"ProvisioningArtifactPreferences"} + "ProvisioningArtifactPreferences":{"shape":"ProvisioningArtifactPreferences"}, + "ProvisioningArtifactOutputs":{"shape":"ProvisioningArtifactOutputs"} } }, "DescribeRecordInput":{ @@ -2650,6 +2650,10 @@ "type":"list", "member":{"shape":"OrganizationNode"} }, + "OutputDescription":{ + "type":"string", + "max":1024 + }, "OutputKey":{"type":"string"}, "OutputValue":{"type":"string"}, "PageSize":{ @@ -2866,16 +2870,17 @@ "ProvisionProductInput":{ "type":"structure", "required":[ - "ProductId", - "ProvisioningArtifactId", "ProvisionedProductName", "ProvisionToken" ], "members":{ "AcceptLanguage":{"shape":"AcceptLanguage"}, "ProductId":{"shape":"Id"}, + "ProductName":{"shape":"ProductViewName"}, "ProvisioningArtifactId":{"shape":"Id"}, + "ProvisioningArtifactName":{"shape":"ProvisioningArtifactName"}, "PathId":{"shape":"Id"}, + "PathName":{"shape":"PortfolioDisplayName"}, "ProvisionedProductName":{"shape":"ProvisionedProductName"}, "ProvisioningParameters":{"shape":"ProvisioningParameters"}, "ProvisioningPreferences":{"shape":"ProvisioningPreferences"}, @@ -3086,6 +3091,24 @@ "type":"string", "max":8192 }, + "ProvisioningArtifactOutput":{ + "type":"structure", + "members":{ + "Key":{"shape":"ProvisioningArtifactOutputKey"}, + "Description":{"shape":"OutputDescription"} + } + }, + "ProvisioningArtifactOutputKey":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[a-zA-Z0-9]*" + }, + "ProvisioningArtifactOutputs":{ + "type":"list", + "member":{"shape":"ProvisioningArtifactOutput"}, + "max":60 + }, "ProvisioningArtifactParameter":{ "type":"structure", "members":{ @@ -3858,8 +3881,11 @@ "ProvisionedProductName":{"shape":"ProvisionedProductNameOrArn"}, "ProvisionedProductId":{"shape":"Id"}, "ProductId":{"shape":"Id"}, + "ProductName":{"shape":"ProductViewName"}, "ProvisioningArtifactId":{"shape":"Id"}, + "ProvisioningArtifactName":{"shape":"ProvisioningArtifactName"}, "PathId":{"shape":"Id"}, + "PathName":{"shape":"PortfolioDisplayName"}, "ProvisioningParameters":{"shape":"UpdateProvisioningParameters"}, "ProvisioningPreferences":{"shape":"UpdateProvisioningPreferences"}, "Tags":{"shape":"Tags"}, diff --git a/models/apis/servicecatalog/2015-12-10/docs-2.json b/models/apis/servicecatalog/2015-12-10/docs-2.json index 4a3480b964e..864668e45b1 100644 --- a/models/apis/servicecatalog/2015-12-10/docs-2.json +++ b/models/apis/servicecatalog/2015-12-10/docs-2.json @@ -13,7 +13,7 @@ "CopyProduct": "

Copies the specified source product to the specified target product or a new product.

You can copy a product to the same account or another account. You can copy a product to the same region or another region.

This operation is performed asynchronously. To track the progress of the operation, use DescribeCopyProductStatus.

", "CreateConstraint": "

Creates a constraint.

A delegated admin is authorized to invoke this command.

", "CreatePortfolio": "

Creates a portfolio.

A delegated admin is authorized to invoke this command.

", - "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 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.

", + "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 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.

", "CreateProduct": "

Creates a product.

A delegated admin is authorized to invoke this command.

", "CreateProvisionedProductPlan": "

Creates a plan. A plan includes the list of resources to be created (when provisioning a new product) or modified (when updating a provisioned product) when the plan is executed.

You can create one plan per provisioned product. To create a plan for an existing provisioned product, the product status must be AVAILBLE or TAINTED.

To view the resource changes in the change set, use DescribeProvisionedProductPlan. To create or modify the provisioned product, use ExecuteProvisionedProductPlan.

", "CreateProvisioningArtifact": "

Creates a provisioning artifact (also known as a version) for the specified product.

You cannot create a provisioning artifact for a product that was shared with you.

", @@ -1045,9 +1045,9 @@ "DescribeProvisionedProductPlanInput$PlanId": "

The plan identifier.

", "DescribeProvisioningArtifactInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", "DescribeProvisioningArtifactInput$ProductId": "

The product identifier.

", - "DescribeProvisioningParametersInput$ProductId": "

The product identifier.

", - "DescribeProvisioningParametersInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", - "DescribeProvisioningParametersInput$PathId": "

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.

", + "DescribeProvisioningParametersInput$ProductId": "

The product identifier. You must provide the product name or ID, but not both.

", + "DescribeProvisioningParametersInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact. You must provide the name or ID, but not both.

", + "DescribeProvisioningParametersInput$PathId": "

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. You must provide the name or ID, but not both.

", "DescribeRecordInput$Id": "

The record identifier of the provisioned product. This identifier is returned by the request operation.

", "DescribeServiceActionExecutionParametersInput$ProvisionedProductId": "

The identifier of the provisioned product.

", "DescribeServiceActionExecutionParametersInput$ServiceActionId": "

The self-service action identifier.

", @@ -1085,9 +1085,9 @@ "PortfolioDetail$Id": "

The portfolio identifier.

", "ProductViewSummary$Id": "

The product view identifier.

", "ProductViewSummary$ProductId": "

The product identifier.

", - "ProvisionProductInput$ProductId": "

The product identifier.

", - "ProvisionProductInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", - "ProvisionProductInput$PathId": "

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.

", + "ProvisionProductInput$ProductId": "

The product identifier. You must provide the name or ID, but not both.

", + "ProvisionProductInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact. You must provide the name or ID, but not both.

", + "ProvisionProductInput$PathId": "

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. You must provide the name or ID, but not both.

", "ProvisionedProductAttribute$Id": "

The identifier of the provisioned product.

", "ProvisionedProductAttribute$LastRecordId": "

The record identifier of the last request performed on this provisioned product.

", "ProvisionedProductAttribute$ProductId": "

The product identifier.

", @@ -1120,10 +1120,10 @@ "UpdateConstraintInput$Id": "

The identifier of the constraint.

", "UpdatePortfolioInput$Id": "

The portfolio identifier.

", "UpdateProductInput$Id": "

The product identifier.

", - "UpdateProvisionedProductInput$ProvisionedProductId": "

The identifier of the provisioned product. You cannot specify both ProvisionedProductName and ProvisionedProductId.

", - "UpdateProvisionedProductInput$ProductId": "

The identifier of the product.

", + "UpdateProvisionedProductInput$ProvisionedProductId": "

The identifier of the provisioned product. You must provide the name or ID, but not both.

", + "UpdateProvisionedProductInput$ProductId": "

The identifier of the product. You must provide the name or ID, but not both.

", "UpdateProvisionedProductInput$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", - "UpdateProvisionedProductInput$PathId": "

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.

", + "UpdateProvisionedProductInput$PathId": "

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.

", "UpdateProvisionedProductPropertiesInput$ProvisionedProductId": "

The identifier of the provisioned product.

", "UpdateProvisionedProductPropertiesOutput$ProvisionedProductId": "

The provisioned product identifier.

", "UpdateProvisionedProductPropertiesOutput$RecordId": "

The identifier of the record.

", @@ -1479,6 +1479,12 @@ "ListOrganizationPortfolioAccessOutput$OrganizationNodes": "

Displays information about the organization nodes.

" } }, + "OutputDescription": { + "base": null, + "refs": { + "ProvisioningArtifactOutput$Description": "

Description of the provisioning artifact output key.

" + } + }, "OutputKey": { "base": null, "refs": { @@ -1644,8 +1650,11 @@ "base": null, "refs": { "CreatePortfolioInput$DisplayName": "

The name to use for display purposes.

", + "DescribeProvisioningParametersInput$PathName": "

The name of the path. You must provide the name or ID, but not both.

", "PortfolioDetail$DisplayName": "

The name to use for display purposes.

", - "UpdatePortfolioInput$DisplayName": "

The name to use for display purposes.

" + "ProvisionProductInput$PathName": "

The name of the path. You must provide the name or ID, but not both.

", + "UpdatePortfolioInput$DisplayName": "

The name to use for display purposes.

", + "UpdateProvisionedProductInput$PathName": "

The name of the path. You must provide the name or ID, but not both.

" } }, "PortfolioName": { @@ -1787,8 +1796,11 @@ "DescribeProductAsAdminInput$Name": "

The product name.

", "DescribeProductInput$Name": "

The product name.

", "DescribeProvisioningArtifactInput$ProductName": "

The product name.

", + "DescribeProvisioningParametersInput$ProductName": "

The name of the product. You must provide the name or ID, but not both.

", "ProductViewSummary$Name": "

The name of the product.

", - "UpdateProductInput$Name": "

The updated product name.

" + "ProvisionProductInput$ProductName": "

The name of the product. You must provide the name or ID, but not both.

", + "UpdateProductInput$Name": "

The updated product name.

", + "UpdateProvisionedProductInput$ProductName": "

The name of the product. You must provide the name or ID, but not both.

" } }, "ProductViewOwner": { @@ -2095,14 +2107,35 @@ "base": null, "refs": { "DescribeProvisioningArtifactInput$ProvisioningArtifactName": "

The provisioning artifact name.

", + "DescribeProvisioningParametersInput$ProvisioningArtifactName": "

The name of the provisioning artifact. You must provide the name or ID, but not both.

", + "ProvisionProductInput$ProvisioningArtifactName": "

The name of the provisioning artifact. You must provide the name or ID, but not both.

", "ProvisioningArtifact$Name": "

The name of the provisioning artifact.

", "ProvisioningArtifactDetail$Name": "

The name of the provisioning artifact.

", "ProvisioningArtifactDetail$Description": "

The description of the provisioning artifact.

", "ProvisioningArtifactProperties$Name": "

The name of the provisioning artifact (for example, v1 v2beta). No spaces are allowed.

", "ProvisioningArtifactSummary$Name": "

The name of the provisioning artifact.

", + "UpdateProvisionedProductInput$ProvisioningArtifactName": "

The name of the provisioning artifact. You must provide the name or ID, but not both.

", "UpdateProvisioningArtifactInput$Name": "

The updated name of the provisioning artifact.

" } }, + "ProvisioningArtifactOutput": { + "base": "

Provisioning artifact output.

", + "refs": { + "ProvisioningArtifactOutputs$member": null + } + }, + "ProvisioningArtifactOutputKey": { + "base": null, + "refs": { + "ProvisioningArtifactOutput$Key": "

The provisioning artifact output key.

" + } + }, + "ProvisioningArtifactOutputs": { + "base": null, + "refs": { + "DescribeProvisioningParametersOutput$ProvisioningArtifactOutputs": "

The output of the provisioning artifact.

" + } + }, "ProvisioningArtifactParameter": { "base": "

Information about a parameter used to provision a product.

", "refs": { diff --git a/models/apis/sesv2/2019-09-27/api-2.json b/models/apis/sesv2/2019-09-27/api-2.json index 03d68d4d52f..b13245be6c3 100644 --- a/models/apis/sesv2/2019-09-27/api-2.json +++ b/models/apis/sesv2/2019-09-27/api-2.json @@ -46,6 +46,22 @@ {"shape":"BadRequestException"} ] }, + "CreateCustomVerificationEmailTemplate":{ + "name":"CreateCustomVerificationEmailTemplate", + "http":{ + "method":"POST", + "requestUri":"/v2/email/custom-verification-email-templates" + }, + "input":{"shape":"CreateCustomVerificationEmailTemplateRequest"}, + "output":{"shape":"CreateCustomVerificationEmailTemplateResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"} + ] + }, "CreateDedicatedIpPool":{ "name":"CreateDedicatedIpPool", "http":{ @@ -98,6 +114,37 @@ {"shape":"ConcurrentModificationException"} ] }, + "CreateEmailIdentityPolicy":{ + "name":"CreateEmailIdentityPolicy", + "http":{ + "method":"POST", + "requestUri":"/v2/email/identities/{EmailIdentity}/policies/{PolicyName}" + }, + "input":{"shape":"CreateEmailIdentityPolicyRequest"}, + "output":{"shape":"CreateEmailIdentityPolicyResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"BadRequestException"} + ] + }, + "CreateEmailTemplate":{ + "name":"CreateEmailTemplate", + "http":{ + "method":"POST", + "requestUri":"/v2/email/templates" + }, + "input":{"shape":"CreateEmailTemplateRequest"}, + "output":{"shape":"CreateEmailTemplateResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"} + ] + }, "DeleteConfigurationSet":{ "name":"DeleteConfigurationSet", "http":{ @@ -127,6 +174,20 @@ {"shape":"BadRequestException"} ] }, + "DeleteCustomVerificationEmailTemplate":{ + "name":"DeleteCustomVerificationEmailTemplate", + "http":{ + "method":"DELETE", + "requestUri":"/v2/email/custom-verification-email-templates/{TemplateName}" + }, + "input":{"shape":"DeleteCustomVerificationEmailTemplateRequest"}, + "output":{"shape":"DeleteCustomVerificationEmailTemplateResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] + }, "DeleteDedicatedIpPool":{ "name":"DeleteDedicatedIpPool", "http":{ @@ -157,6 +218,34 @@ {"shape":"ConcurrentModificationException"} ] }, + "DeleteEmailIdentityPolicy":{ + "name":"DeleteEmailIdentityPolicy", + "http":{ + "method":"DELETE", + "requestUri":"/v2/email/identities/{EmailIdentity}/policies/{PolicyName}" + }, + "input":{"shape":"DeleteEmailIdentityPolicyRequest"}, + "output":{"shape":"DeleteEmailIdentityPolicyResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] + }, + "DeleteEmailTemplate":{ + "name":"DeleteEmailTemplate", + "http":{ + "method":"DELETE", + "requestUri":"/v2/email/templates/{TemplateName}" + }, + "input":{"shape":"DeleteEmailTemplateRequest"}, + "output":{"shape":"DeleteEmailTemplateResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] + }, "DeleteSuppressedDestination":{ "name":"DeleteSuppressedDestination", "http":{ @@ -226,6 +315,20 @@ {"shape":"BadRequestException"} ] }, + "GetCustomVerificationEmailTemplate":{ + "name":"GetCustomVerificationEmailTemplate", + "http":{ + "method":"GET", + "requestUri":"/v2/email/custom-verification-email-templates/{TemplateName}" + }, + "input":{"shape":"GetCustomVerificationEmailTemplateRequest"}, + "output":{"shape":"GetCustomVerificationEmailTemplateResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] + }, "GetDedicatedIp":{ "name":"GetDedicatedIp", "http":{ @@ -324,6 +427,34 @@ {"shape":"BadRequestException"} ] }, + "GetEmailIdentityPolicies":{ + "name":"GetEmailIdentityPolicies", + "http":{ + "method":"GET", + "requestUri":"/v2/email/identities/{EmailIdentity}/policies" + }, + "input":{"shape":"GetEmailIdentityPoliciesRequest"}, + "output":{"shape":"GetEmailIdentityPoliciesResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] + }, + "GetEmailTemplate":{ + "name":"GetEmailTemplate", + "http":{ + "method":"GET", + "requestUri":"/v2/email/templates/{TemplateName}" + }, + "input":{"shape":"GetEmailTemplateRequest"}, + "output":{"shape":"GetEmailTemplateResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] + }, "GetSuppressedDestination":{ "name":"GetSuppressedDestination", "http":{ @@ -351,6 +482,19 @@ {"shape":"BadRequestException"} ] }, + "ListCustomVerificationEmailTemplates":{ + "name":"ListCustomVerificationEmailTemplates", + "http":{ + "method":"GET", + "requestUri":"/v2/email/custom-verification-email-templates" + }, + "input":{"shape":"ListCustomVerificationEmailTemplatesRequest"}, + "output":{"shape":"ListCustomVerificationEmailTemplatesResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] + }, "ListDedicatedIpPools":{ "name":"ListDedicatedIpPools", "http":{ @@ -405,6 +549,19 @@ {"shape":"BadRequestException"} ] }, + "ListEmailTemplates":{ + "name":"ListEmailTemplates", + "http":{ + "method":"GET", + "requestUri":"/v2/email/templates" + }, + "input":{"shape":"ListEmailTemplatesRequest"}, + "output":{"shape":"ListEmailTemplatesResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] + }, "ListSuppressedDestinations":{ "name":"ListSuppressedDestinations", "http":{ @@ -446,6 +603,20 @@ {"shape":"BadRequestException"} ] }, + "PutAccountDetails":{ + "name":"PutAccountDetails", + "http":{ + "method":"POST", + "requestUri":"/v2/email/account/details" + }, + "input":{"shape":"PutAccountDetailsRequest"}, + "output":{"shape":"PutAccountDetailsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"}, + {"shape":"ConflictException"} + ] + }, "PutAccountSendingAttributes":{ "name":"PutAccountSendingAttributes", "http":{ @@ -655,6 +826,43 @@ {"shape":"TooManyRequestsException"} ] }, + "SendBulkEmail":{ + "name":"SendBulkEmail", + "http":{ + "method":"POST", + "requestUri":"/v2/email/outbound-bulk-emails" + }, + "input":{"shape":"SendBulkEmailRequest"}, + "output":{"shape":"SendBulkEmailResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"AccountSuspendedException"}, + {"shape":"SendingPausedException"}, + {"shape":"MessageRejected"}, + {"shape":"MailFromDomainNotVerifiedException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ] + }, + "SendCustomVerificationEmail":{ + "name":"SendCustomVerificationEmail", + "http":{ + "method":"POST", + "requestUri":"/v2/email/outbound-custom-verification-emails" + }, + "input":{"shape":"SendCustomVerificationEmailRequest"}, + "output":{"shape":"SendCustomVerificationEmailResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"LimitExceededException"}, + {"shape":"MessageRejected"}, + {"shape":"SendingPausedException"}, + {"shape":"MailFromDomainNotVerifiedException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"} + ] + }, "SendEmail":{ "name":"SendEmail", "http":{ @@ -689,6 +897,20 @@ {"shape":"TooManyRequestsException"} ] }, + "TestRenderEmailTemplate":{ + "name":"TestRenderEmailTemplate", + "http":{ + "method":"POST", + "requestUri":"/v2/email/templates/{TemplateName}/render" + }, + "input":{"shape":"TestRenderEmailTemplateRequest"}, + "output":{"shape":"TestRenderEmailTemplateResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] + }, "UntagResource":{ "name":"UntagResource", "http":{ @@ -717,9 +939,62 @@ {"shape":"TooManyRequestsException"}, {"shape":"BadRequestException"} ] + }, + "UpdateCustomVerificationEmailTemplate":{ + "name":"UpdateCustomVerificationEmailTemplate", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/custom-verification-email-templates/{TemplateName}" + }, + "input":{"shape":"UpdateCustomVerificationEmailTemplateRequest"}, + "output":{"shape":"UpdateCustomVerificationEmailTemplateResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"TooManyRequestsException"} + ] + }, + "UpdateEmailIdentityPolicy":{ + "name":"UpdateEmailIdentityPolicy", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/identities/{EmailIdentity}/policies/{PolicyName}" + }, + "input":{"shape":"UpdateEmailIdentityPolicyRequest"}, + "output":{"shape":"UpdateEmailIdentityPolicyResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] + }, + "UpdateEmailTemplate":{ + "name":"UpdateEmailTemplate", + "http":{ + "method":"PUT", + "requestUri":"/v2/email/templates/{TemplateName}" + }, + "input":{"shape":"UpdateEmailTemplateRequest"}, + "output":{"shape":"UpdateEmailTemplateResponse"}, + "errors":[ + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] } }, "shapes":{ + "AccountDetails":{ + "type":"structure", + "members":{ + "MailType":{"shape":"MailType"}, + "WebsiteURL":{"shape":"WebsiteURL"}, + "ContactLanguage":{"shape":"ContactLanguage"}, + "UseCaseDescription":{"shape":"UseCaseDescription"}, + "AdditionalContactEmailAddresses":{"shape":"AdditionalContactEmailAddresses"}, + "ReviewDetails":{"shape":"ReviewDetails"} + } + }, "AccountSuspendedException":{ "type":"structure", "members":{ @@ -727,6 +1002,20 @@ "error":{"httpStatusCode":400}, "exception":true }, + "AdditionalContactEmailAddress":{ + "type":"string", + "max":254, + "min":6, + "pattern":"^(.+)@(.+)$", + "sensitive":true + }, + "AdditionalContactEmailAddresses":{ + "type":"list", + "member":{"shape":"AdditionalContactEmailAddress"}, + "max":4, + "min":1, + "sensitive":true + }, "AlreadyExistsException":{ "type":"structure", "members":{ @@ -779,7 +1068,58 @@ "Html":{"shape":"Content"} } }, + "BulkEmailContent":{ + "type":"structure", + "members":{ + "Template":{"shape":"Template"} + } + }, + "BulkEmailEntry":{ + "type":"structure", + "required":["Destination"], + "members":{ + "Destination":{"shape":"Destination"}, + "ReplacementTags":{"shape":"MessageTagList"}, + "ReplacementEmailContent":{"shape":"ReplacementEmailContent"} + } + }, + "BulkEmailEntryList":{ + "type":"list", + "member":{"shape":"BulkEmailEntry"} + }, + "BulkEmailEntryResult":{ + "type":"structure", + "members":{ + "Status":{"shape":"BulkEmailStatus"}, + "Error":{"shape":"ErrorMessage"}, + "MessageId":{"shape":"OutboundMessageId"} + } + }, + "BulkEmailEntryResultList":{ + "type":"list", + "member":{"shape":"BulkEmailEntryResult"} + }, + "BulkEmailStatus":{ + "type":"string", + "enum":[ + "SUCCESS", + "MESSAGE_REJECTED", + "MAIL_FROM_DOMAIN_NOT_VERIFIED", + "CONFIGURATION_SET_NOT_FOUND", + "TEMPLATE_NOT_FOUND", + "ACCOUNT_SUSPENDED", + "ACCOUNT_THROTTLED", + "ACCOUNT_DAILY_QUOTA_EXCEEDED", + "INVALID_SENDING_POOL_NAME", + "ACCOUNT_SENDING_PAUSED", + "CONFIGURATION_SET_SENDING_PAUSED", + "INVALID_PARAMETER", + "TRANSIENT_FAILURE", + "FAILED" + ] + }, "CampaignId":{"type":"string"}, + "CaseId":{"type":"string"}, "Charset":{"type":"string"}, "CloudWatchDestination":{ "type":"structure", @@ -810,13 +1150,28 @@ "members":{ }, "error":{"httpStatusCode":500}, - "exception":true + "exception":true, + "fault":true }, "ConfigurationSetName":{"type":"string"}, "ConfigurationSetNameList":{ "type":"list", "member":{"shape":"ConfigurationSetName"} }, + "ConflictException":{ + "type":"structure", + "members":{ + }, + "error":{"httpStatusCode":409}, + "exception":true + }, + "ContactLanguage":{ + "type":"string", + "enum":[ + "EN", + "JA" + ] + }, "Content":{ "type":"structure", "required":["Data"], @@ -865,6 +1220,30 @@ "members":{ } }, + "CreateCustomVerificationEmailTemplateRequest":{ + "type":"structure", + "required":[ + "TemplateName", + "FromEmailAddress", + "TemplateSubject", + "TemplateContent", + "SuccessRedirectionURL", + "FailureRedirectionURL" + ], + "members":{ + "TemplateName":{"shape":"EmailTemplateName"}, + "FromEmailAddress":{"shape":"EmailAddress"}, + "TemplateSubject":{"shape":"EmailTemplateSubject"}, + "TemplateContent":{"shape":"TemplateContent"}, + "SuccessRedirectionURL":{"shape":"SuccessRedirectionURL"}, + "FailureRedirectionURL":{"shape":"FailureRedirectionURL"} + } + }, + "CreateCustomVerificationEmailTemplateResponse":{ + "type":"structure", + "members":{ + } + }, "CreateDedicatedIpPoolRequest":{ "type":"structure", "required":["PoolName"], @@ -902,6 +1281,32 @@ "DeliverabilityTestStatus":{"shape":"DeliverabilityTestStatus"} } }, + "CreateEmailIdentityPolicyRequest":{ + "type":"structure", + "required":[ + "EmailIdentity", + "PolicyName", + "Policy" + ], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "location":"uri", + "locationName":"EmailIdentity" + }, + "PolicyName":{ + "shape":"PolicyName", + "location":"uri", + "locationName":"PolicyName" + }, + "Policy":{"shape":"Policy"} + } + }, + "CreateEmailIdentityPolicyResponse":{ + "type":"structure", + "members":{ + } + }, "CreateEmailIdentityRequest":{ "type":"structure", "required":["EmailIdentity"], @@ -919,7 +1324,37 @@ "DkimAttributes":{"shape":"DkimAttributes"} } }, + "CreateEmailTemplateRequest":{ + "type":"structure", + "required":[ + "TemplateName", + "TemplateContent" + ], + "members":{ + "TemplateName":{"shape":"EmailTemplateName"}, + "TemplateContent":{"shape":"EmailTemplateContent"} + } + }, + "CreateEmailTemplateResponse":{ + "type":"structure", + "members":{ + } + }, "CustomRedirectDomain":{"type":"string"}, + "CustomVerificationEmailTemplateMetadata":{ + "type":"structure", + "members":{ + "TemplateName":{"shape":"EmailTemplateName"}, + "FromEmailAddress":{"shape":"EmailAddress"}, + "TemplateSubject":{"shape":"EmailTemplateSubject"}, + "SuccessRedirectionURL":{"shape":"SuccessRedirectionURL"}, + "FailureRedirectionURL":{"shape":"FailureRedirectionURL"} + } + }, + "CustomVerificationEmailTemplatesList":{ + "type":"list", + "member":{"shape":"CustomVerificationEmailTemplateMetadata"} + }, "DailyVolume":{ "type":"structure", "members":{ @@ -979,14 +1414,30 @@ "type":"structure", "required":["ConfigurationSetName"], "members":{ - "ConfigurationSetName":{ - "shape":"ConfigurationSetName", + "ConfigurationSetName":{ + "shape":"ConfigurationSetName", + "location":"uri", + "locationName":"ConfigurationSetName" + } + } + }, + "DeleteConfigurationSetResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteCustomVerificationEmailTemplateRequest":{ + "type":"structure", + "required":["TemplateName"], + "members":{ + "TemplateName":{ + "shape":"EmailTemplateName", "location":"uri", - "locationName":"ConfigurationSetName" + "locationName":"TemplateName" } } }, - "DeleteConfigurationSetResponse":{ + "DeleteCustomVerificationEmailTemplateResponse":{ "type":"structure", "members":{ } @@ -1007,6 +1458,30 @@ "members":{ } }, + "DeleteEmailIdentityPolicyRequest":{ + "type":"structure", + "required":[ + "EmailIdentity", + "PolicyName" + ], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "location":"uri", + "locationName":"EmailIdentity" + }, + "PolicyName":{ + "shape":"PolicyName", + "location":"uri", + "locationName":"PolicyName" + } + } + }, + "DeleteEmailIdentityPolicyResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteEmailIdentityRequest":{ "type":"structure", "required":["EmailIdentity"], @@ -1023,6 +1498,22 @@ "members":{ } }, + "DeleteEmailTemplateRequest":{ + "type":"structure", + "required":["TemplateName"], + "members":{ + "TemplateName":{ + "shape":"EmailTemplateName", + "location":"uri", + "locationName":"TemplateName" + } + } + }, + "DeleteEmailTemplateResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteSuppressedDestinationRequest":{ "type":"structure", "required":["EmailAddress"], @@ -1199,7 +1690,39 @@ "Template":{"shape":"Template"} } }, + "EmailTemplateContent":{ + "type":"structure", + "members":{ + "Subject":{"shape":"EmailTemplateSubject"}, + "Text":{"shape":"EmailTemplateText"}, + "Html":{"shape":"EmailTemplateHtml"} + } + }, + "EmailTemplateData":{ + "type":"string", + "max":262144 + }, + "EmailTemplateHtml":{"type":"string"}, + "EmailTemplateMetadata":{ + "type":"structure", + "members":{ + "TemplateName":{"shape":"EmailTemplateName"}, + "CreatedTimestamp":{"shape":"Timestamp"} + } + }, + "EmailTemplateMetadataList":{ + "type":"list", + "member":{"shape":"EmailTemplateMetadata"} + }, + "EmailTemplateName":{ + "type":"string", + "min":1 + }, + "EmailTemplateSubject":{"type":"string"}, + "EmailTemplateText":{"type":"string"}, "Enabled":{"type":"boolean"}, + "EnabledWrapper":{"type":"boolean"}, + "ErrorMessage":{"type":"string"}, "Esp":{"type":"string"}, "Esps":{ "type":"list", @@ -1255,6 +1778,7 @@ "type":"list", "member":{"shape":"EventType"} }, + "FailureRedirectionURL":{"type":"string"}, "FeedbackId":{"type":"string"}, "GeneralEnforcementStatus":{"type":"string"}, "GetAccountRequest":{ @@ -1270,7 +1794,8 @@ "ProductionAccessEnabled":{"shape":"Enabled"}, "SendQuota":{"shape":"SendQuota"}, "SendingEnabled":{"shape":"Enabled"}, - "SuppressionAttributes":{"shape":"SuppressionAttributes"} + "SuppressionAttributes":{"shape":"SuppressionAttributes"}, + "Details":{"shape":"AccountDetails"} } }, "GetBlacklistReportsRequest":{ @@ -1331,6 +1856,28 @@ "SuppressionOptions":{"shape":"SuppressionOptions"} } }, + "GetCustomVerificationEmailTemplateRequest":{ + "type":"structure", + "required":["TemplateName"], + "members":{ + "TemplateName":{ + "shape":"EmailTemplateName", + "location":"uri", + "locationName":"TemplateName" + } + } + }, + "GetCustomVerificationEmailTemplateResponse":{ + "type":"structure", + "members":{ + "TemplateName":{"shape":"EmailTemplateName"}, + "FromEmailAddress":{"shape":"EmailAddress"}, + "TemplateSubject":{"shape":"EmailTemplateSubject"}, + "TemplateContent":{"shape":"TemplateContent"}, + "SuccessRedirectionURL":{"shape":"SuccessRedirectionURL"}, + "FailureRedirectionURL":{"shape":"FailureRedirectionURL"} + } + }, "GetDedicatedIpRequest":{ "type":"structure", "required":["Ip"], @@ -1471,6 +2018,23 @@ "DailyVolumes":{"shape":"DailyVolumes"} } }, + "GetEmailIdentityPoliciesRequest":{ + "type":"structure", + "required":["EmailIdentity"], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "location":"uri", + "locationName":"EmailIdentity" + } + } + }, + "GetEmailIdentityPoliciesResponse":{ + "type":"structure", + "members":{ + "Policies":{"shape":"PolicyMap"} + } + }, "GetEmailIdentityRequest":{ "type":"structure", "required":["EmailIdentity"], @@ -1490,9 +2054,32 @@ "VerifiedForSendingStatus":{"shape":"Enabled"}, "DkimAttributes":{"shape":"DkimAttributes"}, "MailFromAttributes":{"shape":"MailFromAttributes"}, + "Policies":{"shape":"PolicyMap"}, "Tags":{"shape":"TagList"} } }, + "GetEmailTemplateRequest":{ + "type":"structure", + "required":["TemplateName"], + "members":{ + "TemplateName":{ + "shape":"EmailTemplateName", + "location":"uri", + "locationName":"TemplateName" + } + } + }, + "GetEmailTemplateResponse":{ + "type":"structure", + "required":[ + "TemplateName", + "TemplateContent" + ], + "members":{ + "TemplateName":{"shape":"EmailTemplateName"}, + "TemplateContent":{"shape":"EmailTemplateContent"} + } + }, "GetSuppressedDestinationRequest":{ "type":"structure", "required":["EmailAddress"], @@ -1511,7 +2098,10 @@ "SuppressedDestination":{"shape":"SuppressedDestination"} } }, - "Identity":{"type":"string"}, + "Identity":{ + "type":"string", + "min":1 + }, "IdentityInfo":{ "type":"structure", "members":{ @@ -1609,6 +2199,28 @@ "NextToken":{"shape":"NextToken"} } }, + "ListCustomVerificationEmailTemplatesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "location":"querystring", + "locationName":"PageSize" + } + } + }, + "ListCustomVerificationEmailTemplatesResponse":{ + "type":"structure", + "members":{ + "CustomVerificationEmailTemplates":{"shape":"CustomVerificationEmailTemplatesList"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListDedicatedIpPoolsRequest":{ "type":"structure", "members":{ @@ -1719,6 +2331,28 @@ "NextToken":{"shape":"NextToken"} } }, + "ListEmailTemplatesRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "location":"querystring", + "locationName":"PageSize" + } + } + }, + "ListEmailTemplatesResponse":{ + "type":"structure", + "members":{ + "TemplatesMetadata":{"shape":"EmailTemplateMetadataList"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListOfDedicatedIpPools":{ "type":"list", "member":{"shape":"PoolName"} @@ -1808,6 +2442,13 @@ "TEMPORARY_FAILURE" ] }, + "MailType":{ + "type":"string", + "enum":[ + "MARKETING", + "TRANSACTIONAL" + ] + }, "Max24HourSend":{"type":"double"}, "MaxItems":{"type":"integer"}, "MaxSendRate":{"type":"double"}, @@ -1883,6 +2524,20 @@ "DkimPercentage":{"shape":"Percentage"} } }, + "Policy":{ + "type":"string", + "min":1 + }, + "PolicyMap":{ + "type":"map", + "key":{"shape":"PolicyName"}, + "value":{"shape":"Policy"} + }, + "PolicyName":{ + "type":"string", + "max":64, + "min":1 + }, "PoolName":{"type":"string"}, "PrivateKey":{ "type":"string", @@ -1902,6 +2557,27 @@ "members":{ } }, + "PutAccountDetailsRequest":{ + "type":"structure", + "required":[ + "MailType", + "WebsiteURL", + "UseCaseDescription" + ], + "members":{ + "MailType":{"shape":"MailType"}, + "WebsiteURL":{"shape":"WebsiteURL"}, + "ContactLanguage":{"shape":"ContactLanguage"}, + "UseCaseDescription":{"shape":"UseCaseDescription"}, + "AdditionalContactEmailAddresses":{"shape":"AdditionalContactEmailAddresses"}, + "ProductionAccessEnabled":{"shape":"EnabledWrapper"} + } + }, + "PutAccountDetailsResponse":{ + "type":"structure", + "members":{ + } + }, "PutAccountSendingAttributesRequest":{ "type":"structure", "members":{ @@ -2163,6 +2839,19 @@ }, "RawMessageData":{"type":"blob"}, "RblName":{"type":"string"}, + "RenderedEmailTemplate":{"type":"string"}, + "ReplacementEmailContent":{ + "type":"structure", + "members":{ + "ReplacementTemplate":{"shape":"ReplacementTemplate"} + } + }, + "ReplacementTemplate":{ + "type":"structure", + "members":{ + "ReplacementTemplateData":{"shape":"EmailTemplateData"} + } + }, "ReportId":{"type":"string"}, "ReportName":{"type":"string"}, "ReputationOptions":{ @@ -2172,23 +2861,81 @@ "LastFreshStart":{"shape":"LastFreshStart"} } }, + "ReviewDetails":{ + "type":"structure", + "members":{ + "Status":{"shape":"ReviewStatus"}, + "CaseId":{"shape":"CaseId"} + } + }, + "ReviewStatus":{ + "type":"string", + "enum":[ + "PENDING", + "FAILED", + "GRANTED", + "DENIED" + ] + }, "Selector":{ "type":"string", "max":63, "min":1, "pattern":"^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9]))$" }, - "SendEmailRequest":{ + "SendBulkEmailRequest":{ "type":"structure", "required":[ - "Destination", - "Content" + "DefaultContent", + "BulkEmailEntries" + ], + "members":{ + "FromEmailAddress":{"shape":"EmailAddress"}, + "FromEmailAddressIdentityArn":{"shape":"AmazonResourceName"}, + "ReplyToAddresses":{"shape":"EmailAddressList"}, + "FeedbackForwardingEmailAddress":{"shape":"EmailAddress"}, + "FeedbackForwardingEmailAddressIdentityArn":{"shape":"AmazonResourceName"}, + "DefaultEmailTags":{"shape":"MessageTagList"}, + "DefaultContent":{"shape":"BulkEmailContent"}, + "BulkEmailEntries":{"shape":"BulkEmailEntryList"}, + "ConfigurationSetName":{"shape":"ConfigurationSetName"} + } + }, + "SendBulkEmailResponse":{ + "type":"structure", + "required":["BulkEmailEntryResults"], + "members":{ + "BulkEmailEntryResults":{"shape":"BulkEmailEntryResultList"} + } + }, + "SendCustomVerificationEmailRequest":{ + "type":"structure", + "required":[ + "EmailAddress", + "TemplateName" ], + "members":{ + "EmailAddress":{"shape":"EmailAddress"}, + "TemplateName":{"shape":"EmailTemplateName"}, + "ConfigurationSetName":{"shape":"ConfigurationSetName"} + } + }, + "SendCustomVerificationEmailResponse":{ + "type":"structure", + "members":{ + "MessageId":{"shape":"OutboundMessageId"} + } + }, + "SendEmailRequest":{ + "type":"structure", + "required":["Content"], "members":{ "FromEmailAddress":{"shape":"EmailAddress"}, + "FromEmailAddressIdentityArn":{"shape":"AmazonResourceName"}, "Destination":{"shape":"Destination"}, "ReplyToAddresses":{"shape":"EmailAddressList"}, "FeedbackForwardingEmailAddress":{"shape":"EmailAddress"}, + "FeedbackForwardingEmailAddressIdentityArn":{"shape":"AmazonResourceName"}, "Content":{"shape":"EmailContent"}, "EmailTags":{"shape":"MessageTagList"}, "ConfigurationSetName":{"shape":"ConfigurationSetName"} @@ -2231,6 +2978,7 @@ } }, "Subject":{"type":"string"}, + "SuccessRedirectionURL":{"type":"string"}, "SuppressedDestination":{ "type":"structure", "required":[ @@ -2332,14 +3080,33 @@ "Template":{ "type":"structure", "members":{ - "TemplateArn":{"shape":"TemplateArn"}, - "TemplateData":{"shape":"TemplateData"} + "TemplateName":{"shape":"EmailTemplateName"}, + "TemplateArn":{"shape":"AmazonResourceName"}, + "TemplateData":{"shape":"EmailTemplateData"} } }, - "TemplateArn":{"type":"string"}, - "TemplateData":{ - "type":"string", - "max":262144 + "TemplateContent":{"type":"string"}, + "TestRenderEmailTemplateRequest":{ + "type":"structure", + "required":[ + "TemplateName", + "TemplateData" + ], + "members":{ + "TemplateName":{ + "shape":"EmailTemplateName", + "location":"uri", + "locationName":"TemplateName" + }, + "TemplateData":{"shape":"EmailTemplateData"} + } + }, + "TestRenderEmailTemplateResponse":{ + "type":"structure", + "required":["RenderedTemplate"], + "members":{ + "RenderedTemplate":{"shape":"RenderedEmailTemplate"} + } }, "Timestamp":{"type":"timestamp"}, "TlsPolicy":{ @@ -2413,6 +3180,86 @@ "members":{ } }, + "UpdateCustomVerificationEmailTemplateRequest":{ + "type":"structure", + "required":[ + "TemplateName", + "FromEmailAddress", + "TemplateSubject", + "TemplateContent", + "SuccessRedirectionURL", + "FailureRedirectionURL" + ], + "members":{ + "TemplateName":{ + "shape":"EmailTemplateName", + "location":"uri", + "locationName":"TemplateName" + }, + "FromEmailAddress":{"shape":"EmailAddress"}, + "TemplateSubject":{"shape":"EmailTemplateSubject"}, + "TemplateContent":{"shape":"TemplateContent"}, + "SuccessRedirectionURL":{"shape":"SuccessRedirectionURL"}, + "FailureRedirectionURL":{"shape":"FailureRedirectionURL"} + } + }, + "UpdateCustomVerificationEmailTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateEmailIdentityPolicyRequest":{ + "type":"structure", + "required":[ + "EmailIdentity", + "PolicyName", + "Policy" + ], + "members":{ + "EmailIdentity":{ + "shape":"Identity", + "location":"uri", + "locationName":"EmailIdentity" + }, + "PolicyName":{ + "shape":"PolicyName", + "location":"uri", + "locationName":"PolicyName" + }, + "Policy":{"shape":"Policy"} + } + }, + "UpdateEmailIdentityPolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateEmailTemplateRequest":{ + "type":"structure", + "required":[ + "TemplateName", + "TemplateContent" + ], + "members":{ + "TemplateName":{ + "shape":"EmailTemplateName", + "location":"uri", + "locationName":"TemplateName" + }, + "TemplateContent":{"shape":"EmailTemplateContent"} + } + }, + "UpdateEmailTemplateResponse":{ + "type":"structure", + "members":{ + } + }, + "UseCaseDescription":{ + "type":"string", + "max":5000, + "min":1, + "sensitive":true + }, "Volume":{"type":"long"}, "VolumeStatistics":{ "type":"structure", @@ -2429,6 +3276,13 @@ "IN_PROGRESS", "DONE" ] + }, + "WebsiteURL":{ + "type":"string", + "max":1000, + "min":1, + "pattern":"^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?", + "sensitive":true } } } diff --git a/models/apis/sesv2/2019-09-27/docs-2.json b/models/apis/sesv2/2019-09-27/docs-2.json index eb5fde57c57..d6cf446b1d7 100644 --- a/models/apis/sesv2/2019-09-27/docs-2.json +++ b/models/apis/sesv2/2019-09-27/docs-2.json @@ -4,34 +4,46 @@ "operations": { "CreateConfigurationSet": "

Create a configuration set. Configuration sets are groups of rules that you can apply to the emails that you send. You apply a configuration set to an email by specifying the name of the configuration set when you call the Amazon SES API v2. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

", "CreateConfigurationSetEventDestination": "

Create an event destination. Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

A single configuration set can include more than one event destination.

", + "CreateCustomVerificationEmailTemplate": "

Creates a new custom verification email template.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", "CreateDedicatedIpPool": "

Create a new pool of dedicated IP addresses. A pool can include one or more dedicated IP addresses that are associated with your AWS account. You can associate a pool with a configuration set. When you send an email that uses that configuration set, the message is sent from one of the addresses in the associated pool.

", "CreateDeliverabilityTestReport": "

Create a new predictive inbox placement test. Predictive inbox placement tests can help you predict how your messages will be handled by various email providers around the world. When you perform a predictive inbox placement test, you provide a sample message that contains the content that you plan to send to your customers. Amazon SES then sends that message to special email addresses spread across several major email providers. After about 24 hours, the test is complete, and you can use the GetDeliverabilityTestReport operation to view the results of the test.

", "CreateEmailIdentity": "

Starts the process of verifying an email identity. An identity is an email address or domain that you use when you send email. Before you can use an identity to send email, you first have to verify it. By verifying an identity, you demonstrate that you're the owner of the identity, and that you've given Amazon SES API v2 permission to send email from the identity.

When you verify an email address, Amazon SES sends an email to the address. Your email address is verified as soon as you follow the link in the verification email.

When you verify a domain without specifying the DkimSigningAttributes object, this operation provides a set of DKIM tokens. You can convert these tokens into CNAME records, which you then add to the DNS configuration for your domain. Your domain is verified when Amazon SES detects these records in the DNS configuration for your domain. This verification method is known as Easy DKIM.

Alternatively, you can perform the verification process by providing your own public-private key pair. This verification method is known as Bring Your Own DKIM (BYODKIM). To use BYODKIM, your call to the CreateEmailIdentity operation has to include the DkimSigningAttributes object. When you specify this object, you provide a selector (a component of the DNS record name that identifies the public key that you want to use for DKIM authentication) and a private key.

", + "CreateEmailIdentityPolicy": "

Creates the specified sending authorization policy for the given identity (an email address or a domain).

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "CreateEmailTemplate": "

Creates an email template. Email templates enable you to send personalized email to one or more destinations in a single API operation. For more information, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", "DeleteConfigurationSet": "

Delete an existing configuration set.

Configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

", "DeleteConfigurationSetEventDestination": "

Delete an event destination.

Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

", + "DeleteCustomVerificationEmailTemplate": "

Deletes an existing custom verification email template.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", "DeleteDedicatedIpPool": "

Delete a dedicated IP pool.

", "DeleteEmailIdentity": "

Deletes an email identity. An identity can be either an email address or a domain name.

", + "DeleteEmailIdentityPolicy": "

Deletes the specified sending authorization policy for the given identity (an email address or a domain). This API returns successfully even if a policy with the specified name does not exist.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "DeleteEmailTemplate": "

Deletes an email template.

You can execute this operation no more than once per second.

", "DeleteSuppressedDestination": "

Removes an email address from the suppression list for your account.

", "GetAccount": "

Obtain information about the email-sending status and capabilities of your Amazon SES account in the current AWS Region.

", "GetBlacklistReports": "

Retrieve a list of the blacklists that your dedicated IP addresses appear on.

", "GetConfigurationSet": "

Get information about an existing configuration set, including the dedicated IP pool that it's associated with, whether or not it's enabled for sending email, and more.

Configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

", "GetConfigurationSetEventDestinations": "

Retrieve a list of event destinations that are associated with a configuration set.

Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

", + "GetCustomVerificationEmailTemplate": "

Returns the custom email verification template for the template name you specify.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", "GetDedicatedIp": "

Get information about a dedicated IP address, including the name of the dedicated IP pool that it's associated with, as well information about the automatic warm-up process for the address.

", "GetDedicatedIps": "

List the dedicated IP addresses that are associated with your AWS account.

", "GetDeliverabilityDashboardOptions": "

Retrieve information about the status of the Deliverability dashboard for your account. When the Deliverability dashboard is enabled, you gain access to reputation, deliverability, and other metrics for the domains that you use to send email. You also gain the ability to perform predictive inbox placement tests.

When you use the Deliverability dashboard, you pay a monthly subscription charge, in addition to any other fees that you accrue by using Amazon SES and other AWS services. For more information about the features and cost of a Deliverability dashboard subscription, see Amazon SES Pricing.

", "GetDeliverabilityTestReport": "

Retrieve the results of a predictive inbox placement test.

", "GetDomainDeliverabilityCampaign": "

Retrieve all the deliverability data for a specific campaign. This data is available for a campaign only if the campaign sent email by using a domain that the Deliverability dashboard is enabled for.

", "GetDomainStatisticsReport": "

Retrieve inbox placement and engagement rates for the domains that you use to send email.

", - "GetEmailIdentity": "

Provides information about a specific identity, including the identity's verification status, its DKIM authentication status, and its custom Mail-From settings.

", + "GetEmailIdentity": "

Provides information about a specific identity, including the identity's verification status, sending authorization policies, its DKIM authentication status, and its custom Mail-From settings.

", + "GetEmailIdentityPolicies": "

Returns the requested sending authorization policies for the given identity (an email address or a domain). The policies are returned as a map of policy names to policy contents. You can retrieve a maximum of 20 policies at a time.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "GetEmailTemplate": "

Displays the template object (which includes the subject line, HTML part and text part) for the template you specify.

You can execute this operation no more than once per second.

", "GetSuppressedDestination": "

Retrieves information about a specific email address that's on the suppression list for your account.

", "ListConfigurationSets": "

List all of the configuration sets associated with your account in the current region.

Configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

", + "ListCustomVerificationEmailTemplates": "

Lists the existing custom verification email templates for your account in the current AWS Region.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", "ListDedicatedIpPools": "

List all of the dedicated IP pools that exist in your AWS account in the current Region.

", "ListDeliverabilityTestReports": "

Show a list of the predictive inbox placement tests that you've performed, regardless of their statuses. For predictive inbox placement tests that are complete, you can use the GetDeliverabilityTestReport operation to view the results.

", "ListDomainDeliverabilityCampaigns": "

Retrieve deliverability data for all the campaigns that used a specific domain to send email during a specified time range. This data is available for a domain only if you enabled the Deliverability dashboard for the domain.

", "ListEmailIdentities": "

Returns a list of all of the email identities that are associated with your AWS account. An identity can be either an email address or a domain. This operation returns identities that are verified as well as those that aren't. This operation returns identities that are associated with Amazon SES and Amazon Pinpoint.

", + "ListEmailTemplates": "

Lists the email templates present in your Amazon SES account in the current AWS Region.

You can execute this operation no more than once per second.

", "ListSuppressedDestinations": "

Retrieves a list of email addresses that are on the suppression list for your account.

", "ListTagsForResource": "

Retrieve a list of the tags (keys and values) that are associated with a specified resource. A tag is a label that you optionally define and associate with a resource. Each tag consists of a required tag key and an optional associated tag value. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key.

", "PutAccountDedicatedIpWarmupAttributes": "

Enable or disable the automatic warm-up feature for dedicated IP addresses.

", + "PutAccountDetails": "

Update your Amazon SES account details.

", "PutAccountSendingAttributes": "

Enable or disable the ability of your account to send email.

", "PutAccountSuppressionAttributes": "

Change the settings for the account-level suppression list.

", "PutConfigurationSetDeliveryOptions": "

Associate a configuration set with a dedicated IP pool. You can use dedicated IP pools to create groups of dedicated IP addresses for sending specific types of email.

", @@ -47,17 +59,42 @@ "PutEmailIdentityFeedbackAttributes": "

Used to enable or disable feedback forwarding for an identity. This setting determines what happens when an identity is used to send an email that results in a bounce or complaint event.

If the value is true, you receive email notifications when bounce or complaint events occur. These notifications are sent to the address that you specified in the Return-Path header of the original email.

You're required to have a method of tracking bounces and complaints. If you haven't set up another mechanism for receiving bounce or complaint notifications (for example, by setting up an event destination), you receive an email notification when these events occur (even if this setting is disabled).

", "PutEmailIdentityMailFromAttributes": "

Used to enable or disable the custom Mail-From domain configuration for an email identity.

", "PutSuppressedDestination": "

Adds an email address to the suppression list for your account.

", - "SendEmail": "

Sends an email message. You can use the Amazon SES API v2 to send two types of messages:

", + "SendBulkEmail": "

Composes an email message to multiple destinations.

", + "SendCustomVerificationEmail": "

Adds an email address to the list of identities for your Amazon SES account in the current AWS Region and attempts to verify it. As a result of executing this operation, a customized verification email is sent to the specified address.

To use this operation, you must first create a custom verification email template. For more information about creating and using custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "SendEmail": "

Sends an email message. You can use the Amazon SES API v2 to send two types of messages:

", "TagResource": "

Add one or more tags (keys and values) to a specified resource. A tag is a label that you optionally define and associate with a resource. Tags can help you categorize and manage resources in different ways, such as by purpose, owner, environment, or other criteria. A resource can have as many as 50 tags.

Each tag consists of a required tag key and an associated tag value, both of which you define. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key.

", + "TestRenderEmailTemplate": "

Creates a preview of the MIME content of an email when provided with a template and a set of replacement data.

You can execute this operation no more than once per second.

", "UntagResource": "

Remove one or more tags (keys and values) from a specified resource.

", - "UpdateConfigurationSetEventDestination": "

Update the configuration of an event destination for a configuration set.

Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

" + "UpdateConfigurationSetEventDestination": "

Update the configuration of an event destination for a configuration set.

Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

", + "UpdateCustomVerificationEmailTemplate": "

Updates an existing custom verification email template.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "UpdateEmailIdentityPolicy": "

Updates the specified sending authorization policy for the given identity (an email address or a domain). This API returns successfully even if a policy with the specified name does not exist.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "UpdateEmailTemplate": "

Updates an email template. Email templates enable you to send personalized email to one or more destinations in a single API operation. For more information, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

" }, "shapes": { + "AccountDetails": { + "base": "

An object that contains information about your account details.

", + "refs": { + "GetAccountResponse$Details": "

An object that defines your account details.

" + } + }, "AccountSuspendedException": { "base": "

The message can't be sent because the account's ability to send email has been permanently restricted.

", "refs": { } }, + "AdditionalContactEmailAddress": { + "base": null, + "refs": { + "AdditionalContactEmailAddresses$member": null + } + }, + "AdditionalContactEmailAddresses": { + "base": null, + "refs": { + "AccountDetails$AdditionalContactEmailAddresses": "

Additional email addresses where updates are sent about your account review process.

", + "PutAccountDetailsRequest$AdditionalContactEmailAddresses": "

Additional email addresses that you would like to be notified regarding Amazon SES matters.

" + } + }, "AlreadyExistsException": { "base": "

The resource specified in your request already exists.

", "refs": { @@ -70,8 +107,13 @@ "KinesisFirehoseDestination$DeliveryStreamArn": "

The Amazon Resource Name (ARN) of the Amazon Kinesis Data Firehose stream that the Amazon SES API v2 sends email events to.

", "ListTagsForResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource that you want to retrieve tag information for.

", "PinpointDestination$ApplicationArn": "

The Amazon Resource Name (ARN) of the Amazon Pinpoint project that you want to send email events to.

", + "SendBulkEmailRequest$FromEmailAddressIdentityArn": "

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the FromEmailAddress parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use sender@example.com, then you would specify the FromEmailAddressIdentityArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the FromEmailAddress to be sender@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

", + "SendBulkEmailRequest$FeedbackForwardingEmailAddressIdentityArn": "

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the FeedbackForwardingEmailAddress parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the FeedbackForwardingEmailAddressIdentityArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the FeedbackForwardingEmailAddress to be feedback@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

", + "SendEmailRequest$FromEmailAddressIdentityArn": "

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the FromEmailAddress parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use sender@example.com, then you would specify the FromEmailAddressIdentityArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the FromEmailAddress to be sender@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

For Raw emails, the FromEmailAddressIdentityArn value overrides the X-SES-SOURCE-ARN and X-SES-FROM-ARN headers specified in raw email message content.

", + "SendEmailRequest$FeedbackForwardingEmailAddressIdentityArn": "

This parameter is used only for sending authorization. It is the ARN of the identity that is associated with the sending authorization policy that permits you to use the email address specified in the FeedbackForwardingEmailAddress parameter.

For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) attaches a policy to it that authorizes you to use feedback@example.com, then you would specify the FeedbackForwardingEmailAddressIdentityArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, and the FeedbackForwardingEmailAddress to be feedback@example.com.

For more information about sending authorization, see the Amazon SES Developer Guide.

", "SnsDestination$TopicArn": "

The Amazon Resource Name (ARN) of the Amazon SNS topic that you want to publish email events to. For more information about Amazon SNS topics, see the Amazon SNS Developer Guide.

", "TagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource that you want to add one or more tags to.

", + "Template$TemplateArn": "

The Amazon Resource Name (ARN) of the template.

", "UntagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource that you want to remove one or more tags from.

" } }, @@ -130,6 +172,42 @@ "Message$Body": "

The body of the message. You can specify an HTML version of the message, a text-only version of the message, or both.

" } }, + "BulkEmailContent": { + "base": "

An object that contains the body of the message. You can specify a template message.

", + "refs": { + "SendBulkEmailRequest$DefaultContent": "

An object that contains the body of the message. You can specify a template message.

" + } + }, + "BulkEmailEntry": { + "base": null, + "refs": { + "BulkEmailEntryList$member": null + } + }, + "BulkEmailEntryList": { + "base": "

A list of BulkEmailEntry objects.

", + "refs": { + "SendBulkEmailRequest$BulkEmailEntries": "

The list of bulk email entry objects.

" + } + }, + "BulkEmailEntryResult": { + "base": "

The result of the SendBulkEmail operation of each specified BulkEmailEntry.

", + "refs": { + "BulkEmailEntryResultList$member": null + } + }, + "BulkEmailEntryResultList": { + "base": "

A list of BulkMailEntry objects.

", + "refs": { + "SendBulkEmailResponse$BulkEmailEntryResults": null + } + }, + "BulkEmailStatus": { + "base": null, + "refs": { + "BulkEmailEntryResult$Status": "

The status of a message sent using the SendBulkTemplatedEmail operation.

Possible values for this parameter include:

" + } + }, "CampaignId": { "base": null, "refs": { @@ -137,6 +215,12 @@ "GetDomainDeliverabilityCampaignRequest$CampaignId": "

The unique identifier for the campaign. The Deliverability dashboard automatically generates and assigns this identifier to a campaign.

" } }, + "CaseId": { + "base": null, + "refs": { + "ReviewDetails$CaseId": "

The associated support center case ID (if any).

" + } + }, "Charset": { "base": null, "refs": { @@ -183,6 +267,8 @@ "PutConfigurationSetSendingOptionsRequest$ConfigurationSetName": "

The name of the configuration set that you want to enable or disable email sending for.

", "PutConfigurationSetSuppressionOptionsRequest$ConfigurationSetName": "

The name of the configuration set that you want to change the suppression list preferences for.

", "PutConfigurationSetTrackingOptionsRequest$ConfigurationSetName": "

The name of the configuration set that you want to add a custom tracking domain to.

", + "SendBulkEmailRequest$ConfigurationSetName": "

The name of the configuration set that you want to use when sending the email.

", + "SendCustomVerificationEmailRequest$ConfigurationSetName": "

Name of a configuration set to use when sending the verification email.

", "SendEmailRequest$ConfigurationSetName": "

The name of the configuration set that you want to use when sending the email.

", "UpdateConfigurationSetEventDestinationRequest$ConfigurationSetName": "

The name of the configuration set that contains the event destination that you want to modify.

" } @@ -193,6 +279,18 @@ "ListConfigurationSetsResponse$ConfigurationSets": "

An array that contains all of the configuration sets in your Amazon SES account in the current AWS Region.

" } }, + "ConflictException": { + "base": "

If there is already an ongoing account details update under review.

", + "refs": { + } + }, + "ContactLanguage": { + "base": null, + "refs": { + "AccountDetails$ContactLanguage": "

The language you would prefer for the case. The contact language can be one of ENGLISH or JAPANESE.

", + "PutAccountDetailsRequest$ContactLanguage": "

The language you would prefer to be contacted with.

" + } + }, "Content": { "base": "

An object that represents the content of the email, and optionally a character set specification.

", "refs": { @@ -221,6 +319,16 @@ "refs": { } }, + "CreateCustomVerificationEmailTemplateRequest": { + "base": "

Represents a request to create a custom verification email template.

", + "refs": { + } + }, + "CreateCustomVerificationEmailTemplateResponse": { + "base": "

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

", + "refs": { + } + }, "CreateDedicatedIpPoolRequest": { "base": "

A request to create a new dedicated IP pool.

", "refs": { @@ -241,6 +349,16 @@ "refs": { } }, + "CreateEmailIdentityPolicyRequest": { + "base": "

Represents a request to create a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

", + "refs": { + } + }, + "CreateEmailIdentityPolicyResponse": { + "base": "

An HTTP 200 response if the request succeeds, or an error message if the request fails.

", + "refs": { + } + }, "CreateEmailIdentityRequest": { "base": "

A request to begin the verification process for an email identity (an email address or domain).

", "refs": { @@ -251,6 +369,16 @@ "refs": { } }, + "CreateEmailTemplateRequest": { + "base": "

Represents a request to create an email template. For more information, see the Amazon SES Developer Guide.

", + "refs": { + } + }, + "CreateEmailTemplateResponse": { + "base": "

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

", + "refs": { + } + }, "CustomRedirectDomain": { "base": "

The domain that you want to use for tracking open and click events.

", "refs": { @@ -258,6 +386,18 @@ "TrackingOptions$CustomRedirectDomain": "

The domain that you want to use for tracking open and click events.

" } }, + "CustomVerificationEmailTemplateMetadata": { + "base": "

Contains information about a custom verification email template.

", + "refs": { + "CustomVerificationEmailTemplatesList$member": null + } + }, + "CustomVerificationEmailTemplatesList": { + "base": "

A list of the custom verification email templates that exist in your account.

", + "refs": { + "ListCustomVerificationEmailTemplatesResponse$CustomVerificationEmailTemplates": "

A list of the custom verification email templates that exist in your account.

" + } + }, "DailyVolume": { "base": "

An object that contains information about the volume of email sent on each day of the analysis period.

", "refs": { @@ -309,6 +449,16 @@ "refs": { } }, + "DeleteCustomVerificationEmailTemplateRequest": { + "base": "

Represents a request to delete an existing custom verification email template.

", + "refs": { + } + }, + "DeleteCustomVerificationEmailTemplateResponse": { + "base": "

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

", + "refs": { + } + }, "DeleteDedicatedIpPoolRequest": { "base": "

A request to delete a dedicated IP pool.

", "refs": { @@ -319,6 +469,16 @@ "refs": { } }, + "DeleteEmailIdentityPolicyRequest": { + "base": "

Represents a request to delete a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

", + "refs": { + } + }, + "DeleteEmailIdentityPolicyResponse": { + "base": "

An HTTP 200 response if the request succeeds, or an error message if the request fails.

", + "refs": { + } + }, "DeleteEmailIdentityRequest": { "base": "

A request to delete an existing email identity. When you delete an identity, you lose the ability to send email from that identity. You can restore your ability to send email by completing the verification process for the identity again.

", "refs": { @@ -329,6 +489,16 @@ "refs": { } }, + "DeleteEmailTemplateRequest": { + "base": "

Represents a request to delete an email template. For more information, see the Amazon SES Developer Guide.

", + "refs": { + } + }, + "DeleteEmailTemplateResponse": { + "base": "

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

", + "refs": { + } + }, "DeleteSuppressedDestinationRequest": { "base": "

A request to remove an email address from the suppression list for your account.

", "refs": { @@ -381,6 +551,7 @@ "Destination": { "base": "

An object that describes the recipients for an email.

", "refs": { + "BulkEmailEntry$Destination": "

Represents the destination of the message, consisting of To:, CC:, and BCC: fields.

Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531. For this reason, the local part of a destination email address (the part of the email address that precedes the @ sign) may only contain 7-bit ASCII characters. If the domain part of an address (the part after the @ sign) contains non-ASCII characters, they must be encoded using Punycode, as described in RFC3492.

", "SendEmailRequest$Destination": "

An object that contains the recipients of the email message.

" } }, @@ -487,16 +658,23 @@ "EmailAddress": { "base": null, "refs": { + "CreateCustomVerificationEmailTemplateRequest$FromEmailAddress": "

The email address that the custom verification email is sent from.

", "CreateDeliverabilityTestReportRequest$FromEmailAddress": "

The email address that the predictive inbox placement test email was sent from.

", + "CustomVerificationEmailTemplateMetadata$FromEmailAddress": "

The email address that the custom verification email is sent from.

", "DeleteSuppressedDestinationRequest$EmailAddress": "

The suppressed email destination to remove from the account suppression list.

", "DeliverabilityTestReport$FromEmailAddress": "

The sender address that you specified for the predictive inbox placement test.

", "EmailAddressList$member": null, + "GetCustomVerificationEmailTemplateResponse$FromEmailAddress": "

The email address that the custom verification email is sent from.

", "GetSuppressedDestinationRequest$EmailAddress": "

The email address that's on the account suppression list.

", "PutSuppressedDestinationRequest$EmailAddress": "

The email address that should be added to the suppression list for your account.

", + "SendBulkEmailRequest$FromEmailAddress": "

The email address that you want to use as the \"From\" address for the email. The address that you specify has to be verified.

", + "SendBulkEmailRequest$FeedbackForwardingEmailAddress": "

The address that you want bounce and complaint notifications to be sent to.

", + "SendCustomVerificationEmailRequest$EmailAddress": "

The email address to verify.

", "SendEmailRequest$FromEmailAddress": "

The email address that you want to use as the \"From\" address for the email. The address that you specify has to be verified.

", "SendEmailRequest$FeedbackForwardingEmailAddress": "

The address that you want bounce and complaint notifications to be sent to.

", "SuppressedDestination$EmailAddress": "

The email address that is on the suppression list for your account.

", - "SuppressedDestinationSummary$EmailAddress": "

The email address that's on the suppression list for your account.

" + "SuppressedDestinationSummary$EmailAddress": "

The email address that's on the suppression list for your account.

", + "UpdateCustomVerificationEmailTemplateRequest$FromEmailAddress": "

The email address that the custom verification email is sent from.

" } }, "EmailAddressList": { @@ -505,6 +683,7 @@ "Destination$ToAddresses": "

An array that contains the email addresses of the \"To\" recipients for the email.

", "Destination$CcAddresses": "

An array that contains the email addresses of the \"CC\" (carbon copy) recipients for the email.

", "Destination$BccAddresses": "

An array that contains the email addresses of the \"BCC\" (blind carbon copy) recipients for the email.

", + "SendBulkEmailRequest$ReplyToAddresses": "

The \"Reply-to\" email addresses for the message. When the recipient replies to the message, each Reply-to address receives the reply.

", "SendEmailRequest$ReplyToAddresses": "

The \"Reply-to\" email addresses for the message. When the recipient replies to the message, each Reply-to address receives the reply.

" } }, @@ -512,7 +691,77 @@ "base": "

An object that defines the entire content of the email, including the message headers and the body content. You can create a simple email message, in which you specify the subject and the text and HTML versions of the message body. You can also create raw messages, in which you specify a complete MIME-formatted message. Raw messages can include attachments and custom headers.

", "refs": { "CreateDeliverabilityTestReportRequest$Content": "

The HTML body of the message that you sent when you performed the predictive inbox placement test.

", - "SendEmailRequest$Content": "

An object that contains the body of the message. You can send either a Simple message or a Raw message.

" + "SendEmailRequest$Content": "

An object that contains the body of the message. You can send either a Simple message Raw message or a template Message.

" + } + }, + "EmailTemplateContent": { + "base": "

The content of the email, composed of a subject line, an HTML part, and a text-only part.

", + "refs": { + "CreateEmailTemplateRequest$TemplateContent": "

The content of the email template, composed of a subject line, an HTML part, and a text-only part.

", + "GetEmailTemplateResponse$TemplateContent": "

The content of the email template, composed of a subject line, an HTML part, and a text-only part.

", + "UpdateEmailTemplateRequest$TemplateContent": "

The content of the email template, composed of a subject line, an HTML part, and a text-only part.

" + } + }, + "EmailTemplateData": { + "base": "

An object that defines the values to use for message variables in the template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the value to use for that variable.

", + "refs": { + "ReplacementTemplate$ReplacementTemplateData": "

A list of replacement values to apply to the template. This parameter is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template.

", + "Template$TemplateData": "

An object that defines the values to use for message variables in the template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the value to use for that variable.

", + "TestRenderEmailTemplateRequest$TemplateData": "

A list of replacement values to apply to the template. This parameter is a JSON object, typically consisting of key-value pairs in which the keys correspond to replacement tags in the email template.

" + } + }, + "EmailTemplateHtml": { + "base": "

The HTML body of the email.

", + "refs": { + "EmailTemplateContent$Html": "

The HTML body of the email.

" + } + }, + "EmailTemplateMetadata": { + "base": "

Contains information about an email template.

", + "refs": { + "EmailTemplateMetadataList$member": null + } + }, + "EmailTemplateMetadataList": { + "base": "

A list of the EmailTemplateMetadata object.

", + "refs": { + "ListEmailTemplatesResponse$TemplatesMetadata": "

An array the contains the name and creation time stamp for each template in your Amazon SES account.

" + } + }, + "EmailTemplateName": { + "base": "

The name of the template. You will refer to this name when you send email using the SendTemplatedEmail or SendBulkTemplatedEmail operations.

", + "refs": { + "CreateCustomVerificationEmailTemplateRequest$TemplateName": "

The name of the custom verification email template.

", + "CreateEmailTemplateRequest$TemplateName": "

The name of the template you want to create.

", + "CustomVerificationEmailTemplateMetadata$TemplateName": "

The name of the custom verification email template.

", + "DeleteCustomVerificationEmailTemplateRequest$TemplateName": "

The name of the custom verification email template that you want to delete.

", + "DeleteEmailTemplateRequest$TemplateName": "

The name of the template to be deleted.

", + "EmailTemplateMetadata$TemplateName": "

The name of the template.

", + "GetCustomVerificationEmailTemplateRequest$TemplateName": "

The name of the custom verification email template that you want to retrieve.

", + "GetCustomVerificationEmailTemplateResponse$TemplateName": "

The name of the custom verification email template.

", + "GetEmailTemplateRequest$TemplateName": "

The name of the template you want to retrieve.

", + "GetEmailTemplateResponse$TemplateName": "

The name of the template you want to retrieve.

", + "SendCustomVerificationEmailRequest$TemplateName": "

The name of the custom verification email template to use when sending the verification email.

", + "Template$TemplateName": "

The name of the template. You will refer to this name when you send email using the SendTemplatedEmail or SendBulkTemplatedEmail operations.

", + "TestRenderEmailTemplateRequest$TemplateName": "

The name of the template that you want to render.

", + "UpdateCustomVerificationEmailTemplateRequest$TemplateName": "

The name of the custom verification email template that you want to update.

", + "UpdateEmailTemplateRequest$TemplateName": "

The name of the template you want to update.

" + } + }, + "EmailTemplateSubject": { + "base": "

The subject line of the email.

", + "refs": { + "CreateCustomVerificationEmailTemplateRequest$TemplateSubject": "

The subject line of the custom verification email.

", + "CustomVerificationEmailTemplateMetadata$TemplateSubject": "

The subject line of the custom verification email.

", + "EmailTemplateContent$Subject": "

The subject line of the email.

", + "GetCustomVerificationEmailTemplateResponse$TemplateSubject": "

The subject line of the custom verification email.

", + "UpdateCustomVerificationEmailTemplateRequest$TemplateSubject": "

The subject line of the custom verification email.

" + } + }, + "EmailTemplateText": { + "base": "

The email body that will be visible to recipients whose email clients do not display HTML.

", + "refs": { + "EmailTemplateContent$Text": "

The email body that will be visible to recipients whose email clients do not display HTML.

" } }, "Enabled": { @@ -541,6 +790,18 @@ "SendingOptions$SendingEnabled": "

If true, email sending is enabled for the configuration set. If false, email sending is disabled for the configuration set.

" } }, + "EnabledWrapper": { + "base": null, + "refs": { + "PutAccountDetailsRequest$ProductionAccessEnabled": "

Indicates whether or not your account should have production access in the current AWS Region.

If the value is false, then your account is in the sandbox. When your account is in the sandbox, you can only send email to verified identities. Additionally, the maximum number of emails you can send in a 24-hour period (your sending quota) is 200, and the maximum number of emails you can send per second (your maximum sending rate) is 1.

If the value is true, then your account has production access. When your account has production access, you can send email to any address. The sending quota and maximum sending rate for your account vary based on your specific use case.

" + } + }, + "ErrorMessage": { + "base": null, + "refs": { + "BulkEmailEntryResult$Error": "

A description of an error that prevented a message being sent using the SendBulkTemplatedEmail operation.

" + } + }, "Esp": { "base": null, "refs": { @@ -594,6 +855,15 @@ "EventDestinationDefinition$MatchingEventTypes": "

An array that specifies which events the Amazon SES API v2 should send to the destinations in this EventDestinationDefinition.

" } }, + "FailureRedirectionURL": { + "base": "

The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

", + "refs": { + "CreateCustomVerificationEmailTemplateRequest$FailureRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

", + "CustomVerificationEmailTemplateMetadata$FailureRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

", + "GetCustomVerificationEmailTemplateResponse$FailureRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

", + "UpdateCustomVerificationEmailTemplateRequest$FailureRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

" + } + }, "FeedbackId": { "base": null, "refs": { @@ -646,6 +916,16 @@ "refs": { } }, + "GetCustomVerificationEmailTemplateRequest": { + "base": "

Represents a request to retrieve an existing custom verification email template.

", + "refs": { + } + }, + "GetCustomVerificationEmailTemplateResponse": { + "base": "

The following elements are returned by the service.

", + "refs": { + } + }, "GetDedicatedIpRequest": { "base": "

A request to obtain more information about a dedicated IP address.

", "refs": { @@ -706,6 +986,16 @@ "refs": { } }, + "GetEmailIdentityPoliciesRequest": { + "base": "

A request to return the policies of an email identity.

", + "refs": { + } + }, + "GetEmailIdentityPoliciesResponse": { + "base": "

Identity policies associated with email identity.

", + "refs": { + } + }, "GetEmailIdentityRequest": { "base": "

A request to return details about an email identity.

", "refs": { @@ -716,6 +1006,16 @@ "refs": { } }, + "GetEmailTemplateRequest": { + "base": "

Represents a request to display the template object (which includes the subject line, HTML part and text part) for the template you specify.

", + "refs": { + } + }, + "GetEmailTemplateResponse": { + "base": "

The following element is returned by the service.

", + "refs": { + } + }, "GetSuppressedDestinationRequest": { "base": "

A request to retrieve information about an email address that's on the suppression list for your account.

", "refs": { @@ -729,16 +1029,20 @@ "Identity": { "base": null, "refs": { + "CreateEmailIdentityPolicyRequest$EmailIdentity": "

The email identity for which you want to create a policy.

", "CreateEmailIdentityRequest$EmailIdentity": "

The email address or domain that you want to verify.

", + "DeleteEmailIdentityPolicyRequest$EmailIdentity": "

The email identity for which you want to delete a policy.

", "DeleteEmailIdentityRequest$EmailIdentity": "

The identity (that is, the email address or domain) that you want to delete.

", "DomainDeliverabilityCampaign$FromAddress": "

The verified email address that the email message was sent from.

", "GetDomainStatisticsReportRequest$Domain": "

The domain that you want to obtain deliverability metrics for.

", + "GetEmailIdentityPoliciesRequest$EmailIdentity": "

The email identity that you want to retrieve policies for.

", "GetEmailIdentityRequest$EmailIdentity": "

The email identity that you want to retrieve details for.

", "IdentityInfo$IdentityName": "

The address or domain of the identity.

", "PutEmailIdentityDkimAttributesRequest$EmailIdentity": "

The email identity that you want to change the DKIM settings for.

", "PutEmailIdentityDkimSigningAttributesRequest$EmailIdentity": "

The email identity that you want to configure DKIM for.

", "PutEmailIdentityFeedbackAttributesRequest$EmailIdentity": "

The email identity that you want to configure bounce and complaint feedback forwarding for.

", - "PutEmailIdentityMailFromAttributesRequest$EmailIdentity": "

The verified email identity that you want to set up the custom MAIL FROM domain for.

" + "PutEmailIdentityMailFromAttributesRequest$EmailIdentity": "

The verified email identity that you want to set up the custom MAIL FROM domain for.

", + "UpdateEmailIdentityPolicyRequest$EmailIdentity": "

The email identity for which you want to update policy.

" } }, "IdentityInfo": { @@ -848,6 +1152,16 @@ "refs": { } }, + "ListCustomVerificationEmailTemplatesRequest": { + "base": "

Represents a request to list the existing custom verification email templates for your account.

", + "refs": { + } + }, + "ListCustomVerificationEmailTemplatesResponse": { + "base": "

The following elements are returned by the service.

", + "refs": { + } + }, "ListDedicatedIpPoolsRequest": { "base": "

A request to obtain a list of dedicated IP pools.

", "refs": { @@ -888,6 +1202,16 @@ "refs": { } }, + "ListEmailTemplatesRequest": { + "base": "

Represents a request to list the email templates present in your Amazon SES account in the current AWS Region. For more information, see the Amazon SES Developer Guide.

", + "refs": { + } + }, + "ListEmailTemplatesResponse": { + "base": "

The following elements are returned by the service.

", + "refs": { + } + }, "ListOfDedicatedIpPools": { "base": "

A list of dedicated IP pools that are associated with your AWS account.

", "refs": { @@ -938,6 +1262,13 @@ "MailFromAttributes$MailFromDomainStatus": "

The status of the MAIL FROM domain. This status can have the following values:

" } }, + "MailType": { + "base": null, + "refs": { + "AccountDetails$MailType": "

The type of email your account is sending. The mail type can be one of the following:

", + "PutAccountDetailsRequest$MailType": "

The type of email your account will send.

" + } + }, "Max24HourSend": { "base": null, "refs": { @@ -949,10 +1280,12 @@ "refs": { "GetDedicatedIpsRequest$PageSize": "

The number of results to show in a single call to GetDedicatedIpsRequest. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

", "ListConfigurationSetsRequest$PageSize": "

The number of results to show in a single call to ListConfigurationSets. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

", + "ListCustomVerificationEmailTemplatesRequest$PageSize": "

The number of results to show in a single call to ListCustomVerificationEmailTemplates. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

The value you specify has to be at least 1, and can be no more than 50.

", "ListDedicatedIpPoolsRequest$PageSize": "

The number of results to show in a single call to ListDedicatedIpPools. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

", "ListDeliverabilityTestReportsRequest$PageSize": "

The number of results to show in a single call to ListDeliverabilityTestReports. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

The value you specify has to be at least 0, and can be no more than 1000.

", "ListDomainDeliverabilityCampaignsRequest$PageSize": "

The maximum number of results to include in response to a single call to the ListDomainDeliverabilityCampaigns operation. If the number of results is larger than the number that you specify in this parameter, the response includes a NextToken element, which you can use to obtain additional results.

", "ListEmailIdentitiesRequest$PageSize": "

The number of results to show in a single call to ListEmailIdentities. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

The value you specify has to be at least 0, and can be no more than 1000.

", + "ListEmailTemplatesRequest$PageSize": "

The number of results to show in a single call to ListEmailTemplates. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

The value you specify has to be at least 1, and can be no more than 10.

", "ListSuppressedDestinationsRequest$PageSize": "

The number of results to show in a single call to ListSuppressedDestinations. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

" } }, @@ -994,6 +1327,8 @@ "MessageTagList": { "base": "

A list of message tags.

", "refs": { + "BulkEmailEntry$ReplacementTags": "

A list of tags, in the form of name/value pairs, to apply to an email that you send using the SendBulkTemplatedEmail operation. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.

", + "SendBulkEmailRequest$DefaultEmailTags": "

A list of tags, in the form of name/value pairs, to apply to an email that you send using the SendEmail operation. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.

", "SendEmailRequest$EmailTags": "

A list of tags, in the form of name/value pairs, to apply to an email that you send using the SendEmail operation. Tags correspond to characteristics of the email that you define, so that you can publish email sending events.

" } }, @@ -1016,6 +1351,8 @@ "GetDedicatedIpsResponse$NextToken": "

A token that indicates that there are additional dedicated IP addresses to list. To view additional addresses, issue another request to GetDedicatedIps, passing this token in the NextToken parameter.

", "ListConfigurationSetsRequest$NextToken": "

A token returned from a previous call to ListConfigurationSets to indicate the position in the list of configuration sets.

", "ListConfigurationSetsResponse$NextToken": "

A token that indicates that there are additional configuration sets to list. To view additional configuration sets, issue another request to ListConfigurationSets, and pass this token in the NextToken parameter.

", + "ListCustomVerificationEmailTemplatesRequest$NextToken": "

A token returned from a previous call to ListCustomVerificationEmailTemplates to indicate the position in the list of custom verification email templates.

", + "ListCustomVerificationEmailTemplatesResponse$NextToken": "

A token indicating that there are additional custom verification email templates available to be listed. Pass this token to a subsequent call to ListCustomVerificationEmailTemplates to retrieve the next 50 custom verification email templates.

", "ListDedicatedIpPoolsRequest$NextToken": "

A token returned from a previous call to ListDedicatedIpPools to indicate the position in the list of dedicated IP pools.

", "ListDedicatedIpPoolsResponse$NextToken": "

A token that indicates that there are additional IP pools to list. To view additional IP pools, issue another request to ListDedicatedIpPools, passing this token in the NextToken parameter.

", "ListDeliverabilityTestReportsRequest$NextToken": "

A token returned from a previous call to ListDeliverabilityTestReports to indicate the position in the list of predictive inbox placement tests.

", @@ -1024,6 +1361,8 @@ "ListDomainDeliverabilityCampaignsResponse$NextToken": "

A token that’s returned from a previous call to the ListDomainDeliverabilityCampaigns operation. This token indicates the position of the campaign in the list of campaigns.

", "ListEmailIdentitiesRequest$NextToken": "

A token returned from a previous call to ListEmailIdentities to indicate the position in the list of identities.

", "ListEmailIdentitiesResponse$NextToken": "

A token that indicates that there are additional configuration sets to list. To view additional configuration sets, issue another request to ListEmailIdentities, and pass this token in the NextToken parameter.

", + "ListEmailTemplatesRequest$NextToken": "

A token returned from a previous call to ListEmailTemplates to indicate the position in the list of email templates.

", + "ListEmailTemplatesResponse$NextToken": "

A token indicating that there are additional email templates available to be listed. Pass this token to a subsequent ListEmailTemplates call to retrieve the next 10 email templates.

", "ListSuppressedDestinationsRequest$NextToken": "

A token returned from a previous call to ListSuppressedDestinations to indicate the position in the list of suppressed email addresses.

", "ListSuppressedDestinationsResponse$NextToken": "

A token that indicates that there are additional email addresses on the suppression list for your account. To view additional suppressed addresses, issue another request to ListSuppressedDestinations, and pass this token in the NextToken parameter.

" } @@ -1036,6 +1375,8 @@ "OutboundMessageId": { "base": null, "refs": { + "BulkEmailEntryResult$MessageId": "

The unique message identifier returned from the SendBulkTemplatedEmail operation.

", + "SendCustomVerificationEmailResponse$MessageId": "

The unique message identifier returned from the SendCustomVerificationEmail operation.

", "SendEmailResponse$MessageId": "

A unique identifier for the message that is generated when the message is accepted.

It's possible for Amazon SES to accept a message without sending it. This can happen when the message that you're trying to send has an attachment contains a virus, or when you send a templated email that contains invalid personalization content, for example.

", "SuppressedDestinationAttributes$MessageId": "

The unique identifier of the email message that caused the email address to be added to the suppression list for your account.

" } @@ -1083,6 +1424,30 @@ "IspPlacement$PlacementStatistics": "

An object that contains inbox placement metrics for a specific email provider.

" } }, + "Policy": { + "base": "

The text of the policy in JSON format. The policy cannot exceed 4 KB.

For information about the syntax of sending authorization policies, see the Amazon SES Developer Guide.

", + "refs": { + "CreateEmailIdentityPolicyRequest$Policy": "

The text of the policy in JSON format. The policy cannot exceed 4 KB.

For information about the syntax of sending authorization policies, see the Amazon SES Developer Guide.

", + "PolicyMap$value": null, + "UpdateEmailIdentityPolicyRequest$Policy": "

The text of the policy in JSON format. The policy cannot exceed 4 KB.

For information about the syntax of sending authorization policies, see the Amazon SES Developer Guide.

" + } + }, + "PolicyMap": { + "base": "

An object that contains mapping between PolicyName and Policy text.

", + "refs": { + "GetEmailIdentityPoliciesResponse$Policies": "

A map of policy names to policies.

", + "GetEmailIdentityResponse$Policies": "

A map of policy names to policies.

" + } + }, + "PolicyName": { + "base": "

The name of the policy.

The policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores.

", + "refs": { + "CreateEmailIdentityPolicyRequest$PolicyName": "

The name of the policy.

The policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores.

", + "DeleteEmailIdentityPolicyRequest$PolicyName": "

The name of the policy.

The policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores.

", + "PolicyMap$key": null, + "UpdateEmailIdentityPolicyRequest$PolicyName": "

The name of the policy.

The policy name cannot exceed 64 characters and can only include alphanumeric characters, dashes, and underscores.

" + } + }, "PoolName": { "base": "

The name of a dedicated IP pool.

", "refs": { @@ -1111,6 +1476,16 @@ "refs": { } }, + "PutAccountDetailsRequest": { + "base": "

A request to submit new account details.

", + "refs": { + } + }, + "PutAccountDetailsResponse": { + "base": "

An HTTP 200 response if the request succeeds, or an error message if the request fails.

", + "refs": { + } + }, "PutAccountSendingAttributesRequest": { "base": "

A request to change the ability of your account to send email.

", "refs": { @@ -1279,6 +1654,24 @@ "BlacklistEntry$RblName": "

The name of the blacklist that the IP address appears on.

" } }, + "RenderedEmailTemplate": { + "base": "

The complete MIME message rendered by applying the data in the TemplateData parameter to the template specified in the TemplateName parameter.

", + "refs": { + "TestRenderEmailTemplateResponse$RenderedTemplate": "

The complete MIME message rendered by applying the data in the TemplateData parameter to the template specified in the TemplateName parameter.

" + } + }, + "ReplacementEmailContent": { + "base": "

The ReplaceEmailContent object to be used for a specific BulkEmailEntry. The ReplacementTemplate can be specified within this object.

", + "refs": { + "BulkEmailEntry$ReplacementEmailContent": "

The ReplacementEmailContent associated with a BulkEmailEntry.

" + } + }, + "ReplacementTemplate": { + "base": "

An object which contains ReplacementTemplateData to be used for a specific BulkEmailEntry.

", + "refs": { + "ReplacementEmailContent$ReplacementTemplate": "

The ReplacementTemplate associated with ReplacementEmailContent.

" + } + }, "ReportId": { "base": "

A unique string that identifies a Deliverability dashboard report.

", "refs": { @@ -1301,14 +1694,46 @@ "GetConfigurationSetResponse$ReputationOptions": "

An object that defines whether or not Amazon SES collects reputation metrics for the emails that you send that use the configuration set.

" } }, + "ReviewDetails": { + "base": "

An object that contains information about your account details review.

", + "refs": { + "AccountDetails$ReviewDetails": "

Information about the review of the latest details you submitted.

" + } + }, + "ReviewStatus": { + "base": null, + "refs": { + "ReviewDetails$Status": "

The status of the latest review of your account. The status can be one of the following:

" + } + }, "Selector": { "base": null, "refs": { "DkimSigningAttributes$DomainSigningSelector": "

A string that's used to identify a public key in the DNS configuration for a domain.

" } }, + "SendBulkEmailRequest": { + "base": "

Represents a request to send email messages to multiple destinations using Amazon SES. For more information, see the Amazon SES Developer Guide.

", + "refs": { + } + }, + "SendBulkEmailResponse": { + "base": "

The following data is returned in JSON format by the service.

", + "refs": { + } + }, + "SendCustomVerificationEmailRequest": { + "base": "

Represents a request to send a custom verification email to a specified recipient.

", + "refs": { + } + }, + "SendCustomVerificationEmailResponse": { + "base": "

The following element is returned by the service.

", + "refs": { + } + }, "SendEmailRequest": { - "base": "

A request to send an email message.

", + "base": "

Represents a request to send a single formatted email using Amazon SES. For more information, see the Amazon SES Developer Guide.

", "refs": { } }, @@ -1360,6 +1785,15 @@ "DomainDeliverabilityCampaign$Subject": "

The subject line, or title, of the email message.

" } }, + "SuccessRedirectionURL": { + "base": "

The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

", + "refs": { + "CreateCustomVerificationEmailTemplateRequest$SuccessRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

", + "CustomVerificationEmailTemplateMetadata$SuccessRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

", + "GetCustomVerificationEmailTemplateResponse$SuccessRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

", + "UpdateCustomVerificationEmailTemplateRequest$SuccessRedirectionURL": "

The URL that the recipient of the verification email is sent to if his or her address is successfully verified.

" + } + }, "SuppressedDestination": { "base": "

An object that contains information about an email address that is on the suppression list for your account.

", "refs": { @@ -1468,19 +1902,26 @@ "Template": { "base": "

An object that defines the email template to use for an email message, and the values to use for any message variables in that template. An email template is a type of message template that contains content that you want to define, save, and reuse in email messages that you send.

", "refs": { + "BulkEmailContent$Template": "

The template to use for the bulk email message.

", "EmailContent$Template": "

The template to use for the email message.

" } }, - "TemplateArn": { - "base": null, + "TemplateContent": { + "base": "

The content of the custom verification email template.

", "refs": { - "Template$TemplateArn": "

The Amazon Resource Name (ARN) of the template.

" + "CreateCustomVerificationEmailTemplateRequest$TemplateContent": "

The content of the custom verification email. The total size of the email must be less than 10 MB. The message body may contain HTML, with some limitations. For more information, see Custom Verification Email Frequently Asked Questions in the Amazon SES Developer Guide.

", + "GetCustomVerificationEmailTemplateResponse$TemplateContent": "

The content of the custom verification email.

", + "UpdateCustomVerificationEmailTemplateRequest$TemplateContent": "

The content of the custom verification email. The total size of the email must be less than 10 MB. The message body may contain HTML, with some limitations. For more information, see Custom Verification Email Frequently Asked Questions in the Amazon SES Developer Guide.

" } }, - "TemplateData": { - "base": null, + "TestRenderEmailTemplateRequest": { + "base": "

>Represents a request to create a preview of the MIME content of an email when provided with a template and a set of replacement data.

", + "refs": { + } + }, + "TestRenderEmailTemplateResponse": { + "base": "

The following element is returned by the service.

", "refs": { - "Template$TemplateData": "

An object that defines the values to use for message variables in the template. This object is a set of key-value pairs. Each key defines a message variable in the template. The corresponding value defines the value to use for that variable.

" } }, "Timestamp": { @@ -1492,6 +1933,7 @@ "DomainDeliverabilityCampaign$FirstSeenDateTime": "

The first time, in Unix time format, when the email message was delivered to any recipient's inbox. This value can help you determine how long it took for a campaign to deliver an email message.

", "DomainDeliverabilityCampaign$LastSeenDateTime": "

The last time, in Unix time format, when the email message was delivered to any recipient's inbox. This value can help you determine how long it took for a campaign to deliver an email message.

", "DomainDeliverabilityTrackingOption$SubscriptionStartDate": "

The date, in Unix time format, when you enabled the Deliverability dashboard for the domain.

", + "EmailTemplateMetadata$CreatedTimestamp": "

The time and date the template was created.

", "GetDeliverabilityDashboardOptionsResponse$SubscriptionExpiryDate": "

The date, in Unix time format, when your current subscription to the Deliverability dashboard is scheduled to expire, if your subscription is scheduled to expire at the end of the current calendar month. This value is null if you have an active subscription that isn’t due to expire at the end of the month.

", "GetDomainStatisticsReportRequest$StartDate": "

The first day (in Unix time) that you want to obtain domain deliverability metrics for.

", "GetDomainStatisticsReportRequest$EndDate": "

The last day (in Unix time) that you want to obtain domain deliverability metrics for. The EndDate that you specify has to be less than or equal to 30 days after the StartDate.

", @@ -1542,6 +1984,43 @@ "refs": { } }, + "UpdateCustomVerificationEmailTemplateRequest": { + "base": "

Represents a request to update an existing custom verification email template.

", + "refs": { + } + }, + "UpdateCustomVerificationEmailTemplateResponse": { + "base": "

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

", + "refs": { + } + }, + "UpdateEmailIdentityPolicyRequest": { + "base": "

Represents a request to update a sending authorization policy for an identity. Sending authorization is an Amazon SES feature that enables you to authorize other senders to use your identities. For information, see the Amazon SES Developer Guide.

", + "refs": { + } + }, + "UpdateEmailIdentityPolicyResponse": { + "base": "

An HTTP 200 response if the request succeeds, or an error message if the request fails.

", + "refs": { + } + }, + "UpdateEmailTemplateRequest": { + "base": "

Represents a request to update an email template. For more information, see the Amazon SES Developer Guide.

", + "refs": { + } + }, + "UpdateEmailTemplateResponse": { + "base": "

If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.

", + "refs": { + } + }, + "UseCaseDescription": { + "base": null, + "refs": { + "AccountDetails$UseCaseDescription": "

A description of the types of email that you plan to send.

", + "PutAccountDetailsRequest$UseCaseDescription": "

A description of the types of email that you plan to send.

" + } + }, "Volume": { "base": "

An object that contains information about inbox placement volume.

", "refs": { @@ -1568,6 +2047,13 @@ "refs": { "DedicatedIp$WarmupStatus": "

The warm-up status of a dedicated IP address. The status can have one of the following values:

" } + }, + "WebsiteURL": { + "base": null, + "refs": { + "AccountDetails$WebsiteURL": "

The URL of your website. This information helps us better understand the type of content that you plan to send.

", + "PutAccountDetailsRequest$WebsiteURL": "

The URL of your website. This information helps us better understand the type of content that you plan to send.

" + } } } } diff --git a/models/apis/sesv2/2019-09-27/paginators-1.json b/models/apis/sesv2/2019-09-27/paginators-1.json index c5e4de2551c..2408254705a 100644 --- a/models/apis/sesv2/2019-09-27/paginators-1.json +++ b/models/apis/sesv2/2019-09-27/paginators-1.json @@ -10,6 +10,11 @@ "output_token": "NextToken", "limit_key": "PageSize" }, + "ListCustomVerificationEmailTemplates": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "PageSize" + }, "ListDedicatedIpPools": { "input_token": "NextToken", "output_token": "NextToken", @@ -30,6 +35,11 @@ "output_token": "NextToken", "limit_key": "PageSize" }, + "ListEmailTemplates": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "PageSize" + }, "ListSuppressedDestinations": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index eab9de98735..9ad89dc81a3 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -783,6 +783,7 @@ "ca-central-1" : { }, "eu-central-1" : { }, "eu-north-1" : { }, + "eu-south-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -1695,6 +1696,7 @@ }, "ds" : { "endpoints" : { + "af-south-1" : { }, "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, @@ -1704,6 +1706,7 @@ "ca-central-1" : { }, "eu-central-1" : { }, "eu-north-1" : { }, + "eu-south-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, @@ -6107,6 +6110,12 @@ } }, "services" : { + "access-analyzer" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, "acm" : { "endpoints" : { "cn-north-1" : { }, diff --git a/service/cloudfront/api.go b/service/cloudfront/api.go index 02ccbcb88d1..58e63221183 100644 --- a/service/cloudfront/api.go +++ b/service/cloudfront/api.go @@ -6716,7 +6716,9 @@ type CacheBehavior struct { AllowedMethods *AllowedMethods `type:"structure"` // The unique identifier of the cache policy that is attached to this cache - // behavior. For more information, see CreateCachePolicy. + // 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 @@ -6726,7 +6728,10 @@ type CacheBehavior struct { Compress *bool `type:"boolean"` // This field is deprecated. We recommend that you use the DefaultTTL field - // in CachePolicyConfig instead of this 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 @@ -6744,12 +6749,20 @@ type CacheBehavior struct { 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. + // 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 CachePolicy. See CreateCachePolicy. + // 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 OriginRequestPolicy. See CreateOriginRequestPolicy. + // 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. @@ -6761,8 +6774,11 @@ type CacheBehavior struct { // a cache behavior. LambdaFunctionAssociations *LambdaFunctionAssociations `type:"structure"` - // This field is deprecated. We recommend that you use the MaxTTL field in CachePolicyConfig - // instead of this field. + // 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 @@ -6775,8 +6791,11 @@ type CacheBehavior struct { // Deprecated: MaxTTL has been deprecated MaxTTL *int64 `deprecated:"true" type:"long"` - // This field is deprecated. We recommend that you use the MinTTL field in CachePolicyConfig - // instead of this field. + // 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 @@ -6792,7 +6811,10 @@ type CacheBehavior struct { 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 CreateOriginRequestPolicy. + // 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 @@ -7179,12 +7201,11 @@ type CachePolicyConfig struct { // is the same as the value of MinTTL. DefaultTTL *int64 `type:"long"` - // The maximum 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 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) + // 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. // // The default value for this field is 31536000 seconds (one year). If the value @@ -7902,11 +7923,14 @@ type CookiePreference struct { // 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 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 CookiesConfig in an origin request policy. See CreateOriginRequestPolicy. + // 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 @@ -7921,11 +7945,14 @@ type CookiePreference struct { // 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 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 CookiesConfig in an origin request policy. See CreateOriginRequestPolicy. + // 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 @@ -9338,7 +9365,9 @@ type DefaultCacheBehavior struct { AllowedMethods *AllowedMethods `type:"structure"` // The unique identifier of the cache policy that is attached to the default - // cache behavior. For more information, see CachePolicy. + // 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 @@ -9348,7 +9377,10 @@ type DefaultCacheBehavior struct { Compress *bool `type:"boolean"` // This field is deprecated. We recommend that you use the DefaultTTL field - // in CachePolicyConfig instead of this 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 @@ -9367,12 +9399,20 @@ type DefaultCacheBehavior struct { 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. + // 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 CachePolicy. See CreateCachePolicy. + // 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 OriginRequestPolicy. See CreateOriginRequestPolicy. + // 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. @@ -9384,8 +9424,11 @@ type DefaultCacheBehavior struct { // a cache behavior. LambdaFunctionAssociations *LambdaFunctionAssociations `type:"structure"` - // This field is deprecated. We recommend that you use the MaxTTL field in CachePolicyConfig - // instead of this field. + // 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 @@ -9398,8 +9441,11 @@ type DefaultCacheBehavior struct { // Deprecated: MaxTTL has been deprecated MaxTTL *int64 `deprecated:"true" type:"long"` - // This field is deprecated. We recommend that you use the MinTTL field in CachePolicyConfig - // instead of this field. + // 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 @@ -9415,7 +9461,10 @@ type DefaultCacheBehavior struct { 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 OriginRequestPolicy. + // 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 @@ -11855,10 +11904,14 @@ func (s *FieldPatterns) SetQuantity(v int64) *FieldPatterns { // 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 CachePolicy. See CreateCachePolicy. +// 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 OriginRequestPolicy. See CreateOriginRequestPolicy. +// 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. @@ -11868,11 +11921,14 @@ type ForwardedValues struct { // 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 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 CookiesConfig in an origin request policy. See CreateOriginRequestPolicy. + // 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 whether you want CloudFront to forward cookies // to the origin and, if so, which ones. For more information about forwarding @@ -11886,11 +11942,14 @@ type ForwardedValues struct { // 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 headers in the cache key, use HeadersConfig in a cache - // policy. See CreateCachePolicy. + // 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. // // If you want to send headers to the origin but not include them in the cache - // key, use HeadersConfig in an origin request policy. See CreateOriginRequestPolicy. + // 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 the Headers, if any, that you want CloudFront // to forward to the origin for this cache behavior (whitelisted headers). For @@ -11904,11 +11963,14 @@ type ForwardedValues struct { // 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 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 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. + // 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. // // 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 @@ -11940,11 +12002,14 @@ type ForwardedValues struct { // 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 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 want to send query strings to the origin but not include them in the - // cache key, use an QueryStringsConfig in an origin request policy. See CreateOriginRequestPolicy. + // 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 contains information about the query string parameters // that you want CloudFront to use for caching for this cache behavior. diff --git a/service/codebuild/api.go b/service/codebuild/api.go index 1824f9c7208..cc89d30723e 100644 --- a/service/codebuild/api.go +++ b/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 @@ -1566,128 +1861,128 @@ 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: "", + 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() } -// ListBuildsPages iterates over the pages of a ListBuilds operation, +// 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 ListBuilds method for more information on how to use this operation. +// 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 ListBuilds operation. +// // Example iterating over at most 3 pages of a ListBuildBatches operation. // pageNum := 0 -// err := client.ListBuildsPages(params, -// func(page *codebuild.ListBuildsOutput, lastPage bool) bool { +// err := client.ListBuildBatchesPages(params, +// func(page *codebuild.ListBuildBatchesOutput, 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) +func (c *CodeBuild) ListBuildBatchesPages(input *ListBuildBatchesInput, fn func(*ListBuildBatchesOutput, bool) bool) error { + return c.ListBuildBatchesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListBuildsPagesWithContext same as ListBuildsPages except +// 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) ListBuildsPagesWithContext(ctx aws.Context, input *ListBuildsInput, fn func(*ListBuildsOutput, bool) bool, opts ...request.Option) error { +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 *ListBuildsInput + var inCpy *ListBuildBatchesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListBuildsRequest(inCpy) + req, _ := c.ListBuildBatchesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1695,7 +1990,7 @@ func (c *CodeBuild) ListBuildsPagesWithContext(ctx aws.Context, input *ListBuild } for p.Next() { - if !fn(p.Page().(*ListBuildsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListBuildBatchesOutput), !p.HasNextPage()) { break } } @@ -1703,7 +1998,284 @@ func (c *CodeBuild) ListBuildsPagesWithContext(ctx aws.Context, input *ListBuild return p.Err() } -const opListBuildsForProject = "ListBuildsForProject" +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 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 @@ -2796,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) @@ -2900,25 +3477,192 @@ 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/RetryBuild +func (c *CodeBuild) RetryBuildRequest(input *RetryBuildInput) (req *request.Request, output *RetryBuildOutput) { + op := &request.Operation{ + Name: opRetryBuild, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RetryBuildInput{} + } + + output = &RetryBuildOutput{} + req = c.newRequest(op, input, output) + return +} + +// RetryBuild API operation for AWS CodeBuild. +// +// 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 RetryBuild 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. +// +// * 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/RetryBuild +func (c *CodeBuild) RetryBuild(input *RetryBuildInput) (*RetryBuildOutput, error) { + req, out := c.RetryBuildRequest(input) + return out, req.Send() +} + +// RetryBuildWithContext is the same as RetryBuild with the addition of +// the ability to pass a context and additional request options. +// +// 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) 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 opRetryBuildBatch = "RetryBuildBatch" + +// 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 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 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/RetryBuildBatch +func (c *CodeBuild) RetryBuildBatchRequest(input *RetryBuildBatchInput) (req *request.Request, output *RetryBuildBatchOutput) { + op := &request.Operation{ + Name: opRetryBuildBatch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RetryBuildBatchInput{} + } + + output = &RetryBuildBatchOutput{} + req = c.newRequest(op, input, output) + return +} + +// RetryBuildBatch API operation for AWS CodeBuild. +// +// 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 RetryBuildBatch 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/RetryBuildBatch +func (c *CodeBuild) RetryBuildBatch(input *RetryBuildBatchInput) (*RetryBuildBatchOutput, error) { + req, out := c.RetryBuildBatchRequest(input) + return out, req.Send() +} + +// RetryBuildBatchWithContext is the same as RetryBuildBatch with the addition of +// the ability to pass a context and additional request options. +// +// 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) 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 opStartBuild = "StartBuild" + +// 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 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 StartBuildRequest method. +// req, resp := client.StartBuildRequest(params) // // err := req.Send() // if err == nil { // resp is now filled @@ -2985,6 +3729,88 @@ func (c *CodeBuild) StartBuildWithContext(ctx aws.Context, input *StartBuildInpu return out, req.Send() } +const opStartBuildBatch = "StartBuildBatch" + +// 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 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 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/StartBuildBatch +func (c *CodeBuild) StartBuildBatchRequest(input *StartBuildBatchInput) (req *request.Request, output *StartBuildBatchOutput) { + op := &request.Operation{ + Name: opStartBuildBatch, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &StartBuildBatchInput{} + } + + output = &StartBuildBatchOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartBuildBatch API operation for AWS CodeBuild. +// +// 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 StartBuildBatch 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/StartBuildBatch +func (c *CodeBuild) StartBuildBatch(input *StartBuildBatchInput) (*StartBuildBatchOutput, error) { + req, out := c.StartBuildBatchRequest(input) + return out, req.Send() +} + +// StartBuildBatchWithContext is the same as StartBuildBatch with the addition of +// the ability to pass a context and additional request options. +// +// 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) 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 opStopBuild = "StopBuild" // StopBuildRequest generates a "aws/request.Request" representing the @@ -3067,6 +3893,88 @@ func (c *CodeBuild) StopBuildWithContext(ctx aws.Context, input *StopBuildInput, return out, req.Send() } +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 @@ -3447,13 +4355,83 @@ func (s *BatchDeleteBuildsOutput) SetBuildsNotDeleted(v []*BuildNotDeleted) *Bat return s } -type BatchGetBuildsInput struct { +type BatchGetBuildBatchesInput struct { _ struct{} `type:"structure"` - // The IDs of the builds. + // An array that contains the batch build identifiers to retrieve. // // Ids is a required field - Ids []*string `locationName:"ids" min:"1" type:"list" required:"true"` + 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 @@ -3743,6 +4721,41 @@ func (s *BatchGetReportsOutput) SetReportsNotFound(v []*string) *BatchGetReports 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"` @@ -3753,6 +4766,9 @@ type Build struct { // 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"` @@ -3930,6 +4946,12 @@ func (s *Build) SetArtifacts(v *BuildArtifacts) *Build { 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 @@ -4188,922 +5210,889 @@ func (s *BuildArtifacts) SetSha256sum(v string) *BuildArtifacts { return s } -// Information about a build that could not be successfully deleted. -type BuildNotDeleted struct { +// Contains information about a batch build. +type BuildBatch struct { _ struct{} `type:"structure"` - // The ID of the build that could not be successfully deleted. - Id *string `locationName:"id" min:"1" type:"string"` + // The ARN of the batch build. + Arn *string `locationName:"arn" min:"1" type:"string"` - // Additional information about the build that could not be successfully deleted. - StatusCode *string `locationName:"statusCode" type:"string"` -} + // A BuildArtifacts object the defines the build artifacts for this batch build. + Artifacts *BuildArtifacts `locationName:"artifacts" type:"structure"` -// String returns the string representation -func (s BuildNotDeleted) String() string { - return awsutil.Prettify(s) -} + // Contains configuration information about a batch build project. + BuildBatchConfig *ProjectBuildBatchConfig `locationName:"buildBatchConfig" type:"structure"` -// GoString returns the string representation -func (s BuildNotDeleted) GoString() string { - return s.String() -} + // 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"` -// SetId sets the Id field's value. -func (s *BuildNotDeleted) SetId(v string) *BuildNotDeleted { - s.Id = &v - return s -} + // The status of the batch build. + BuildBatchStatus *string `locationName:"buildBatchStatus" type:"string" enum:"StatusType"` -// SetStatusCode sets the StatusCode field's value. -func (s *BuildNotDeleted) SetStatusCode(v string) *BuildNotDeleted { - s.StatusCode = &v - return s -} + // An array of BuildGroup objects that define the build groups for the batch + // build. + BuildGroups []*BuildGroup `locationName:"buildGroups" type:"list"` -// Information about a stage for a build. -type BuildPhase struct { - _ struct{} `type:"structure"` + // Specifies the maximum amount of time, in minutes, that the build in a batch + // must be completed in. + BuildTimeoutInMinutes *int64 `locationName:"buildTimeoutInMinutes" type:"integer"` - // Additional information about a build phase, especially to help troubleshoot - // a failed build. - Contexts []*PhaseContext `locationName:"contexts" type:"list"` + // Information about the cache for the build project. + Cache *ProjectCache `locationName:"cache" type:"structure"` - // How long, in seconds, between the starting and ending times of the build's - // phase. - DurationInSeconds *int64 `locationName:"durationInSeconds" type:"long"` + // Indicates if the batch build is complete. + Complete *bool `locationName:"complete" type:"boolean"` - // When the build phase ended, expressed in Unix time format. - EndTime *time.Time `locationName:"endTime" type:"timestamp"` + // The current phase of the batch build. + CurrentPhase *string `locationName:"currentPhase" type:"string"` - // 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. + // The AWS Key Management Service (AWS KMS) customer master key (CMK) to be + // used for encrypting the batch build output artifacts. // - // * SUCCEEDED: The build phase succeeded. + // You can use a cross-account KMS key to encrypt the build output artifacts + // if your service role has permission to that key. // - // * TIMED_OUT: The build phase timed out. - PhaseStatus *string `locationName:"phaseStatus" type:"string" enum:"StatusType"` + // 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 name of the build phase. Valid values include: - // - // * BUILD: Core build activities typically occur in this build phase. + // 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: // - // * COMPLETED: The build has been completed. + // * If AWS CodePipeline started the build, the pipeline's name (for example, + // codepipeline/my-demo-pipeline). // - // * DOWNLOAD_SOURCE: Source code is being downloaded in this build phase. + // * If an AWS Identity and Access Management (IAM) user started the build, + // the user's name. // - // * FINALIZING: The build process is completing in this build phase. + // * 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. // - // * INSTALL: Installation activities typically occur in this build phase. + // * For AWS CodeCommit, GitHub, GitHub Enterprise, and BitBucket, the commit + // ID. // - // * POST_BUILD: Post-build activities typically occur in this build phase. + // * For AWS CodePipeline, the source revision provided by AWS CodePipeline. // - // * PRE_BUILD: Pre-build activities typically occur in this build phase. + // * 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: // - // * PROVISIONING: The build environment is being set up. + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // - // * QUEUED: The build has been submitted and is queued behind other submitted - // builds. + // * 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. // - // * SUBMITTED: The build has been submitted. + // * 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. // - // * UPLOAD_ARTIFACTS: Build output artifacts are being uploaded to the output - // location. - PhaseType *string `locationName:"phaseType" type:"string" enum:"BuildPhaseType"` + // * 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"` - // When the build phase started, expressed in Unix time format. + // 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 BuildPhase) String() string { +func (s BuildBatch) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s BuildPhase) GoString() string { +func (s BuildBatch) 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 *BuildBatch) SetArn(v string) *BuildBatch { + s.Arn = &v return s } -// SetDurationInSeconds sets the DurationInSeconds field's value. -func (s *BuildPhase) SetDurationInSeconds(v int64) *BuildPhase { - s.DurationInSeconds = &v +// SetArtifacts sets the Artifacts field's value. +func (s *BuildBatch) SetArtifacts(v *BuildArtifacts) *BuildBatch { + s.Artifacts = v return s } -// SetEndTime sets the EndTime field's value. -func (s *BuildPhase) SetEndTime(v time.Time) *BuildPhase { - s.EndTime = &v +// SetBuildBatchConfig sets the BuildBatchConfig field's value. +func (s *BuildBatch) SetBuildBatchConfig(v *ProjectBuildBatchConfig) *BuildBatch { + s.BuildBatchConfig = v return s } -// SetPhaseStatus sets the PhaseStatus field's value. -func (s *BuildPhase) SetPhaseStatus(v string) *BuildPhase { - s.PhaseStatus = &v +// SetBuildBatchNumber sets the BuildBatchNumber field's value. +func (s *BuildBatch) SetBuildBatchNumber(v int64) *BuildBatch { + s.BuildBatchNumber = &v return s } -// SetPhaseType sets the PhaseType field's value. -func (s *BuildPhase) SetPhaseType(v string) *BuildPhase { - s.PhaseType = &v +// SetBuildBatchStatus sets the BuildBatchStatus field's value. +func (s *BuildBatch) SetBuildBatchStatus(v string) *BuildBatch { + s.BuildBatchStatus = &v return s } -// SetStartTime sets the StartTime field's value. -func (s *BuildPhase) SetStartTime(v time.Time) *BuildPhase { - s.StartTime = &v +// SetBuildGroups sets the BuildGroups field's value. +func (s *BuildBatch) SetBuildGroups(v []*BuildGroup) *BuildBatch { + s.BuildGroups = 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"` +// SetBuildTimeoutInMinutes sets the BuildTimeoutInMinutes field's value. +func (s *BuildBatch) SetBuildTimeoutInMinutes(v int64) *BuildBatch { + s.BuildTimeoutInMinutes = &v + return s +} - // 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"` +// SetCache sets the Cache field's value. +func (s *BuildBatch) SetCache(v *ProjectCache) *BuildBatch { + s.Cache = v + return s +} - // 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"` +// SetComplete sets the Complete field's value. +func (s *BuildBatch) SetComplete(v bool) *BuildBatch { + s.Complete = &v + return s } -// String returns the string representation -func (s BuildStatusConfig) String() string { - return awsutil.Prettify(s) +// SetCurrentPhase sets the CurrentPhase field's value. +func (s *BuildBatch) SetCurrentPhase(v string) *BuildBatch { + s.CurrentPhase = &v + return s } -// GoString returns the string representation -func (s BuildStatusConfig) GoString() string { - return s.String() +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *BuildBatch) SetEncryptionKey(v string) *BuildBatch { + s.EncryptionKey = &v + return s } -// SetContext sets the Context field's value. -func (s *BuildStatusConfig) SetContext(v string) *BuildStatusConfig { - s.Context = &v +// SetEndTime sets the EndTime field's value. +func (s *BuildBatch) SetEndTime(v time.Time) *BuildBatch { + s.EndTime = &v return s } -// SetTargetUrl sets the TargetUrl field's value. -func (s *BuildStatusConfig) SetTargetUrl(v string) *BuildStatusConfig { - s.TargetUrl = &v +// SetEnvironment sets the Environment field's value. +func (s *BuildBatch) SetEnvironment(v *ProjectEnvironment) *BuildBatch { + s.Environment = v return s } -// Information about Amazon CloudWatch Logs for a build project. -type CloudWatchLogsConfig struct { - _ struct{} `type:"structure"` +// SetFileSystemLocations sets the FileSystemLocations field's value. +func (s *BuildBatch) SetFileSystemLocations(v []*ProjectFileSystemLocation) *BuildBatch { + s.FileSystemLocations = v + return s +} - // 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"` +// SetId sets the Id field's value. +func (s *BuildBatch) SetId(v string) *BuildBatch { + s.Id = &v + return s +} - // 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"` +// SetInitiator sets the Initiator field's value. +func (s *BuildBatch) SetInitiator(v string) *BuildBatch { + s.Initiator = &v + return s +} - // 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"` +// SetLogConfig sets the LogConfig field's value. +func (s *BuildBatch) SetLogConfig(v *LogsConfig) *BuildBatch { + s.LogConfig = v + return s } -// String returns the string representation -func (s CloudWatchLogsConfig) String() string { - return awsutil.Prettify(s) +// SetPhases sets the Phases field's value. +func (s *BuildBatch) SetPhases(v []*BuildBatchPhase) *BuildBatch { + s.Phases = v + return s } -// GoString returns the string representation -func (s CloudWatchLogsConfig) GoString() string { - return s.String() +// SetProjectName sets the ProjectName field's value. +func (s *BuildBatch) SetProjectName(v string) *BuildBatch { + s.ProjectName = &v + return s } -// 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")) - } +// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. +func (s *BuildBatch) SetQueuedTimeoutInMinutes(v int64) *BuildBatch { + s.QueuedTimeoutInMinutes = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetResolvedSourceVersion sets the ResolvedSourceVersion field's value. +func (s *BuildBatch) SetResolvedSourceVersion(v string) *BuildBatch { + s.ResolvedSourceVersion = &v + return s } -// SetGroupName sets the GroupName field's value. -func (s *CloudWatchLogsConfig) SetGroupName(v string) *CloudWatchLogsConfig { - s.GroupName = &v +// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. +func (s *BuildBatch) SetSecondaryArtifacts(v []*BuildArtifacts) *BuildBatch { + s.SecondaryArtifacts = v return s } -// SetStatus sets the Status field's value. -func (s *CloudWatchLogsConfig) SetStatus(v string) *CloudWatchLogsConfig { - s.Status = &v +// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. +func (s *BuildBatch) SetSecondarySourceVersions(v []*ProjectSourceVersion) *BuildBatch { + s.SecondarySourceVersions = v return s } -// SetStreamName sets the StreamName field's value. -func (s *CloudWatchLogsConfig) SetStreamName(v string) *CloudWatchLogsConfig { - s.StreamName = &v +// SetSecondarySources sets the SecondarySources field's value. +func (s *BuildBatch) SetSecondarySources(v []*ProjectSource) *BuildBatch { + s.SecondarySources = v return s } -type CreateProjectInput struct { - _ struct{} `type:"structure"` +// SetServiceRole sets the ServiceRole field's value. +func (s *BuildBatch) SetServiceRole(v string) *BuildBatch { + s.ServiceRole = &v + return s +} - // Information about the build output artifacts for the build project. - // - // Artifacts is a required field - Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure" required:"true"` +// SetSource sets the Source field's value. +func (s *BuildBatch) SetSource(v *ProjectSource) *BuildBatch { + s.Source = v + return s +} - // Set this to true to generate a publicly accessible URL for your project's - // build badge. - BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"` +// SetSourceVersion sets the SourceVersion field's value. +func (s *BuildBatch) SetSourceVersion(v string) *BuildBatch { + s.SourceVersion = &v + return s +} - // Stores recently used information so that it can be quickly accessed at a - // later time. - Cache *ProjectCache `locationName:"cache" type:"structure"` +// SetStartTime sets the StartTime field's value. +func (s *BuildBatch) SetStartTime(v time.Time) *BuildBatch { + s.StartTime = &v + return s +} - // A description that makes the build project easy to identify. - Description *string `locationName:"description" type:"string"` +// SetVpcConfig sets the VpcConfig field's value. +func (s *BuildBatch) SetVpcConfig(v *VpcConfig) *BuildBatch { + s.VpcConfig = v + return s +} - // 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"` +// Specifies filters when retrieving batch builds. +type BuildBatchFilter struct { + _ struct{} `type:"structure"` - // Information about the build environment for the build project. - // - // Environment is a required field - Environment *ProjectEnvironment `locationName:"environment" type:"structure" required:"true"` + // 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"` +} - // 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"` +// String returns the string representation +func (s BuildBatchFilter) String() string { + return awsutil.Prettify(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"` +// GoString returns the string representation +func (s BuildBatchFilter) GoString() string { + return s.String() +} - // The name of the build project. - // - // Name is a required field - Name *string `locationName:"name" min:"2" type:"string" required:"true"` +// SetStatus sets the Status field's value. +func (s *BuildBatchFilter) SetStatus(v string) *BuildBatchFilter { + s.Status = &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"` +// Contains information about a stage for a batch build. +type BuildBatchPhase struct { + _ struct{} `type:"structure"` - // An array of ProjectArtifacts objects. - SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"` + // Additional information about the batch build phase. Especially to help troubleshoot + // a failed btach build. + Contexts []*PhaseContext `locationName:"contexts" 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"` + // How long, in seconds, between the starting and ending times of the batch + // build's phase. + DurationInSeconds *int64 `locationName:"durationInSeconds" type:"long"` - // An array of ProjectSource objects. - SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"` + // When the batch build phase ended, expressed in Unix time format. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` - // 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. + // The current status of the batch build phase. Valid values include: // - // 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. + // FAILED // - // 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: + // The build phase failed. // - // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. + // FAULT // - // * 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 build phase faulted. // - // * 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. + // IN_PROGRESS // - // * For Amazon Simple Storage Service (Amazon S3): the version ID of the - // object that represents the build input ZIP file to use. + // The build phase is still in progress. // - // If sourceVersion is specified at the build level, then that version takes - // precedence over this sourceVersion (at the project level). + // QUEUED // - // 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. + // The build has been submitted and is queued behind other submitted builds. // - // These tags are available for use by AWS services that support AWS CodeBuild - // build project tags. - Tags []*Tag `locationName:"tags" type:"list"` + // 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"` - // 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"` + // 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"` - // VpcConfig enables AWS CodeBuild to access resources in an Amazon VPC. - VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` + // 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 CreateProjectInput) String() string { +func (s BuildBatchPhase) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateProjectInput) GoString() string { +func (s BuildBatchPhase) 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)) - } - } - } - if s.VpcConfig != nil { - if err := s.VpcConfig.Validate(); err != nil { - invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetArtifacts sets the Artifacts field's value. -func (s *CreateProjectInput) SetArtifacts(v *ProjectArtifacts) *CreateProjectInput { - s.Artifacts = v +// SetContexts sets the Contexts field's value. +func (s *BuildBatchPhase) SetContexts(v []*PhaseContext) *BuildBatchPhase { + s.Contexts = v return s } -// SetBadgeEnabled sets the BadgeEnabled field's value. -func (s *CreateProjectInput) SetBadgeEnabled(v bool) *CreateProjectInput { - s.BadgeEnabled = &v +// SetDurationInSeconds sets the DurationInSeconds field's value. +func (s *BuildBatchPhase) SetDurationInSeconds(v int64) *BuildBatchPhase { + s.DurationInSeconds = &v return s } -// SetCache sets the Cache field's value. -func (s *CreateProjectInput) SetCache(v *ProjectCache) *CreateProjectInput { - s.Cache = v +// SetEndTime sets the EndTime field's value. +func (s *BuildBatchPhase) SetEndTime(v time.Time) *BuildBatchPhase { + s.EndTime = &v return s } -// SetDescription sets the Description field's value. -func (s *CreateProjectInput) SetDescription(v string) *CreateProjectInput { - s.Description = &v +// SetPhaseStatus sets the PhaseStatus field's value. +func (s *BuildBatchPhase) SetPhaseStatus(v string) *BuildBatchPhase { + s.PhaseStatus = &v return s } -// SetEncryptionKey sets the EncryptionKey field's value. -func (s *CreateProjectInput) SetEncryptionKey(v string) *CreateProjectInput { - s.EncryptionKey = &v +// SetPhaseType sets the PhaseType field's value. +func (s *BuildBatchPhase) SetPhaseType(v string) *BuildBatchPhase { + s.PhaseType = &v return s } -// SetEnvironment sets the Environment field's value. -func (s *CreateProjectInput) SetEnvironment(v *ProjectEnvironment) *CreateProjectInput { - s.Environment = v +// SetStartTime sets the StartTime field's value. +func (s *BuildBatchPhase) SetStartTime(v time.Time) *BuildBatchPhase { + s.StartTime = &v return s } -// SetFileSystemLocations sets the FileSystemLocations field's value. -func (s *CreateProjectInput) SetFileSystemLocations(v []*ProjectFileSystemLocation) *CreateProjectInput { - s.FileSystemLocations = 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"` -// SetLogsConfig sets the LogsConfig field's value. -func (s *CreateProjectInput) SetLogsConfig(v *LogsConfig) *CreateProjectInput { - s.LogsConfig = v - return s -} + // A BuildSummary object that contains a summary of the current build group. + CurrentBuildSummary *BuildSummary `locationName:"currentBuildSummary" type:"structure"` -// SetName sets the Name field's value. -func (s *CreateProjectInput) SetName(v string) *CreateProjectInput { - s.Name = &v - return s -} + // An array of strings that contain the identifiers of the build groups that + // this build group depends on. + DependsOn []*string `locationName:"dependsOn" type:"list"` -// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. -func (s *CreateProjectInput) SetQueuedTimeoutInMinutes(v int64) *CreateProjectInput { - s.QueuedTimeoutInMinutes = &v - return s -} + // Contains the identifier of the build group. + Identifier *string `locationName:"identifier" type:"string"` -// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. -func (s *CreateProjectInput) SetSecondaryArtifacts(v []*ProjectArtifacts) *CreateProjectInput { - s.SecondaryArtifacts = v - return s -} + // Specifies if failures in this build group can be ignored. + IgnoreFailure *bool `locationName:"ignoreFailure" type:"boolean"` -// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. -func (s *CreateProjectInput) SetSecondarySourceVersions(v []*ProjectSourceVersion) *CreateProjectInput { - s.SecondarySourceVersions = v - return s + // An array of BuildSummary objects that contain summaries of previous build + // groups. + PriorBuildSummaryList []*BuildSummary `locationName:"priorBuildSummaryList" type:"list"` } -// SetSecondarySources sets the SecondarySources field's value. -func (s *CreateProjectInput) SetSecondarySources(v []*ProjectSource) *CreateProjectInput { - s.SecondarySources = v - return s +// String returns the string representation +func (s BuildGroup) String() string { + return awsutil.Prettify(s) } -// SetServiceRole sets the ServiceRole field's value. -func (s *CreateProjectInput) SetServiceRole(v string) *CreateProjectInput { - s.ServiceRole = &v - return s +// GoString returns the string representation +func (s BuildGroup) GoString() string { + return s.String() } -// SetSource sets the Source field's value. -func (s *CreateProjectInput) SetSource(v *ProjectSource) *CreateProjectInput { - s.Source = v +// SetCurrentBuildSummary sets the CurrentBuildSummary field's value. +func (s *BuildGroup) SetCurrentBuildSummary(v *BuildSummary) *BuildGroup { + s.CurrentBuildSummary = v return s } -// SetSourceVersion sets the SourceVersion field's value. -func (s *CreateProjectInput) SetSourceVersion(v string) *CreateProjectInput { - s.SourceVersion = &v +// SetDependsOn sets the DependsOn field's value. +func (s *BuildGroup) SetDependsOn(v []*string) *BuildGroup { + s.DependsOn = v return s } -// SetTags sets the Tags field's value. -func (s *CreateProjectInput) SetTags(v []*Tag) *CreateProjectInput { - s.Tags = v +// SetIdentifier sets the Identifier field's value. +func (s *BuildGroup) SetIdentifier(v string) *BuildGroup { + s.Identifier = &v return s } -// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. -func (s *CreateProjectInput) SetTimeoutInMinutes(v int64) *CreateProjectInput { - s.TimeoutInMinutes = &v +// SetIgnoreFailure sets the IgnoreFailure field's value. +func (s *BuildGroup) SetIgnoreFailure(v bool) *BuildGroup { + s.IgnoreFailure = &v return s } -// SetVpcConfig sets the VpcConfig field's value. -func (s *CreateProjectInput) SetVpcConfig(v *VpcConfig) *CreateProjectInput { - s.VpcConfig = v +// SetPriorBuildSummaryList sets the PriorBuildSummaryList field's value. +func (s *BuildGroup) SetPriorBuildSummaryList(v []*BuildSummary) *BuildGroup { + s.PriorBuildSummaryList = v return s } -type CreateProjectOutput struct { +// Information about a build that could not be successfully deleted. +type BuildNotDeleted struct { _ struct{} `type:"structure"` - // Information about the build project that was created. - Project *Project `locationName:"project" 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 CreateProjectOutput) String() string { +func (s BuildNotDeleted) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateProjectOutput) GoString() string { +func (s BuildNotDeleted) GoString() string { return s.String() } -// SetProject sets the Project field's value. -func (s *CreateProjectOutput) SetProject(v *Project) *CreateProjectOutput { - s.Project = v +// SetId sets the Id field's value. +func (s *BuildNotDeleted) SetId(v string) *BuildNotDeleted { + s.Id = &v return s } -type CreateReportGroupInput struct { +// 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"` - // 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"` + // Additional information about a build phase, especially to help troubleshoot + // a failed build. + Contexts []*PhaseContext `locationName:"contexts" type:"list"` - // The name of the report group. - // - // Name is a required field - Name *string `locationName:"name" min:"2" type:"string" required:"true"` + // How long, in seconds, between the starting and ending times of the build's + // phase. + DurationInSeconds *int64 `locationName:"durationInSeconds" type:"long"` - // 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"` + // When the build phase ended, expressed in Unix time format. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` - // The type of report group. + // The current status of the build phase. Valid values include: // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"ReportType"` + // 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 CreateReportGroupInput) String() string { +func (s BuildPhase) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateReportGroupInput) GoString() string { +func (s BuildPhase) 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")) - } - 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)) - } - } - } +// SetContexts sets the Contexts field's value. +func (s *BuildPhase) SetContexts(v []*PhaseContext) *BuildPhase { + s.Contexts = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetDurationInSeconds sets the DurationInSeconds field's value. +func (s *BuildPhase) SetDurationInSeconds(v int64) *BuildPhase { + s.DurationInSeconds = &v + return s } -// SetExportConfig sets the ExportConfig field's value. -func (s *CreateReportGroupInput) SetExportConfig(v *ReportExportConfig) *CreateReportGroupInput { - s.ExportConfig = v +// SetEndTime sets the EndTime field's value. +func (s *BuildPhase) SetEndTime(v time.Time) *BuildPhase { + s.EndTime = &v return s } -// SetName sets the Name field's value. -func (s *CreateReportGroupInput) SetName(v string) *CreateReportGroupInput { - s.Name = &v +// SetPhaseStatus sets the PhaseStatus field's value. +func (s *BuildPhase) SetPhaseStatus(v string) *BuildPhase { + s.PhaseStatus = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateReportGroupInput) SetTags(v []*Tag) *CreateReportGroupInput { - s.Tags = v +// SetPhaseType sets the PhaseType field's value. +func (s *BuildPhase) SetPhaseType(v string) *BuildPhase { + s.PhaseType = &v return s } -// SetType sets the Type field's value. -func (s *CreateReportGroupInput) SetType(v string) *CreateReportGroupInput { - s.Type = &v +// SetStartTime sets the StartTime field's value. +func (s *BuildPhase) SetStartTime(v time.Time) *BuildPhase { + s.StartTime = &v return s } -type CreateReportGroupOutput struct { +// Contains information that defines how the AWS CodeBuild build project reports +// the build status to the source provider. +type BuildStatusConfig struct { _ struct{} `type:"structure"` - // Information about the report group that was created. - ReportGroup *ReportGroup `locationName:"reportGroup" 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 CreateReportGroupOutput) String() string { +func (s BuildStatusConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateReportGroupOutput) GoString() string { +func (s BuildStatusConfig) GoString() string { return s.String() } -// SetReportGroup sets the ReportGroup field's value. -func (s *CreateReportGroupOutput) SetReportGroup(v *ReportGroup) *CreateReportGroupOutput { - s.ReportGroup = v +// SetContext sets the Context field's value. +func (s *BuildStatusConfig) SetContext(v string) *BuildStatusConfig { + s.Context = &v return s } -type CreateWebhookInput struct { +// 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"` - // 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. - // - // It is recommended that you use filterGroups instead of branchFilter. - BranchFilter *string `locationName:"branchFilter" type:"string"` + // The batch build ARN. + Arn *string `locationName:"arn" type:"string"` - // An array of arrays of WebhookFilter objects used to determine which webhooks - // are triggered. At least one WebhookFilter in the array must specify EVENT - // as its type. + // The status of the build group. // - // For a build to be triggered, at least one filter group in the filterGroups - // array must pass. For a filter group to pass, each of its filters must pass. - FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"` - - // The name of the AWS CodeBuild project. + // FAILED // - // ProjectName is a required field - ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"` + // 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 CreateWebhookInput) String() string { +func (s BuildSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateWebhookInput) GoString() string { +func (s BuildSummary) 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)) - } +// SetArn sets the Arn field's value. +func (s *BuildSummary) SetArn(v string) *BuildSummary { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetBuildStatus sets the BuildStatus field's value. +func (s *BuildSummary) SetBuildStatus(v string) *BuildSummary { + s.BuildStatus = &v + return s } -// SetBranchFilter sets the BranchFilter field's value. -func (s *CreateWebhookInput) SetBranchFilter(v string) *CreateWebhookInput { - s.BranchFilter = &v +// SetPrimaryArtifact sets the PrimaryArtifact field's value. +func (s *BuildSummary) SetPrimaryArtifact(v *ResolvedArtifact) *BuildSummary { + s.PrimaryArtifact = v return s } -// SetFilterGroups sets the FilterGroups field's value. -func (s *CreateWebhookInput) SetFilterGroups(v [][]*WebhookFilter) *CreateWebhookInput { - s.FilterGroups = v +// SetRequestedOn sets the RequestedOn field's value. +func (s *BuildSummary) SetRequestedOn(v time.Time) *BuildSummary { + s.RequestedOn = &v return s } -// SetProjectName sets the ProjectName field's value. -func (s *CreateWebhookInput) SetProjectName(v string) *CreateWebhookInput { - s.ProjectName = &v +// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. +func (s *BuildSummary) SetSecondaryArtifacts(v []*ResolvedArtifact) *BuildSummary { + s.SecondaryArtifacts = v return s } -type CreateWebhookOutput struct { +// Information about Amazon CloudWatch Logs for a build project. +type CloudWatchLogsConfig 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) -} + // 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"` -// GoString returns the string representation -func (s CreateWebhookOutput) GoString() string { - return s.String() -} - -// SetWebhook sets the Webhook field's value. -func (s *CreateWebhookOutput) SetWebhook(v *Webhook) *CreateWebhookOutput { - s.Webhook = 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"` -} - -// 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 -} - -// SetSessionTarget sets the SessionTarget field's value. -func (s *DebugSession) SetSessionTarget(v string) *DebugSession { - s.SessionTarget = &v - return s -} - -type DeleteProjectInput struct { - _ struct{} `type:"structure"` - - // The name of the build project. + // The current status of the logs in Amazon CloudWatch Logs for a build project. + // Valid values are: // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // * 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 DeleteProjectInput) String() string { +func (s CloudWatchLogsConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteProjectInput) GoString() string { +func (s CloudWatchLogsConfig) 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")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) +func (s *CloudWatchLogsConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloudWatchLogsConfig"} + if s.Status == nil { + invalidParams.Add(request.NewErrParamRequired("Status")) } if invalidParams.Len() > 0 { @@ -5112,282 +6101,447 @@ func (s *DeleteProjectInput) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *DeleteProjectInput) SetName(v string) *DeleteProjectInput { - s.Name = &v +// SetGroupName sets the GroupName field's value. +func (s *CloudWatchLogsConfig) SetGroupName(v string) *CloudWatchLogsConfig { + s.GroupName = &v return s } -type DeleteProjectOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s DeleteProjectOutput) String() string { - return awsutil.Prettify(s) +// SetStatus sets the Status field's value. +func (s *CloudWatchLogsConfig) SetStatus(v string) *CloudWatchLogsConfig { + s.Status = &v + return s } -// GoString returns the string representation -func (s DeleteProjectOutput) GoString() string { - return s.String() +// SetStreamName sets the StreamName field's value. +func (s *CloudWatchLogsConfig) SetStreamName(v string) *CloudWatchLogsConfig { + s.StreamName = &v + return s } -type DeleteReportGroupInput struct { +// 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 ARN of the report group to delete. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` -} + // The percentage of branches that are covered by your tests. + BranchCoveragePercentage *float64 `locationName:"branchCoveragePercentage" type:"double"` -// String returns the string representation -func (s DeleteReportGroupInput) String() string { - return awsutil.Prettify(s) -} + // The number of conditional branches that are covered by your tests. + BranchesCovered *int64 `locationName:"branchesCovered" type:"integer"` -// GoString returns the string representation -func (s DeleteReportGroupInput) GoString() string { - return s.String() -} + // The number of conditional branches that are not covered by your tests. + BranchesMissed *int64 `locationName:"branchesMissed" type:"integer"` -// 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)) - } + // The date and time that the tests were run. + Expired *time.Time `locationName:"expired" type:"timestamp"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // The path of the test report file. + FilePath *string `locationName:"filePath" min:"1" type:"string"` -// SetArn sets the Arn field's value. -func (s *DeleteReportGroupInput) SetArn(v string) *DeleteReportGroupInput { - s.Arn = &v - return s -} + // The identifier of the code coverage report. + Id *string `locationName:"id" min:"1" type:"string"` -type DeleteReportGroupOutput struct { - _ struct{} `type:"structure"` + // 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 DeleteReportGroupOutput) String() string { +func (s CodeCoverage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteReportGroupOutput) GoString() string { +func (s CodeCoverage) GoString() string { return s.String() } -type DeleteReportInput struct { - _ struct{} `type:"structure"` +// SetBranchCoveragePercentage sets the BranchCoveragePercentage field's value. +func (s *CodeCoverage) SetBranchCoveragePercentage(v float64) *CodeCoverage { + s.BranchCoveragePercentage = &v + return s +} - // The ARN of the report to delete. - // - // Arn is a required field - Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` +// SetBranchesCovered sets the BranchesCovered field's value. +func (s *CodeCoverage) SetBranchesCovered(v int64) *CodeCoverage { + s.BranchesCovered = &v + return s } -// String returns the string representation -func (s DeleteReportInput) String() string { - return awsutil.Prettify(s) +// SetBranchesMissed sets the BranchesMissed field's value. +func (s *CodeCoverage) SetBranchesMissed(v int64) *CodeCoverage { + s.BranchesMissed = &v + return s } -// GoString returns the string representation -func (s DeleteReportInput) GoString() string { - return s.String() +// SetExpired sets the Expired field's value. +func (s *CodeCoverage) SetExpired(v time.Time) *CodeCoverage { + s.Expired = &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)) - } +// SetFilePath sets the FilePath field's value. +func (s *CodeCoverage) SetFilePath(v string) *CodeCoverage { + s.FilePath = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetId sets the Id field's value. +func (s *CodeCoverage) SetId(v string) *CodeCoverage { + s.Id = &v + return s } -// SetArn sets the Arn field's value. -func (s *DeleteReportInput) SetArn(v string) *DeleteReportInput { - s.Arn = &v +// SetLineCoveragePercentage sets the LineCoveragePercentage field's value. +func (s *CodeCoverage) SetLineCoveragePercentage(v float64) *CodeCoverage { + s.LineCoveragePercentage = &v return s } -type DeleteReportOutput struct { - _ struct{} `type:"structure"` +// SetLinesCovered sets the LinesCovered field's value. +func (s *CodeCoverage) SetLinesCovered(v int64) *CodeCoverage { + s.LinesCovered = &v + return s } -// String returns the string representation -func (s DeleteReportOutput) String() string { - return awsutil.Prettify(s) +// SetLinesMissed sets the LinesMissed field's value. +func (s *CodeCoverage) SetLinesMissed(v int64) *CodeCoverage { + s.LinesMissed = &v + return s } -// GoString returns the string representation -func (s DeleteReportOutput) GoString() string { - return s.String() +// SetReportARN sets the ReportARN field's value. +func (s *CodeCoverage) SetReportARN(v string) *CodeCoverage { + s.ReportARN = &v + return s } -type DeleteResourcePolicyInput struct { +// 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 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"` + // 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 DeleteResourcePolicyInput) String() string { +func (s CodeCoverageReportSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteResourcePolicyInput) 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 *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)) - } +// SetBranchCoveragePercentage sets the BranchCoveragePercentage field's value. +func (s *CodeCoverageReportSummary) SetBranchCoveragePercentage(v float64) *CodeCoverageReportSummary { + s.BranchCoveragePercentage = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetBranchesCovered sets the BranchesCovered field's value. +func (s *CodeCoverageReportSummary) SetBranchesCovered(v int64) *CodeCoverageReportSummary { + s.BranchesCovered = &v + return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput { - s.ResourceArn = &v +// SetBranchesMissed sets the BranchesMissed field's value. +func (s *CodeCoverageReportSummary) SetBranchesMissed(v int64) *CodeCoverageReportSummary { + s.BranchesMissed = &v return s } -type DeleteResourcePolicyOutput struct { - _ struct{} `type:"structure"` +// SetLineCoveragePercentage sets the LineCoveragePercentage field's value. +func (s *CodeCoverageReportSummary) SetLineCoveragePercentage(v float64) *CodeCoverageReportSummary { + s.LineCoveragePercentage = &v + return s } -// String returns the string representation -func (s DeleteResourcePolicyOutput) String() string { - return awsutil.Prettify(s) +// SetLinesCovered sets the LinesCovered field's value. +func (s *CodeCoverageReportSummary) SetLinesCovered(v int64) *CodeCoverageReportSummary { + s.LinesCovered = &v + return s } -// GoString returns the string representation -func (s DeleteResourcePolicyOutput) GoString() string { - return s.String() +// SetLinesMissed sets the LinesMissed field's value. +func (s *CodeCoverageReportSummary) SetLinesMissed(v int64) *CodeCoverageReportSummary { + s.LinesMissed = &v + return s } -type DeleteSourceCredentialsInput struct { +type CreateProjectInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the token. + // Information about the build output artifacts for the build project. // - // Arn is a required field - Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` -} + // Artifacts is a required field + Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure" required:"true"` -// String returns the string representation -func (s DeleteSourceCredentialsInput) String() string { - return awsutil.Prettify(s) -} + // Set this to true to generate a publicly accessible URL for your project's + // build badge. + BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"` -// GoString returns the string representation -func (s DeleteSourceCredentialsInput) GoString() string { - return s.String() -} + // A ProjectBuildBatchConfig object that defines the batch build options for + // the project. + BuildBatchConfig *ProjectBuildBatchConfig `locationName:"buildBatchConfig" type:"structure"` -// 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)) - } + // Stores recently used information so that it can be quickly accessed at a + // later time. + Cache *ProjectCache `locationName:"cache" type:"structure"` - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} + // A description that makes the build project easy to identify. + Description *string `locationName:"description" type:"string"` -// SetArn sets the Arn field's value. -func (s *DeleteSourceCredentialsInput) SetArn(v string) *DeleteSourceCredentialsInput { - s.Arn = &v - return s -} + // 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"` -type DeleteSourceCredentialsOutput struct { - _ struct{} `type:"structure"` + // Information about the build environment for the build project. + // + // Environment is a required field + Environment *ProjectEnvironment `locationName:"environment" type:"structure" required:"true"` - // The Amazon Resource Name (ARN) of the token. - Arn *string `locationName:"arn" min:"1" type:"string"` -} + // 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"` -// String returns the string representation -func (s DeleteSourceCredentialsOutput) String() string { - return awsutil.Prettify(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"` -// GoString returns the string representation -func (s DeleteSourceCredentialsOutput) GoString() string { - return s.String() -} + // The name of the build project. + // + // Name is a required field + Name *string `locationName:"name" min:"2" type:"string" required:"true"` -// SetArn sets the Arn field's value. -func (s *DeleteSourceCredentialsOutput) SetArn(v string) *DeleteSourceCredentialsOutput { - s.Arn = &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 DeleteWebhookInput struct { - _ struct{} `type:"structure"` + // An array of ProjectArtifacts objects. + SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"` - // The name of the AWS CodeBuild project. + // 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. // - // ProjectName is a required field - ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"` + // 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 DeleteWebhookInput) String() string { +func (s CreateProjectInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteWebhookInput) 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 *DeleteWebhookInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteWebhookInput"} - if s.ProjectName == nil { - invalidParams.Add(request.NewErrParamRequired("ProjectName")) +func (s *CreateProjectInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateProjectInput"} + if s.Artifacts == nil { + invalidParams.Add(request.NewErrParamRequired("Artifacts")) } - if s.ProjectName != nil && len(*s.ProjectName) < 2 { - invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2)) + 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.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 { @@ -5396,306 +6550,214 @@ func (s *DeleteWebhookInput) Validate() error { return nil } -// SetProjectName sets the ProjectName field's value. -func (s *DeleteWebhookInput) SetProjectName(v string) *DeleteWebhookInput { - s.ProjectName = &v +// SetArtifacts sets the Artifacts field's value. +func (s *CreateProjectInput) SetArtifacts(v *ProjectArtifacts) *CreateProjectInput { + s.Artifacts = v return s } -type DeleteWebhookOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation -func (s DeleteWebhookOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s DeleteWebhookOutput) GoString() string { - return s.String() -} - -type DescribeTestCasesInput struct { - _ struct{} `type:"structure"` - - // A TestCaseFilter object used to filter the returned reports. - Filter *TestCaseFilter `locationName:"filter" 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"` +// SetBadgeEnabled sets the BadgeEnabled field's value. +func (s *CreateProjectInput) SetBadgeEnabled(v bool) *CreateProjectInput { + s.BadgeEnabled = &v + return s } -// String returns the string representation -func (s DescribeTestCasesInput) String() string { - return awsutil.Prettify(s) +// SetBuildBatchConfig sets the BuildBatchConfig field's value. +func (s *CreateProjectInput) SetBuildBatchConfig(v *ProjectBuildBatchConfig) *CreateProjectInput { + s.BuildBatchConfig = v + return s } -// GoString returns the string representation -func (s DescribeTestCasesInput) GoString() string { - return s.String() +// SetCache sets the Cache field's value. +func (s *CreateProjectInput) SetCache(v *ProjectCache) *CreateProjectInput { + s.Cache = v + return s } -// 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 +// SetDescription sets the Description field's value. +func (s *CreateProjectInput) SetDescription(v string) *CreateProjectInput { + s.Description = &v + return s } -// SetFilter sets the Filter field's value. -func (s *DescribeTestCasesInput) SetFilter(v *TestCaseFilter) *DescribeTestCasesInput { - s.Filter = v +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *CreateProjectInput) SetEncryptionKey(v string) *CreateProjectInput { + s.EncryptionKey = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeTestCasesInput) SetMaxResults(v int64) *DescribeTestCasesInput { - s.MaxResults = &v +// SetEnvironment sets the Environment field's value. +func (s *CreateProjectInput) SetEnvironment(v *ProjectEnvironment) *CreateProjectInput { + s.Environment = v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeTestCasesInput) SetNextToken(v string) *DescribeTestCasesInput { - s.NextToken = &v +// SetFileSystemLocations sets the FileSystemLocations field's value. +func (s *CreateProjectInput) SetFileSystemLocations(v []*ProjectFileSystemLocation) *CreateProjectInput { + s.FileSystemLocations = v return s } -// SetReportArn sets the ReportArn field's value. -func (s *DescribeTestCasesInput) SetReportArn(v string) *DescribeTestCasesInput { - s.ReportArn = &v +// SetLogsConfig sets the LogsConfig field's value. +func (s *CreateProjectInput) SetLogsConfig(v *LogsConfig) *CreateProjectInput { + s.LogsConfig = 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"` +// SetName sets the Name field's value. +func (s *CreateProjectInput) SetName(v string) *CreateProjectInput { + s.Name = &v + return s } -// String returns the string representation -func (s DescribeTestCasesOutput) String() string { - return awsutil.Prettify(s) +// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. +func (s *CreateProjectInput) SetQueuedTimeoutInMinutes(v int64) *CreateProjectInput { + s.QueuedTimeoutInMinutes = &v + return s } -// GoString returns the string representation -func (s DescribeTestCasesOutput) GoString() string { - return s.String() +// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. +func (s *CreateProjectInput) SetSecondaryArtifacts(v []*ProjectArtifacts) *CreateProjectInput { + s.SecondaryArtifacts = v + return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeTestCasesOutput) SetNextToken(v string) *DescribeTestCasesOutput { - s.NextToken = &v +// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. +func (s *CreateProjectInput) SetSecondarySourceVersions(v []*ProjectSourceVersion) *CreateProjectInput { + s.SecondarySourceVersions = v return s } -// SetTestCases sets the TestCases field's value. -func (s *DescribeTestCasesOutput) SetTestCases(v []*TestCase) *DescribeTestCasesOutput { - s.TestCases = v +// SetSecondarySources sets the SecondarySources field's value. +func (s *CreateProjectInput) SetSecondarySources(v []*ProjectSource) *CreateProjectInput { + s.SecondarySources = 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"` +// SetServiceRole sets the ServiceRole field's value. +func (s *CreateProjectInput) SetServiceRole(v string) *CreateProjectInput { + s.ServiceRole = &v + return s } -// String returns the string representation -func (s EnvironmentImage) String() string { - return awsutil.Prettify(s) +// SetSource sets the Source field's value. +func (s *CreateProjectInput) SetSource(v *ProjectSource) *CreateProjectInput { + s.Source = v + return s } -// GoString returns the string representation -func (s EnvironmentImage) GoString() string { - return s.String() +// SetSourceVersion sets the SourceVersion field's value. +func (s *CreateProjectInput) SetSourceVersion(v string) *CreateProjectInput { + s.SourceVersion = &v + return s } -// SetDescription sets the Description field's value. -func (s *EnvironmentImage) SetDescription(v string) *EnvironmentImage { - s.Description = &v +// SetTags sets the Tags field's value. +func (s *CreateProjectInput) SetTags(v []*Tag) *CreateProjectInput { + s.Tags = v return s } -// SetName sets the Name field's value. -func (s *EnvironmentImage) SetName(v string) *EnvironmentImage { - s.Name = &v +// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. +func (s *CreateProjectInput) SetTimeoutInMinutes(v int64) *CreateProjectInput { + s.TimeoutInMinutes = &v return s } -// SetVersions sets the Versions field's value. -func (s *EnvironmentImage) SetVersions(v []*string) *EnvironmentImage { - s.Versions = v +// SetVpcConfig sets the VpcConfig field's value. +func (s *CreateProjectInput) SetVpcConfig(v *VpcConfig) *CreateProjectInput { + s.VpcConfig = v return s } -// A set of Docker images that are related by programming language and are managed -// by AWS CodeBuild. -type EnvironmentLanguage struct { +type CreateProjectOutput 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"` + // Information about the build project that was created. + Project *Project `locationName:"project" type:"structure"` } // String returns the string representation -func (s EnvironmentLanguage) String() string { +func (s CreateProjectOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EnvironmentLanguage) GoString() string { +func (s CreateProjectOutput) GoString() string { return s.String() } -// SetImages sets the Images field's value. -func (s *EnvironmentLanguage) SetImages(v []*EnvironmentImage) *EnvironmentLanguage { - s.Images = v - return s -} - -// SetLanguage sets the Language field's value. -func (s *EnvironmentLanguage) SetLanguage(v string) *EnvironmentLanguage { - s.Language = &v +// SetProject sets the Project field's value. +func (s *CreateProjectOutput) SetProject(v *Project) *CreateProjectOutput { + s.Project = v return s } -// A set of Docker images that are related by platform and are managed by AWS -// CodeBuild. -type EnvironmentPlatform struct { +type CreateReportGroupInput struct { _ struct{} `type:"structure"` - // The list of programming languages that are available for the specified platform. - Languages []*EnvironmentLanguage `locationName:"languages" type:"list"` + // 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 platform's name. - Platform *string `locationName:"platform" type:"string" enum:"PlatformType"` + // The name of the report group. + // + // Name is a required field + Name *string `locationName:"name" min:"2" type:"string" required:"true"` + + // 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 report group. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ReportType"` } // String returns the string representation -func (s EnvironmentPlatform) String() string { +func (s CreateReportGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s EnvironmentPlatform) GoString() string { - return s.String() -} - -// SetLanguages sets the Languages field's value. -func (s *EnvironmentPlatform) SetLanguages(v []*EnvironmentLanguage) *EnvironmentPlatform { - s.Languages = v - return s -} - -// 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"` - - // The name or key of the environment variable. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` - - // The type of environment variable. Valid values include: - // - // * 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 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"` -} - -// String returns the string representation -func (s EnvironmentVariable) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s EnvironmentVariable) 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 *EnvironmentVariable) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "EnvironmentVariable"} +func (s *CreateReportGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateReportGroupInput"} + if s.ExportConfig == nil { + invalidParams.Add(request.NewErrParamRequired("ExportConfig")) + } 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.Name != nil && len(*s.Name) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Name", 2)) } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) + 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 { @@ -5704,89 +6766,99 @@ func (s *EnvironmentVariable) 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 *EnvironmentVariable) SetName(v string) *EnvironmentVariable { +func (s *CreateReportGroupInput) SetName(v string) *CreateReportGroupInput { s.Name = &v return s } -// SetType sets the Type field's value. -func (s *EnvironmentVariable) SetType(v string) *EnvironmentVariable { - s.Type = &v +// SetTags sets the Tags field's value. +func (s *CreateReportGroupInput) SetTags(v []*Tag) *CreateReportGroupInput { + s.Tags = v return s } -// SetValue sets the Value field's value. -func (s *EnvironmentVariable) SetValue(v string) *EnvironmentVariable { - s.Value = &v +// SetType sets the Type field's value. +func (s *CreateReportGroupInput) SetType(v string) *CreateReportGroupInput { + s.Type = &v return s } -// Information about an exported environment variable. -type ExportedEnvironmentVariable struct { +type CreateReportGroupOutput struct { _ struct{} `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"` + // Information about the report group that was created. + ReportGroup *ReportGroup `locationName:"reportGroup" type:"structure"` } // String returns the string representation -func (s ExportedEnvironmentVariable) String() string { +func (s CreateReportGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ExportedEnvironmentVariable) GoString() string { +func (s CreateReportGroupOutput) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *ExportedEnvironmentVariable) SetName(v string) *ExportedEnvironmentVariable { - s.Name = &v - return s -} - -// SetValue sets the Value field's value. -func (s *ExportedEnvironmentVariable) SetValue(v string) *ExportedEnvironmentVariable { - s.Value = &v +// SetReportGroup sets the ReportGroup field's value. +func (s *CreateReportGroupOutput) SetReportGroup(v *ReportGroup) *CreateReportGroupOutput { + s.ReportGroup = v return s } -type GetResourcePolicyInput struct { +type CreateWebhookInput struct { _ struct{} `type:"structure"` - // The ARN of the resource that is associated with the resource policy. + // 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. // - // ResourceArn is a required field - ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` + // 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. + // + // For a build to be triggered, at least one filter group in the filterGroups + // array must pass. For a filter group to pass, each of its filters must pass. + FilterGroups [][]*WebhookFilter `locationName:"filterGroups" type:"list"` + + // The name of the AWS CodeBuild project. + // + // ProjectName is a required field + ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"` } // String returns the string representation -func (s GetResourcePolicyInput) String() string { +func (s CreateWebhookInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResourcePolicyInput) GoString() string { +func (s CreateWebhookInput) 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 *CreateWebhookInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWebhookInput"} + if s.ProjectName == nil { + invalidParams.Add(request.NewErrParamRequired("ProjectName")) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + if s.ProjectName != nil && len(*s.ProjectName) < 2 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2)) } if invalidParams.Len() > 0 { @@ -5795,133 +6867,117 @@ func (s *GetResourcePolicyInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput { - s.ResourceArn = &v +// SetBranchFilter sets the BranchFilter field's value. +func (s *CreateWebhookInput) SetBranchFilter(v string) *CreateWebhookInput { + s.BranchFilter = &v return s } -type GetResourcePolicyOutput struct { +// SetBuildType sets the BuildType field's value. +func (s *CreateWebhookInput) SetBuildType(v string) *CreateWebhookInput { + s.BuildType = &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 + return s +} + +type CreateWebhookOutput struct { _ struct{} `type:"structure"` - // The resource policy for the resource identified by the input ARN parameter. - Policy *string `locationName:"policy" min:"1" type:"string"` + // 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 GetResourcePolicyOutput) String() string { +func (s CreateWebhookOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetResourcePolicyOutput) GoString() string { +func (s CreateWebhookOutput) GoString() string { return s.String() } -// SetPolicy sets the Policy field's value. -func (s *GetResourcePolicyOutput) SetPolicy(v string) *GetResourcePolicyOutput { - s.Policy = &v +// SetWebhook sets the Webhook field's value. +func (s *CreateWebhookOutput) SetWebhook(v *Webhook) *CreateWebhookOutput { + s.Webhook = v return s } -// Information about the Git submodules configuration for an AWS CodeBuild build -// project. -type GitSubmodulesConfig struct { +// 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"` - // 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"` + // 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"` } // String returns the string representation -func (s GitSubmodulesConfig) String() string { +func (s DebugSession) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GitSubmodulesConfig) GoString() string { +func (s DebugSession) 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 +// SetSessionEnabled sets the SessionEnabled field's value. +func (s *DebugSession) SetSessionEnabled(v bool) *DebugSession { + s.SessionEnabled = &v + return s } -// SetFetchSubmodules sets the FetchSubmodules field's value. -func (s *GitSubmodulesConfig) SetFetchSubmodules(v bool) *GitSubmodulesConfig { - s.FetchSubmodules = &v +// SetSessionTarget sets the SessionTarget field's value. +func (s *DebugSession) SetSessionTarget(v string) *DebugSession { + s.SessionTarget = &v return s } -type ImportSourceCredentialsInput struct { +type DeleteBuildBatchInput 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. + // The identifier of the batch build to delete. // - // AuthType is a required field - AuthType *string `locationName:"authType" type:"string" required:"true" enum:"AuthType"` - - // The source provider used for this project. - // - // ServerType is a required field - ServerType *string `locationName:"serverType" type:"string" required:"true" enum:"ServerType"` - - // 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"` - - // For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket, - // this is the app password. - // - // 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"` + // Id is a required field + Id *string `locationName:"id" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ImportSourceCredentialsInput) String() string { +func (s DeleteBuildBatchInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ImportSourceCredentialsInput) GoString() string { +func (s DeleteBuildBatchInput) 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)) +func (s *DeleteBuildBatchInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBuildBatchInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) } - if s.Username != nil && len(*s.Username) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Username", 1)) + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) } if invalidParams.Len() > 0 { @@ -5930,142 +6986,137 @@ 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 - return s -} - -// SetShouldOverwrite sets the ShouldOverwrite field's value. -func (s *ImportSourceCredentialsInput) SetShouldOverwrite(v bool) *ImportSourceCredentialsInput { - s.ShouldOverwrite = &v +// SetId sets the Id field's value. +func (s *DeleteBuildBatchInput) SetId(v string) *DeleteBuildBatchInput { + s.Id = &v return s } -// SetToken sets the Token field's value. -func (s *ImportSourceCredentialsInput) SetToken(v string) *ImportSourceCredentialsInput { - s.Token = &v - return s -} +type DeleteBuildBatchOutput struct { + _ struct{} `type:"structure"` -// SetUsername sets the Username field's value. -func (s *ImportSourceCredentialsInput) SetUsername(v string) *ImportSourceCredentialsInput { - s.Username = &v - return s -} + // An array of strings that contain the identifiers of the builds that were + // deleted. + BuildsDeleted []*string `locationName:"buildsDeleted" min:"1" type:"list"` -type ImportSourceCredentialsOutput struct { - _ struct{} `type:"structure"` + // An array of BuildNotDeleted objects that specify the builds that could not + // be deleted. + BuildsNotDeleted []*BuildNotDeleted `locationName:"buildsNotDeleted" type:"list"` - // The Amazon Resource Name (ARN) of the token. - Arn *string `locationName:"arn" min:"1" type:"string"` + // The status code. + StatusCode *string `locationName:"statusCode" type:"string"` } // String returns the string representation -func (s ImportSourceCredentialsOutput) String() string { +func (s DeleteBuildBatchOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ImportSourceCredentialsOutput) GoString() string { +func (s DeleteBuildBatchOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ImportSourceCredentialsOutput) SetArn(v string) *ImportSourceCredentialsOutput { - s.Arn = &v +// SetBuildsDeleted sets the BuildsDeleted field's value. +func (s *DeleteBuildBatchOutput) SetBuildsDeleted(v []*string) *DeleteBuildBatchOutput { + s.BuildsDeleted = v return s } -// The input value that was provided is not valid. -type InvalidInputException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetBuildsNotDeleted sets the BuildsNotDeleted field's value. +func (s *DeleteBuildBatchOutput) SetBuildsNotDeleted(v []*BuildNotDeleted) *DeleteBuildBatchOutput { + s.BuildsNotDeleted = v + return s +} - Message_ *string `locationName:"message" type:"string"` +// SetStatusCode sets the StatusCode field's value. +func (s *DeleteBuildBatchOutput) SetStatusCode(v string) *DeleteBuildBatchOutput { + s.StatusCode = &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"` } // String returns the string representation -func (s InvalidInputException) String() string { +func (s DeleteProjectInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidInputException) GoString() string { +func (s DeleteProjectInput) 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 *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)) } -} - -// 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 +// SetName sets the Name field's value. +func (s *DeleteProjectInput) SetName(v string) *DeleteProjectInput { + s.Name = &v + return s } -func (s *InvalidInputException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +type DeleteProjectOutput struct { + _ struct{} `type:"structure"` } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidInputException) StatusCode() int { - return s.RespMetadata.StatusCode +// String returns the string representation +func (s DeleteProjectOutput) String() string { + return awsutil.Prettify(s) } -// RequestID returns the service's response RequestID for request. -func (s *InvalidInputException) RequestID() string { - return s.RespMetadata.RequestID +// GoString returns the string representation +func (s DeleteProjectOutput) GoString() string { + return s.String() } -type InvalidateProjectCacheInput struct { +type DeleteReportGroupInput struct { _ struct{} `type:"structure"` - // The name of the AWS CodeBuild build project that the cache is reset for. + // The ARN of the report group to delete. // - // ProjectName is a required field - ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s InvalidateProjectCacheInput) String() string { +func (s DeleteReportGroupInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidateProjectCacheInput) GoString() string { +func (s DeleteReportGroupInput) 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")) +func (s *DeleteReportGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReportGroupInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } - if s.ProjectName != nil && len(*s.ProjectName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) } if invalidParams.Len() > 0 { @@ -6074,68 +7125,53 @@ func (s *InvalidateProjectCacheInput) Validate() error { return nil } -// SetProjectName sets the ProjectName field's value. -func (s *InvalidateProjectCacheInput) SetProjectName(v string) *InvalidateProjectCacheInput { - s.ProjectName = &v +// SetArn sets the Arn field's value. +func (s *DeleteReportGroupInput) SetArn(v string) *DeleteReportGroupInput { + s.Arn = &v return s } -type InvalidateProjectCacheOutput struct { +type DeleteReportGroupOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s InvalidateProjectCacheOutput) String() string { +func (s DeleteReportGroupOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s InvalidateProjectCacheOutput) GoString() string { +func (s DeleteReportGroupOutput) GoString() string { return s.String() } -type ListBuildsForProjectInput struct { +type DeleteReportInput 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:"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. + // The ARN of the report to delete. // - // * DESCENDING: List the build IDs in descending order by build ID. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListBuildsForProjectInput) String() string { +func (s DeleteReportInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListBuildsForProjectInput) GoString() string { +func (s DeleteReportInput) 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")) +func (s *DeleteReportInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteReportInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } - if s.ProjectName != nil && len(*s.ProjectName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) } if invalidParams.Len() > 0 { @@ -6144,223 +7180,258 @@ func (s *ListBuildsForProjectInput) Validate() error { return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListBuildsForProjectInput) SetNextToken(v string) *ListBuildsForProjectInput { - s.NextToken = &v +// SetArn sets the Arn field's value. +func (s *DeleteReportInput) SetArn(v string) *DeleteReportInput { + s.Arn = &v return s } -// SetProjectName sets the ProjectName field's value. -func (s *ListBuildsForProjectInput) SetProjectName(v string) *ListBuildsForProjectInput { - s.ProjectName = &v - return s +type DeleteReportOutput struct { + _ struct{} `type:"structure"` } -// SetSortOrder sets the SortOrder field's value. -func (s *ListBuildsForProjectInput) SetSortOrder(v string) *ListBuildsForProjectInput { - s.SortOrder = &v - return s +// String returns the string representation +func (s DeleteReportOutput) String() string { + return awsutil.Prettify(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"` +// GoString returns the string representation +func (s DeleteReportOutput) GoString() string { + return s.String() +} - // 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"` +type DeleteResourcePolicyInput struct { + _ struct{} `type:"structure"` + + // 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 ListBuildsForProjectOutput) String() string { +func (s DeleteResourcePolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListBuildsForProjectOutput) GoString() string { +func (s DeleteResourcePolicyInput) GoString() string { return s.String() } -// SetIds sets the Ids field's value. -func (s *ListBuildsForProjectOutput) SetIds(v []*string) *ListBuildsForProjectOutput { - s.Ids = 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 } -// SetNextToken sets the NextToken field's value. -func (s *ListBuildsForProjectOutput) SetNextToken(v string) *ListBuildsForProjectOutput { - s.NextToken = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput { + s.ResourceArn = &v return s } -type ListBuildsInput struct { +type DeleteResourcePolicyOutput 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"` +// String returns the string representation +func (s DeleteResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} - // The order to list build IDs. Valid values include: - // - // * ASCENDING: List the build IDs in ascending order by build ID. +// GoString returns the string representation +func (s DeleteResourcePolicyOutput) GoString() string { + return s.String() +} + +type DeleteSourceCredentialsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the token. // - // * DESCENDING: List the build IDs in descending order by build ID. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListBuildsInput) String() string { +func (s DeleteSourceCredentialsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListBuildsInput) GoString() string { +func (s DeleteSourceCredentialsInput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListBuildsInput) SetNextToken(v string) *ListBuildsInput { - s.NextToken = &v - return s +// 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 } -// SetSortOrder sets the SortOrder field's value. -func (s *ListBuildsInput) SetSortOrder(v string) *ListBuildsInput { - s.SortOrder = &v +// SetArn sets the Arn field's value. +func (s *DeleteSourceCredentialsInput) SetArn(v string) *DeleteSourceCredentialsInput { + s.Arn = &v return s } -type ListBuildsOutput struct { +type DeleteSourceCredentialsOutput 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"` - - // 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 Amazon Resource Name (ARN) of the token. + Arn *string `locationName:"arn" min:"1" type:"string"` } // String returns the string representation -func (s ListBuildsOutput) String() string { +func (s DeleteSourceCredentialsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListBuildsOutput) GoString() string { +func (s DeleteSourceCredentialsOutput) GoString() string { return s.String() } -// SetIds sets the Ids field's value. -func (s *ListBuildsOutput) SetIds(v []*string) *ListBuildsOutput { - s.Ids = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput { - s.NextToken = &v +// SetArn sets the Arn field's value. +func (s *DeleteSourceCredentialsOutput) SetArn(v string) *DeleteSourceCredentialsOutput { + s.Arn = &v return s } -type ListCuratedEnvironmentImagesInput struct { +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"` } // String returns the string representation -func (s ListCuratedEnvironmentImagesInput) String() string { +func (s DeleteWebhookInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListCuratedEnvironmentImagesInput) GoString() string { +func (s DeleteWebhookInput) GoString() string { return s.String() } -type ListCuratedEnvironmentImagesOutput struct { - _ struct{} `type:"structure"` +// 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)) + } - // Information about supported platforms for Docker images that are managed - // by AWS CodeBuild. - Platforms []*EnvironmentPlatform `locationName:"platforms" type:"list"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetProjectName sets the ProjectName field's value. +func (s *DeleteWebhookInput) SetProjectName(v string) *DeleteWebhookInput { + s.ProjectName = &v + return s +} + +type DeleteWebhookOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation -func (s ListCuratedEnvironmentImagesOutput) String() string { +func (s DeleteWebhookOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListCuratedEnvironmentImagesOutput) GoString() string { +func (s DeleteWebhookOutput) GoString() string { return s.String() } -// SetPlatforms sets the Platforms field's value. -func (s *ListCuratedEnvironmentImagesOutput) SetPlatforms(v []*EnvironmentPlatform) *ListCuratedEnvironmentImagesOutput { - s.Platforms = v - return s -} - -type ListProjectsInput struct { +type DescribeCodeCoveragesInput 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 maximum line coverage percentage to report. + MaxLineCoveragePercentage *float64 `locationName:"maxLineCoveragePercentage" type:"double"` - // 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. + // 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. // - // 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"` + // ReportArn is a required field + ReportArn *string `locationName:"reportArn" min:"1" type:"string" required:"true"` - // The order in which to list build projects. Valid values include: + // Specifies how the results are sorted. Possible values are: // - // * ASCENDING: List in ascending order. + // FILE_PATH // - // * DESCENDING: List in descending order. + // The results are sorted by file path. // - // Use sortBy to specify the criterion to be used to list build project names. + // LINE_COVERAGE_PERCENTAGE + // + // The results are sorted by the percentage of lines that are covered. + SortBy *string `locationName:"sortBy" type:"string" enum:"ReportCodeCoverageSortByType"` + + // 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 ListProjectsInput) String() string { +func (s DescribeCodeCoveragesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListProjectsInput) 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 *ListProjectsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListProjectsInput"} - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) +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 { @@ -6369,66 +7440,90 @@ func (s *ListProjectsInput) Validate() error { return nil } +// SetMaxLineCoveragePercentage sets the MaxLineCoveragePercentage field's value. +func (s *DescribeCodeCoveragesInput) SetMaxLineCoveragePercentage(v float64) *DescribeCodeCoveragesInput { + s.MaxLineCoveragePercentage = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeCodeCoveragesInput) SetMaxResults(v int64) *DescribeCodeCoveragesInput { + s.MaxResults = &v + return s +} + +// SetMinLineCoveragePercentage sets the MinLineCoveragePercentage field's value. +func (s *DescribeCodeCoveragesInput) SetMinLineCoveragePercentage(v float64) *DescribeCodeCoveragesInput { + s.MinLineCoveragePercentage = &v + return s +} + // SetNextToken sets the NextToken field's value. -func (s *ListProjectsInput) SetNextToken(v string) *ListProjectsInput { +func (s *DescribeCodeCoveragesInput) SetNextToken(v string) *DescribeCodeCoveragesInput { s.NextToken = &v return s } +// SetReportArn sets the ReportArn field's value. +func (s *DescribeCodeCoveragesInput) SetReportArn(v string) *DescribeCodeCoveragesInput { + s.ReportArn = &v + return s +} + // SetSortBy sets the SortBy field's value. -func (s *ListProjectsInput) SetSortBy(v string) *ListProjectsInput { +func (s *DescribeCodeCoveragesInput) SetSortBy(v string) *DescribeCodeCoveragesInput { s.SortBy = &v return s } // SetSortOrder sets the SortOrder field's value. -func (s *ListProjectsInput) SetSortOrder(v string) *ListProjectsInput { +func (s *DescribeCodeCoveragesInput) SetSortOrder(v string) *DescribeCodeCoveragesInput { s.SortOrder = &v return s } -type ListProjectsOutput struct { +type DescribeCodeCoveragesOutput 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"` + // An array of CodeCoverage objects that contain the results. + CodeCoverages []*CodeCoverage `locationName:"codeCoverages" type:"list"` - // The list of build project names, with each build project name representing - // a single build project. - Projects []*string `locationName:"projects" min:"1" 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"` } // String returns the string representation -func (s ListProjectsOutput) String() string { +func (s DescribeCodeCoveragesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListProjectsOutput) GoString() string { +func (s DescribeCodeCoveragesOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput { - s.NextToken = &v +// SetCodeCoverages sets the CodeCoverages field's value. +func (s *DescribeCodeCoveragesOutput) SetCodeCoverages(v []*CodeCoverage) *DescribeCodeCoveragesOutput { + s.CodeCoverages = v return s } -// SetProjects sets the Projects field's value. -func (s *ListProjectsOutput) SetProjects(v []*string) *ListProjectsOutput { - s.Projects = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeCodeCoveragesOutput) SetNextToken(v string) *DescribeCodeCoveragesOutput { + s.NextToken = &v return s } -type ListReportGroupsInput struct { +type DescribeTestCasesInput 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. + // A TestCaseFilter object used to filter the returned reports. + Filter *TestCaseFilter `locationName:"filter" 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 @@ -6440,36 +7535,31 @@ type ListReportGroupsInput struct { // 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. + // The ARN of the report for which test cases are returned. // - // * NAME: List based on each report group's name. - SortBy *string `locationName:"sortBy" type:"string" enum:"ReportGroupSortByType"` - - // 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"` + // ReportArn is a required field + ReportArn *string `locationName:"reportArn" type:"string" required:"true"` } // String returns the string representation -func (s ListReportGroupsInput) String() string { +func (s DescribeTestCasesInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReportGroupsInput) 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 *ListReportGroupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListReportGroupsInput"} +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 @@ -6477,31 +7567,31 @@ func (s *ListReportGroupsInput) Validate() error { 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 *ListReportGroupsInput) SetMaxResults(v int64) *ListReportGroupsInput { +func (s *DescribeTestCasesInput) SetMaxResults(v int64) *DescribeTestCasesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListReportGroupsInput) SetNextToken(v string) *ListReportGroupsInput { +func (s *DescribeTestCasesInput) SetNextToken(v string) *DescribeTestCasesInput { s.NextToken = &v return s } -// SetSortBy sets the SortBy field's value. -func (s *ListReportGroupsInput) SetSortBy(v string) *ListReportGroupsInput { - s.SortBy = &v - return s -} - -// SetSortOrder sets the SortOrder field's value. -func (s *ListReportGroupsInput) SetSortOrder(v string) *ListReportGroupsInput { - s.SortOrder = &v +// SetReportArn sets the ReportArn field's value. +func (s *DescribeTestCasesInput) SetReportArn(v string) *DescribeTestCasesInput { + s.ReportArn = &v return s } -type ListReportGroupsOutput struct { +type DescribeTestCasesOutput struct { _ struct{} `type:"structure"` // During a previous call, the maximum number of items that can be returned @@ -6513,323 +7603,198 @@ type ListReportGroupsOutput struct { // returned. NextToken *string `locationName:"nextToken" type:"string"` - // The list of ARNs for the report groups in the current AWS account. - ReportGroups []*string `locationName:"reportGroups" min:"1" type:"list"` + // The returned list of test cases. + TestCases []*TestCase `locationName:"testCases" type:"list"` } // String returns the string representation -func (s ListReportGroupsOutput) String() string { +func (s DescribeTestCasesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReportGroupsOutput) GoString() string { +func (s DescribeTestCasesOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *ListReportGroupsOutput) SetNextToken(v string) *ListReportGroupsOutput { +func (s *DescribeTestCasesOutput) SetNextToken(v string) *DescribeTestCasesOutput { s.NextToken = &v return s } -// SetReportGroups sets the ReportGroups field's value. -func (s *ListReportGroupsOutput) SetReportGroups(v []*string) *ListReportGroupsOutput { - s.ReportGroups = v +// SetTestCases sets the TestCases field's value. +func (s *DescribeTestCasesOutput) SetTestCases(v []*TestCase) *DescribeTestCasesOutput { + s.TestCases = v return s } -type ListReportsForReportGroupInput struct { +// Information about a Docker image that is managed by AWS CodeBuild. +type EnvironmentImage 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 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 description of the Docker image. + Description *string `locationName:"description" type:"string"` - // The ARN of the report group for which you want to return report ARNs. - // - // ReportGroupArn is a required field - ReportGroupArn *string `locationName:"reportGroupArn" type:"string" required:"true"` + // The name of the Docker image. + Name *string `locationName:"name" type:"string"` - // Use to specify whether the results are returned in ascending or descending - // order. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` + // A list of environment image versions. + Versions []*string `locationName:"versions" type:"list"` } // String returns the string representation -func (s ListReportsForReportGroupInput) String() string { +func (s EnvironmentImage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReportsForReportGroupInput) GoString() string { +func (s EnvironmentImage) 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 -} - -// SetFilter sets the Filter field's value. -func (s *ListReportsForReportGroupInput) SetFilter(v *ReportFilter) *ListReportsForReportGroupInput { - s.Filter = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListReportsForReportGroupInput) SetMaxResults(v int64) *ListReportsForReportGroupInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListReportsForReportGroupInput) SetNextToken(v string) *ListReportsForReportGroupInput { - s.NextToken = &v +// SetDescription sets the Description field's value. +func (s *EnvironmentImage) SetDescription(v string) *EnvironmentImage { + s.Description = &v return s } -// SetReportGroupArn sets the ReportGroupArn field's value. -func (s *ListReportsForReportGroupInput) SetReportGroupArn(v string) *ListReportsForReportGroupInput { - s.ReportGroupArn = &v +// SetName sets the Name field's value. +func (s *EnvironmentImage) SetName(v string) *EnvironmentImage { + s.Name = &v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *ListReportsForReportGroupInput) SetSortOrder(v string) *ListReportsForReportGroupInput { - s.SortOrder = &v +// SetVersions sets the Versions field's value. +func (s *EnvironmentImage) SetVersions(v []*string) *EnvironmentImage { + s.Versions = v return s } -type ListReportsForReportGroupOutput struct { +// A set of Docker images that are related by programming language and are managed +// by AWS CodeBuild. +type EnvironmentLanguage 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 Docker images that are related by the specified programming language. + Images []*EnvironmentImage `locationName:"images" type:"list"` - // The list of report ARNs. - Reports []*string `locationName:"reports" min:"1" type:"list"` + // The programming language for the Docker images. + Language *string `locationName:"language" type:"string" enum:"LanguageType"` } // String returns the string representation -func (s ListReportsForReportGroupOutput) String() string { +func (s EnvironmentLanguage) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReportsForReportGroupOutput) GoString() string { +func (s EnvironmentLanguage) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListReportsForReportGroupOutput) SetNextToken(v string) *ListReportsForReportGroupOutput { - s.NextToken = &v +// SetImages sets the Images field's value. +func (s *EnvironmentLanguage) SetImages(v []*EnvironmentImage) *EnvironmentLanguage { + s.Images = v return s } -// SetReports sets the Reports field's value. -func (s *ListReportsForReportGroupOutput) SetReports(v []*string) *ListReportsForReportGroupOutput { - s.Reports = v +// SetLanguage sets the Language field's value. +func (s *EnvironmentLanguage) SetLanguage(v string) *EnvironmentLanguage { + s.Language = &v return s } -type ListReportsInput struct { +// A set of Docker images that are related by platform and are managed by AWS +// CodeBuild. +type EnvironmentPlatform 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"` + // The list of programming languages that are available for the specified platform. + Languages []*EnvironmentLanguage `locationName:"languages" type:"list"` - // 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"` + // The platform's name. + Platform *string `locationName:"platform" type:"string" enum:"PlatformType"` } // String returns the string representation -func (s ListReportsInput) String() string { +func (s EnvironmentPlatform) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListReportsInput) GoString() string { +func (s EnvironmentPlatform) 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 { - return invalidParams - } - return nil -} - -// SetFilter sets the Filter field's value. -func (s *ListReportsInput) SetFilter(v *ReportFilter) *ListReportsInput { - s.Filter = v +// SetLanguages sets the Languages field's value. +func (s *EnvironmentPlatform) SetLanguages(v []*EnvironmentLanguage) *EnvironmentPlatform { + s.Languages = v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListReportsInput) SetMaxResults(v int64) *ListReportsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListReportsInput) SetNextToken(v string) *ListReportsInput { - s.NextToken = &v - return s -} - -// SetSortOrder sets the SortOrder field's value. -func (s *ListReportsInput) SetSortOrder(v string) *ListReportsInput { - s.SortOrder = &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"` -} - -// String returns the string representation -func (s ListReportsOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ListReportsOutput) GoString() string { - return s.String() -} - -// SetNextToken sets the NextToken field's value. -func (s *ListReportsOutput) SetNextToken(v string) *ListReportsOutput { - s.NextToken = &v - return s -} - -// SetReports sets the Reports field's value. -func (s *ListReportsOutput) SetReports(v []*string) *ListReportsOutput { - s.Reports = v +// SetPlatform sets the Platform field's value. +func (s *EnvironmentPlatform) SetPlatform(v string) *EnvironmentPlatform { + s.Platform = &v return s } -type ListSharedProjectsInput struct { +// Information about an environment variable for a build project or a build. +type EnvironmentVariable 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 name or key of the environment variable. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The criterion to be used to list build projects shared with the current AWS - // account or user. Valid values include: + // The type of environment variable. Valid values include: // - // * ARN: List based on the ARN. + // * 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). // - // * MODIFIED_TIME: List based on when information about the shared project - // was last changed. - SortBy *string `locationName:"sortBy" type:"string" enum:"SharedResourceSortByType"` + // * 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 order in which to list shared build projects. Valid values include: + // The value of the environment variable. // - // * ASCENDING: List in ascending order. + // 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. // - // * DESCENDING: List in descending order. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` + // Value is a required field + Value *string `locationName:"value" type:"string" required:"true"` } // String returns the string representation -func (s ListSharedProjectsInput) String() string { +func (s EnvironmentVariable) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListSharedProjectsInput) 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 *ListSharedProjectsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListSharedProjectsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *EnvironmentVariable) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EnvironmentVariable"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) } if invalidParams.Len() > 0 { @@ -6838,118 +7803,89 @@ func (s *ListSharedProjectsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListSharedProjectsInput) SetMaxResults(v int64) *ListSharedProjectsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListSharedProjectsInput) SetNextToken(v string) *ListSharedProjectsInput { - s.NextToken = &v +// SetName sets the Name field's value. +func (s *EnvironmentVariable) SetName(v string) *EnvironmentVariable { + s.Name = &v return s } -// SetSortBy sets the SortBy field's value. -func (s *ListSharedProjectsInput) SetSortBy(v string) *ListSharedProjectsInput { - s.SortBy = &v +// SetType sets the Type field's value. +func (s *EnvironmentVariable) SetType(v string) *EnvironmentVariable { + s.Type = &v return s } -// SetSortOrder sets the SortOrder field's value. -func (s *ListSharedProjectsInput) SetSortOrder(v string) *ListSharedProjectsInput { - s.SortOrder = &v +// SetValue sets the Value field's value. +func (s *EnvironmentVariable) SetValue(v string) *EnvironmentVariable { + s.Value = &v return s } -type ListSharedProjectsOutput struct { +// Information about an exported environment variable. +type ExportedEnvironmentVariable 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 name of this exported environment variable. + Name *string `locationName:"name" min:"1" 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"` + // 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 ListSharedProjectsOutput) String() string { +func (s ExportedEnvironmentVariable) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListSharedProjectsOutput) GoString() string { +func (s ExportedEnvironmentVariable) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListSharedProjectsOutput) SetNextToken(v string) *ListSharedProjectsOutput { - s.NextToken = &v +// SetName sets the Name field's value. +func (s *ExportedEnvironmentVariable) SetName(v string) *ExportedEnvironmentVariable { + s.Name = &v return s } -// SetProjects sets the Projects field's value. -func (s *ListSharedProjectsOutput) SetProjects(v []*string) *ListSharedProjectsOutput { - s.Projects = v +// SetValue sets the Value field's value. +func (s *ExportedEnvironmentVariable) SetValue(v string) *ExportedEnvironmentVariable { + s.Value = &v return s } -type ListSharedReportGroupsInput struct { +type GetResourcePolicyInput 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, 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 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"` - - // The order in which to list shared report groups. Valid values include: - // - // * ASCENDING: List in ascending order. + // The ARN of the resource that is associated with the resource policy. // - // * DESCENDING: List in descending order. - SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrderType"` + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s ListSharedReportGroupsInput) String() string { +func (s GetResourcePolicyInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListSharedReportGroupsInput) GoString() string { +func (s GetResourcePolicyInput) 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 *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 { @@ -6958,144 +7894,133 @@ func (s *ListSharedReportGroupsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListSharedReportGroupsInput) SetMaxResults(v int64) *ListSharedReportGroupsInput { - s.MaxResults = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput { + s.ResourceArn = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListSharedReportGroupsInput) SetNextToken(v string) *ListSharedReportGroupsInput { - s.NextToken = &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"` } -// 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 *ListSharedReportGroupsInput) SetSortOrder(v string) *ListSharedReportGroupsInput { - s.SortOrder = &v - return s -} - -type ListSharedReportGroupsOutput 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 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 ListSharedReportGroupsOutput) String() string { - return awsutil.Prettify(s) +// String returns the string representation +func (s GetResourcePolicyOutput) String() string { + return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListSharedReportGroupsOutput) GoString() string { +func (s GetResourcePolicyOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListSharedReportGroupsOutput) SetNextToken(v string) *ListSharedReportGroupsOutput { - s.NextToken = &v - return s -} - -// SetReportGroups sets the ReportGroups field's value. -func (s *ListSharedReportGroupsOutput) SetReportGroups(v []*string) *ListSharedReportGroupsOutput { - s.ReportGroups = v +// SetPolicy sets the Policy field's value. +func (s *GetResourcePolicyOutput) SetPolicy(v string) *GetResourcePolicyOutput { + s.Policy = &v return s } -type ListSourceCredentialsInput struct { +// 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. + // + // FetchSubmodules is a required field + FetchSubmodules *bool `locationName:"fetchSubmodules" type:"boolean" required:"true"` } // String returns the string representation -func (s ListSourceCredentialsInput) String() string { +func (s GitSubmodulesConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ListSourceCredentialsInput) GoString() string { +func (s GitSubmodulesConfig) GoString() string { return s.String() } -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"` -} - -// String returns the string representation -func (s ListSourceCredentialsOutput) String() string { - return awsutil.Prettify(s) -} +// 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")) + } -// GoString returns the string representation -func (s ListSourceCredentialsOutput) GoString() string { - return s.String() + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetSourceCredentialsInfos sets the SourceCredentialsInfos field's value. -func (s *ListSourceCredentialsOutput) SetSourceCredentialsInfos(v []*SourceCredentialsInfo) *ListSourceCredentialsOutput { - s.SourceCredentialsInfos = v +// SetFetchSubmodules sets the FetchSubmodules field's value. +func (s *GitSubmodulesConfig) SetFetchSubmodules(v bool) *GitSubmodulesConfig { + s.FetchSubmodules = &v return s } -// 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 { +type ImportSourceCredentialsInput struct { _ struct{} `type:"structure"` - // Information about Amazon CloudWatch Logs for a build project. Amazon CloudWatch - // Logs are enabled by default. - CloudWatchLogs *CloudWatchLogsConfig `locationName:"cloudWatchLogs" 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"` - // 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 source provider used for this project. + // + // ServerType is a required field + ServerType *string `locationName:"serverType" type:"string" required:"true" enum:"ServerType"` + + // 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"` + + // For GitHub or GitHub Enterprise, this is the personal access token. For Bitbucket, + // this is the app password. + // + // 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 LogsConfig) String() string { +func (s ImportSourceCredentialsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LogsConfig) 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 *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 *ImportSourceCredentialsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportSourceCredentialsInput"} + if s.AuthType == nil { + invalidParams.Add(request.NewErrParamRequired("AuthType")) } - if s.S3Logs != nil { - if err := s.S3Logs.Validate(); err != nil { - invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams)) - } + 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 { @@ -7104,635 +8029,2853 @@ func (s *LogsConfig) Validate() error { return nil } -// SetCloudWatchLogs sets the CloudWatchLogs field's value. -func (s *LogsConfig) SetCloudWatchLogs(v *CloudWatchLogsConfig) *LogsConfig { - s.CloudWatchLogs = v +// SetAuthType sets the AuthType field's value. +func (s *ImportSourceCredentialsInput) SetAuthType(v string) *ImportSourceCredentialsInput { + s.AuthType = &v return s } -// SetS3Logs sets the S3Logs field's value. -func (s *LogsConfig) SetS3Logs(v *S3LogsConfig) *LogsConfig { - s.S3Logs = v +// SetServerType sets the ServerType field's value. +func (s *ImportSourceCredentialsInput) SetServerType(v string) *ImportSourceCredentialsInput { + s.ServerType = &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"` +// SetShouldOverwrite sets the ShouldOverwrite field's value. +func (s *ImportSourceCredentialsInput) SetShouldOverwrite(v bool) *ImportSourceCredentialsInput { + s.ShouldOverwrite = &v + return s +} - // The URL to a build log in an S3 bucket. - S3DeepLink *string `locationName:"s3DeepLink" type:"string"` +// SetToken sets the Token field's value. +func (s *ImportSourceCredentialsInput) SetToken(v string) *ImportSourceCredentialsInput { + s.Token = &v + return s +} - // Information about S3 logs for a build project. - S3Logs *S3LogsConfig `locationName:"s3Logs" type:"structure"` +// SetUsername sets the Username field's value. +func (s *ImportSourceCredentialsInput) SetUsername(v string) *ImportSourceCredentialsInput { + s.Username = &v + return s +} - // 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"` +type ImportSourceCredentialsOutput struct { + _ struct{} `type:"structure"` - // The name of the Amazon CloudWatch Logs stream for the build logs. - StreamName *string `locationName:"streamName" type:"string"` + // The Amazon Resource Name (ARN) of the token. + Arn *string `locationName:"arn" min:"1" type:"string"` } // String returns the string representation -func (s LogsLocation) String() string { +func (s ImportSourceCredentialsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LogsLocation) GoString() string { +func (s ImportSourceCredentialsOutput) GoString() string { return s.String() } -// SetCloudWatchLogs sets the CloudWatchLogs field's value. -func (s *LogsLocation) SetCloudWatchLogs(v *CloudWatchLogsConfig) *LogsLocation { - s.CloudWatchLogs = v +// SetArn sets the Arn field's value. +func (s *ImportSourceCredentialsOutput) SetArn(v string) *ImportSourceCredentialsOutput { + s.Arn = &v return s } -// SetCloudWatchLogsArn sets the CloudWatchLogsArn field's value. -func (s *LogsLocation) SetCloudWatchLogsArn(v string) *LogsLocation { - s.CloudWatchLogsArn = &v - return s +// 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"` } -// SetDeepLink sets the DeepLink field's value. -func (s *LogsLocation) SetDeepLink(v string) *LogsLocation { - s.DeepLink = &v - return s +// String returns the string representation +func (s InvalidInputException) String() string { + return awsutil.Prettify(s) } -// SetGroupName sets the GroupName field's value. -func (s *LogsLocation) SetGroupName(v string) *LogsLocation { - s.GroupName = &v - return s +// GoString returns the string representation +func (s InvalidInputException) GoString() string { + return s.String() } -// SetS3DeepLink sets the S3DeepLink field's value. -func (s *LogsLocation) SetS3DeepLink(v string) *LogsLocation { - s.S3DeepLink = &v - return s +func newErrorInvalidInputException(v protocol.ResponseMetadata) error { + return &InvalidInputException{ + RespMetadata: v, + } } -// SetS3Logs sets the S3Logs field's value. -func (s *LogsLocation) SetS3Logs(v *S3LogsConfig) *LogsLocation { - s.S3Logs = v - return s +// Code returns the exception type name. +func (s *InvalidInputException) Code() string { + return "InvalidInputException" } -// SetS3LogsArn sets the S3LogsArn field's value. -func (s *LogsLocation) SetS3LogsArn(v string) *LogsLocation { - s.S3LogsArn = &v - return s +// Message returns the exception's message. +func (s *InvalidInputException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetStreamName sets the StreamName field's value. -func (s *LogsLocation) SetStreamName(v string) *LogsLocation { - s.StreamName = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidInputException) OrigErr() error { + return nil } -// Describes a network interface. -type NetworkInterface struct { - _ struct{} `type:"structure"` +func (s *InvalidInputException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} - // The ID of the network interface. - NetworkInterfaceId *string `locationName:"networkInterfaceId" min:"1" type:"string"` +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidInputException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The ID of the subnet. - SubnetId *string `locationName:"subnetId" min:"1" type:"string"` +// RequestID returns the service's response RequestID for request. +func (s *InvalidInputException) RequestID() string { + return s.RespMetadata.RequestID +} + +type InvalidateProjectCacheInput 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"` } // String returns the string representation -func (s NetworkInterface) String() string { +func (s InvalidateProjectCacheInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s NetworkInterface) GoString() string { +func (s InvalidateProjectCacheInput) GoString() string { return s.String() } -// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. -func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface { - s.NetworkInterfaceId = &v - return s +// 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 } -// SetSubnetId sets the SubnetId field's value. -func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface { - s.SubnetId = &v +// SetProjectName sets the ProjectName field's value. +func (s *InvalidateProjectCacheInput) SetProjectName(v string) *InvalidateProjectCacheInput { + s.ProjectName = &v return s } -// There was a problem with the underlying OAuth provider. -type OAuthProviderException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"message" type:"string"` +type InvalidateProjectCacheOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation -func (s OAuthProviderException) String() string { +func (s InvalidateProjectCacheOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s OAuthProviderException) GoString() string { +func (s InvalidateProjectCacheOutput) GoString() string { return s.String() } -func newErrorOAuthProviderException(v protocol.ResponseMetadata) error { - return &OAuthProviderException{ - RespMetadata: v, - } +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"` + + // Specifies the sort order of the returned items. Valid values include: + // + // * 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"` } -// Code returns the exception type name. -func (s *OAuthProviderException) Code() string { - return "OAuthProviderException" +// String returns the string representation +func (s ListBuildBatchesForProjectInput) String() string { + return awsutil.Prettify(s) } -// Message returns the exception's message. -func (s *OAuthProviderException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// GoString returns the string representation +func (s ListBuildBatchesForProjectInput) GoString() string { + return s.String() } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *OAuthProviderException) OrigErr() error { +// Validate inspects the fields of the type to determine if they are valid. +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.ProjectName != nil && len(*s.ProjectName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProjectName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *OAuthProviderException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetFilter sets the Filter field's value. +func (s *ListBuildBatchesForProjectInput) SetFilter(v *BuildBatchFilter) *ListBuildBatchesForProjectInput { + s.Filter = 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 +// SetMaxResults sets the MaxResults field's value. +func (s *ListBuildBatchesForProjectInput) SetMaxResults(v int64) *ListBuildBatchesForProjectInput { + s.MaxResults = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *OAuthProviderException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListBuildBatchesForProjectInput) SetNextToken(v string) *ListBuildBatchesForProjectInput { + s.NextToken = &v + return s } -// Additional information about a build phase that has an error. You can use -// this information for troubleshooting. -type PhaseContext struct { +// 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 explanation of the build phase's context. This might include a command - // ID and an exit code. - Message *string `locationName:"message" type:"string"` + // An array of strings that contains the batch build identifiers. + Ids []*string `locationName:"ids" type:"list"` - // The status code for the context of the build phase. - StatusCode *string `locationName:"statusCode" type:"string"` + // 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 PhaseContext) String() string { +func (s ListBuildBatchesForProjectOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PhaseContext) GoString() string { +func (s ListBuildBatchesForProjectOutput) GoString() string { return s.String() } -// SetMessage sets the Message field's value. -func (s *PhaseContext) SetMessage(v string) *PhaseContext { - s.Message = &v +// SetIds sets the Ids field's value. +func (s *ListBuildBatchesForProjectOutput) SetIds(v []*string) *ListBuildBatchesForProjectOutput { + s.Ids = v return s } -// SetStatusCode sets the StatusCode field's value. -func (s *PhaseContext) SetStatusCode(v string) *PhaseContext { - s.StatusCode = &v +// SetNextToken sets the NextToken field's value. +func (s *ListBuildBatchesForProjectOutput) SetNextToken(v string) *ListBuildBatchesForProjectOutput { + s.NextToken = &v return s } -// Information about a build project. -type Project struct { +type ListBuildBatchesInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the build project. - Arn *string `locationName:"arn" type:"string"` + // A BuildBatchFilter object that specifies the filters for the search. + Filter *BuildBatchFilter `locationName:"filter" type:"structure"` - // Information about the build output artifacts for the build project. - Artifacts *ProjectArtifacts `locationName:"artifacts" type:"structure"` + // The maximum number of results to return. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // Information about the build badge for the build project. - Badge *ProjectBadge `locationName:"badge" type:"structure"` + // 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"` - // Information about the cache for the build project. - Cache *ProjectCache `locationName:"cache" type:"structure"` + // Specifies the sort order of the returned items. Valid values include: + // + // * 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"` +} - // When the build project was created, expressed in Unix time format. - Created *time.Time `locationName:"created" type:"timestamp"` +// String returns the string representation +func (s ListBuildBatchesInput) String() string { + return awsutil.Prettify(s) +} - // A description that makes the build project easy to identify. - Description *string `locationName:"description" type:"string"` +// GoString returns the string representation +func (s ListBuildBatchesInput) GoString() string { + return s.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"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListBuildBatchesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBuildBatchesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } - // Information about the build environment for this build project. - Environment *ProjectEnvironment `locationName:"environment" type:"structure"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // 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"` +// SetFilter sets the Filter field's value. +func (s *ListBuildBatchesInput) SetFilter(v *BuildBatchFilter) *ListBuildBatchesInput { + s.Filter = v + return s +} - // When the build project's settings were last modified, expressed in Unix time - // format. - LastModified *time.Time `locationName:"lastModified" type:"timestamp"` +// 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"` + + // 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 ListBuildBatchesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBuildBatchesOutput) GoString() string { + return s.String() +} + +// SetIds sets the Ids field's value. +func (s *ListBuildBatchesOutput) SetIds(v []*string) *ListBuildBatchesOutput { + s.Ids = v + return s +} + +// 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:"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 ListBuildsForProjectInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBuildsForProjectInput) 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)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + 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 *ListBuildsForProjectInput) SetProjectName(v string) *ListBuildsForProjectInput { + s.ProjectName = &v + return s +} + +// 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 ListBuildsForProjectOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBuildsForProjectOutput) GoString() string { + return s.String() +} + +// SetIds sets the Ids field's value. +func (s *ListBuildsForProjectOutput) SetIds(v []*string) *ListBuildsForProjectOutput { + s.Ids = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBuildsForProjectOutput) SetNextToken(v string) *ListBuildsForProjectOutput { + s.NextToken = &v + return s +} + +type ListBuildsInput 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 { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBuildsInput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBuildsInput) SetNextToken(v string) *ListBuildsInput { + s.NextToken = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListBuildsInput) SetSortOrder(v string) *ListBuildsInput { + s.SortOrder = &v + return s +} + +type ListBuildsOutput 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"` + + // 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 ListBuildsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListBuildsOutput) GoString() string { + return s.String() +} + +// SetIds sets the Ids field's value. +func (s *ListBuildsOutput) SetIds(v []*string) *ListBuildsOutput { + s.Ids = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBuildsOutput) SetNextToken(v string) *ListBuildsOutput { + s.NextToken = &v + return s +} + +type ListCuratedEnvironmentImagesInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ListCuratedEnvironmentImagesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCuratedEnvironmentImagesInput) GoString() string { + return s.String() +} + +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"` +} + +// String returns the string representation +func (s ListCuratedEnvironmentImagesOutput) String() string { + return awsutil.Prettify(s) +} + +// 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 +} + +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"` +} + +// String returns the string representation +func (s ListProjectsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProjectsInput) GoString() string { + return s.String() +} + +// 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 +} + +// SetSortBy sets the SortBy field's value. +func (s *ListProjectsInput) SetSortBy(v string) *ListProjectsInput { + s.SortBy = &v + return s +} + +// 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"` + + // 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 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 ListProjectsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListProjectsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListProjectsOutput) SetNextToken(v string) *ListProjectsOutput { + s.NextToken = &v + return s +} + +// SetProjects sets the Projects field's value. +func (s *ListProjectsOutput) SetProjects(v []*string) *ListProjectsOutput { + s.Projects = 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"` + + // 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 ListReportGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReportGroupsInput) 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)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// 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 +} + +// SetSortBy sets the SortBy field's value. +func (s *ListReportGroupsInput) SetSortBy(v string) *ListReportGroupsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListReportGroupsInput) SetSortOrder(v string) *ListReportGroupsInput { + s.SortOrder = &v + return s +} + +type ListReportGroupsOutput 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 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 ListReportGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReportGroupsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReportGroupsOutput) SetNextToken(v string) *ListReportGroupsOutput { + s.NextToken = &v + return s +} + +// SetReportGroups sets the ReportGroups field's value. +func (s *ListReportGroupsOutput) SetReportGroups(v []*string) *ListReportGroupsOutput { + s.ReportGroups = v + return s +} + +type ListReportsForReportGroupInput 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 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. + // + // 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 ListReportsForReportGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReportsForReportGroupInput) 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 +} + +// SetFilter sets the Filter field's value. +func (s *ListReportsForReportGroupInput) SetFilter(v *ReportFilter) *ListReportsForReportGroupInput { + s.Filter = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListReportsForReportGroupInput) SetMaxResults(v int64) *ListReportsForReportGroupInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReportsForReportGroupInput) SetNextToken(v string) *ListReportsForReportGroupInput { + s.NextToken = &v + return s +} + +// SetReportGroupArn sets the ReportGroupArn field's value. +func (s *ListReportsForReportGroupInput) SetReportGroupArn(v string) *ListReportsForReportGroupInput { + s.ReportGroupArn = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListReportsForReportGroupInput) SetSortOrder(v string) *ListReportsForReportGroupInput { + s.SortOrder = &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 report ARNs. + Reports []*string `locationName:"reports" min:"1" type:"list"` +} + +// String returns the string representation +func (s ListReportsForReportGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReportsForReportGroupOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReportsForReportGroupOutput) SetNextToken(v string) *ListReportsForReportGroupOutput { + s.NextToken = &v + return s +} + +// SetReports sets the Reports field's value. +func (s *ListReportsForReportGroupOutput) SetReports(v []*string) *ListReportsForReportGroupOutput { + s.Reports = 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"` +} + +// String returns the string representation +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 { + return invalidParams + } + return nil +} + +// SetFilter sets the Filter field's value. +func (s *ListReportsInput) SetFilter(v *ReportFilter) *ListReportsInput { + s.Filter = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListReportsInput) SetMaxResults(v int64) *ListReportsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReportsInput) SetNextToken(v string) *ListReportsInput { + s.NextToken = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListReportsInput) SetSortOrder(v string) *ListReportsInput { + s.SortOrder = &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"` +} + +// String returns the string representation +func (s ListReportsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListReportsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListReportsOutput) SetNextToken(v string) *ListReportsOutput { + s.NextToken = &v + return s +} + +// SetReports sets the Reports field's value. +func (s *ListReportsOutput) SetReports(v []*string) *ListReportsOutput { + s.Reports = v + return s +} + +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 ListSharedProjectsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSharedProjectsInput) 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)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListSharedProjectsInput) SetMaxResults(v int64) *ListSharedProjectsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSharedProjectsInput) SetNextToken(v string) *ListSharedProjectsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListSharedProjectsInput) SetSortBy(v string) *ListSharedProjectsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListSharedProjectsInput) SetSortOrder(v string) *ListSharedProjectsInput { + s.SortOrder = &v + return s +} + +type ListSharedProjectsOutput 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 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 ListSharedProjectsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSharedProjectsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSharedProjectsOutput) SetNextToken(v string) *ListSharedProjectsOutput { + s.NextToken = &v + return s +} + +// SetProjects sets the Projects field's value. +func (s *ListSharedProjectsOutput) SetProjects(v []*string) *ListSharedProjectsOutput { + s.Projects = v + return s +} + +type ListSharedReportGroupsInput 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, 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 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"` + + // 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"` +} + +// String returns the string representation +func (s ListSharedReportGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSharedReportGroupsInput) 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)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + 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 *ListSharedReportGroupsInput) SetNextToken(v string) *ListSharedReportGroupsInput { + s.NextToken = &v + return s +} + +// 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 *ListSharedReportGroupsInput) SetSortOrder(v string) *ListSharedReportGroupsInput { + s.SortOrder = &v + return s +} + +type ListSharedReportGroupsOutput 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 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 ListSharedReportGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSharedReportGroupsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSharedReportGroupsOutput) SetNextToken(v string) *ListSharedReportGroupsOutput { + s.NextToken = &v + return s +} + +// SetReportGroups sets the ReportGroups field's value. +func (s *ListSharedReportGroupsOutput) SetReportGroups(v []*string) *ListSharedReportGroupsOutput { + s.ReportGroups = v + return s +} + +type ListSourceCredentialsInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ListSourceCredentialsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSourceCredentialsInput) GoString() string { + return s.String() +} + +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"` +} + +// 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 +} + +// 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"` + + // Information about Amazon CloudWatch Logs for a build project. Amazon CloudWatch + // Logs are enabled by default. + CloudWatchLogs *CloudWatchLogsConfig `locationName:"cloudWatchLogs" type:"structure"` + + // 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 LogsConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LogsConfig) 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)) + } + } + 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 +} + +// 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 + return s +} + +// SetCloudWatchLogsArn sets the CloudWatchLogsArn field's value. +func (s *LogsLocation) SetCloudWatchLogsArn(v string) *LogsLocation { + s.CloudWatchLogsArn = &v + return s +} + +// SetDeepLink sets the DeepLink field's value. +func (s *LogsLocation) SetDeepLink(v string) *LogsLocation { + s.DeepLink = &v + return s +} + +// SetGroupName sets the GroupName field's value. +func (s *LogsLocation) SetGroupName(v string) *LogsLocation { + s.GroupName = &v + return s +} + +// SetS3DeepLink sets the S3DeepLink field's value. +func (s *LogsLocation) SetS3DeepLink(v string) *LogsLocation { + s.S3DeepLink = &v + return s +} + +// SetS3Logs sets the S3Logs field's value. +func (s *LogsLocation) SetS3Logs(v *S3LogsConfig) *LogsLocation { + s.S3Logs = v + return s +} + +// SetS3LogsArn sets the S3LogsArn field's value. +func (s *LogsLocation) SetS3LogsArn(v string) *LogsLocation { + s.S3LogsArn = &v + return s +} + +// SetStreamName sets the StreamName field's value. +func (s *LogsLocation) SetStreamName(v string) *LogsLocation { + s.StreamName = &v + return s +} + +// Describes a network interface. +type NetworkInterface 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() +} + +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface { + s.NetworkInterfaceId = &v + return s +} + +// SetSubnetId sets the SubnetId field's value. +func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface { + s.SubnetId = &v + return s +} + +// There was a problem with the underlying OAuth provider. +type OAuthProviderException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s OAuthProviderException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OAuthProviderException) GoString() string { + return s.String() +} + +func newErrorOAuthProviderException(v protocol.ResponseMetadata) error { + return &OAuthProviderException{ + RespMetadata: v, + } +} + +// 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 "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *OAuthProviderException) OrigErr() error { + return nil +} + +func (s *OAuthProviderException) 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 *OAuthProviderException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *OAuthProviderException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Additional information about a build phase that has an error. You can use +// this information for troubleshooting. +type PhaseContext struct { + _ struct{} `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 status code for the context of the build phase. + StatusCode *string `locationName:"statusCode" type:"string"` +} + +// String returns the string representation +func (s PhaseContext) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PhaseContext) GoString() string { + return s.String() +} + +// 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"` + + // 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"` + + // 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 *string `locationName:"serviceRole" min:"1" type:"string"` + + // Information about the build input source code for this build project. + Source *ProjectSource `locationName:"source" 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: + // + // * 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 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 Project) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Project) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Project) SetArn(v string) *Project { + s.Arn = &v + return s +} + +// SetArtifacts sets the Artifacts field's value. +func (s *Project) SetArtifacts(v *ProjectArtifacts) *Project { + s.Artifacts = v + return s +} + +// SetBadge sets the Badge field's value. +func (s *Project) SetBadge(v *ProjectBadge) *Project { + s.Badge = v + return s +} + +// SetBuildBatchConfig sets the BuildBatchConfig field's value. +func (s *Project) SetBuildBatchConfig(v *ProjectBuildBatchConfig) *Project { + s.BuildBatchConfig = v + return s +} + +// SetCache sets the Cache field's value. +func (s *Project) SetCache(v *ProjectCache) *Project { + s.Cache = v + return s +} + +// SetCreated sets the Created field's value. +func (s *Project) SetCreated(v time.Time) *Project { + s.Created = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Project) SetDescription(v string) *Project { + s.Description = &v + return s +} + +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *Project) SetEncryptionKey(v string) *Project { + s.EncryptionKey = &v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *Project) SetEnvironment(v *ProjectEnvironment) *Project { + s.Environment = v + return s +} + +// SetFileSystemLocations sets the FileSystemLocations field's value. +func (s *Project) SetFileSystemLocations(v []*ProjectFileSystemLocation) *Project { + s.FileSystemLocations = v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *Project) SetLastModified(v time.Time) *Project { + s.LastModified = &v + return s +} + +// SetLogsConfig sets the LogsConfig field's value. +func (s *Project) SetLogsConfig(v *LogsConfig) *Project { + s.LogsConfig = v + return s +} + +// SetName sets the Name field's value. +func (s *Project) SetName(v string) *Project { + s.Name = &v + return s +} + +// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. +func (s *Project) SetQueuedTimeoutInMinutes(v int64) *Project { + s.QueuedTimeoutInMinutes = &v + return s +} + +// SetSecondaryArtifacts sets the SecondaryArtifacts field's value. +func (s *Project) SetSecondaryArtifacts(v []*ProjectArtifacts) *Project { + s.SecondaryArtifacts = v + return s +} + +// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. +func (s *Project) SetSecondarySourceVersions(v []*ProjectSourceVersion) *Project { + s.SecondarySourceVersions = v + return s +} + +// SetSecondarySources sets the SecondarySources field's value. +func (s *Project) SetSecondarySources(v []*ProjectSource) *Project { + s.SecondarySources = v + return s +} + +// SetServiceRole sets the ServiceRole field's value. +func (s *Project) SetServiceRole(v string) *Project { + s.ServiceRole = &v + return s +} + +// SetSource sets the Source field's value. +func (s *Project) SetSource(v *ProjectSource) *Project { + s.Source = v + return s +} + +// SetSourceVersion sets the SourceVersion field's value. +func (s *Project) SetSourceVersion(v string) *Project { + s.SourceVersion = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Project) SetTags(v []*Tag) *Project { + s.Tags = v + return s +} + +// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. +func (s *Project) SetTimeoutInMinutes(v int64) *Project { + s.TimeoutInMinutes = &v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *Project) SetVpcConfig(v *VpcConfig) *Project { + s.VpcConfig = v + return s +} + +// SetWebhook sets the Webhook field's value. +func (s *Project) SetWebhook(v *Webhook) *Project { + s.Webhook = v + return s +} + +// Information about the build output artifacts for the build project. +type ProjectArtifacts struct { + _ struct{} `type:"structure"` + + // An identifier for this artifact definition. + ArtifactIdentifier *string `locationName:"artifactIdentifier" 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"` + + // 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"` + + // 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 . + 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 ProjectArtifacts) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProjectArtifacts) 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 + return s +} + +// SetName sets the Name field's value. +func (s *ProjectArtifacts) SetName(v string) *ProjectArtifacts { + s.Name = &v + return s +} + +// 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"` + + // 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"` +} + +// String returns the string representation +func (s ProjectBadge) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProjectBadge) GoString() string { + return s.String() +} + +// SetBadgeEnabled sets the BadgeEnabled field's value. +func (s *ProjectBadge) SetBadgeEnabled(v bool) *ProjectBadge { + s.BadgeEnabled = &v + return s +} + +// SetBadgeRequestUrl sets the BadgeRequestUrl field's value. +func (s *ProjectBadge) SetBadgeRequestUrl(v string) *ProjectBadge { + s.BadgeRequestUrl = &v + return s +} + +// Contains configuration information about a batch build project. +type ProjectBuildBatchConfig struct { + _ struct{} `type:"structure"` + + // Specifies if the build artifacts for the batch build should be combined into + // a single artifact location. + CombineArtifacts *bool `locationName:"combineArtifacts" type:"boolean"` + + // A BatchRestrictions object that specifies the restrictions for the batch + // build. + Restrictions *BatchRestrictions `locationName:"restrictions" type:"structure"` + + // Specifies the service role ARN for the batch build project. + ServiceRole *string `locationName:"serviceRole" min:"1" type:"string"` + + // 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 ProjectBuildBatchConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProjectBuildBatchConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +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 { + return invalidParams + } + return nil +} + +// SetCombineArtifacts sets the CombineArtifacts field's value. +func (s *ProjectBuildBatchConfig) SetCombineArtifacts(v bool) *ProjectBuildBatchConfig { + s.CombineArtifacts = &v + return s +} + +// SetRestrictions sets the Restrictions field's value. +func (s *ProjectBuildBatchConfig) SetRestrictions(v *BatchRestrictions) *ProjectBuildBatchConfig { + s.Restrictions = v + return s +} + +// SetServiceRole sets the ServiceRole field's value. +func (s *ProjectBuildBatchConfig) SetServiceRole(v string) *ProjectBuildBatchConfig { + s.ServiceRole = &v + return s +} + +// SetTimeoutInMins sets the TimeoutInMins field's value. +func (s *ProjectBuildBatchConfig) SetTimeoutInMins(v int64) *ProjectBuildBatchConfig { + s.TimeoutInMins = &v + return s +} + +// Information about the cache for the build project. +type ProjectCache 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. + // + // * 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 ProjectCache) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProjectCache) 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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + 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 + return s +} + +// SetType sets the Type field's value. +func (s *ProjectCache) SetType(v string) *ProjectCache { + s.Type = &v + return s +} + +// Information about the build environment of the build project. +type ProjectEnvironment 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 (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 ProjectEnvironment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ProjectEnvironment) 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)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificate sets the Certificate field's value. +func (s *ProjectEnvironment) SetCertificate(v string) *ProjectEnvironment { + s.Certificate = &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"` +// SetComputeType sets the ComputeType field's value. +func (s *ProjectEnvironment) SetComputeType(v string) *ProjectEnvironment { + s.ComputeType = &v + return s +} - // The name of the build project. - Name *string `locationName:"name" min:"2" type:"string"` +// SetEnvironmentVariables sets the EnvironmentVariables field's value. +func (s *ProjectEnvironment) SetEnvironmentVariables(v []*EnvironmentVariable) *ProjectEnvironment { + s.EnvironmentVariables = 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"` +// SetImage sets the Image field's value. +func (s *ProjectEnvironment) SetImage(v string) *ProjectEnvironment { + s.Image = &v + return s +} - // An array of ProjectArtifacts objects. - SecondaryArtifacts []*ProjectArtifacts `locationName:"secondaryArtifacts" type:"list"` +// SetImagePullCredentialsType sets the ImagePullCredentialsType field's value. +func (s *ProjectEnvironment) SetImagePullCredentialsType(v string) *ProjectEnvironment { + s.ImagePullCredentialsType = &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"` +// SetPrivilegedMode sets the PrivilegedMode field's value. +func (s *ProjectEnvironment) SetPrivilegedMode(v bool) *ProjectEnvironment { + s.PrivilegedMode = &v + return s +} - // An array of ProjectSource objects. - SecondarySources []*ProjectSource `locationName:"secondarySources" type:"list"` +// SetRegistryCredential sets the RegistryCredential field's value. +func (s *ProjectEnvironment) SetRegistryCredential(v *RegistryCredential) *ProjectEnvironment { + s.RegistryCredential = 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 *ProjectEnvironment) SetType(v string) *ProjectEnvironment { + s.Type = &v + return s +} - // Information about the build input source code for this build project. - Source *ProjectSource `locationName:"source" type:"structure"` +// 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"` - // 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). + // 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. // - // 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 identifier is used to mount your file system. + Identifier *string `locationName:"identifier" type:"string"` - // A list of tag key and value pairs associated with this build project. + // 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. // - // These tags are available for use by AWS services that support AWS CodeBuild - // build project tags. - Tags []*Tag `locationName:"tags" type:"list"` + // 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"` - // 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"` + // 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"` - // Information about the VPC configuration that AWS CodeBuild accesses. - VpcConfig *VpcConfig `locationName:"vpcConfig" type:"structure"` + // The location in the container where you mount the file system. + MountPoint *string `locationName:"mountPoint" type:"string"` - // Information about a webhook that connects repository events to a build project - // in AWS CodeBuild. - Webhook *Webhook `locationName:"webhook" type:"structure"` + // 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 Project) String() string { +func (s ProjectFileSystemLocation) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Project) GoString() string { +func (s ProjectFileSystemLocation) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Project) SetArn(v string) *Project { - s.Arn = &v +// SetIdentifier sets the Identifier field's value. +func (s *ProjectFileSystemLocation) SetIdentifier(v string) *ProjectFileSystemLocation { + s.Identifier = &v return s } -// SetArtifacts sets the Artifacts field's value. -func (s *Project) SetArtifacts(v *ProjectArtifacts) *Project { - s.Artifacts = v +// SetLocation sets the Location field's value. +func (s *ProjectFileSystemLocation) SetLocation(v string) *ProjectFileSystemLocation { + s.Location = &v return s } -// SetBadge sets the Badge field's value. -func (s *Project) SetBadge(v *ProjectBadge) *Project { - s.Badge = v +// SetMountOptions sets the MountOptions field's value. +func (s *ProjectFileSystemLocation) SetMountOptions(v string) *ProjectFileSystemLocation { + s.MountOptions = &v return s } -// SetCache sets the Cache field's value. -func (s *Project) SetCache(v *ProjectCache) *Project { - s.Cache = v +// SetMountPoint sets the MountPoint field's value. +func (s *ProjectFileSystemLocation) SetMountPoint(v string) *ProjectFileSystemLocation { + s.MountPoint = &v return s } -// SetCreated sets the Created field's value. -func (s *Project) SetCreated(v time.Time) *Project { - s.Created = &v +// SetType sets the Type field's value. +func (s *ProjectFileSystemLocation) SetType(v string) *ProjectFileSystemLocation { + s.Type = &v return s } -// SetDescription sets the Description field's value. -func (s *Project) SetDescription(v string) *Project { - s.Description = &v - return s -} +// Information about the build input source code for the build project. +type ProjectSource struct { + _ struct{} `type:"structure"` -// SetEncryptionKey sets the EncryptionKey field's value. -func (s *Project) SetEncryptionKey(v string) *Project { - s.EncryptionKey = &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. + Auth *SourceAuth `locationName:"auth" 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"` + + // 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"` -// SetEnvironment sets the Environment field's value. -func (s *Project) SetEnvironment(v *ProjectEnvironment) *Project { - s.Environment = v - return s -} + // An identifier for this project source. + SourceIdentifier *string `locationName:"sourceIdentifier" type:"string"` -// SetFileSystemLocations sets the FileSystemLocations field's value. -func (s *Project) SetFileSystemLocations(v []*ProjectFileSystemLocation) *Project { - s.FileSystemLocations = v - return s + // 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"` } -// SetLastModified sets the LastModified field's value. -func (s *Project) SetLastModified(v time.Time) *Project { - s.LastModified = &v - return s +// String returns the string representation +func (s ProjectSource) String() string { + return awsutil.Prettify(s) } -// SetLogsConfig sets the LogsConfig field's value. -func (s *Project) SetLogsConfig(v *LogsConfig) *Project { - s.LogsConfig = v - return s +// GoString returns the string representation +func (s ProjectSource) GoString() string { + return s.String() } -// SetName sets the Name field's value. -func (s *Project) SetName(v string) *Project { - s.Name = &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)) + } + } -// SetQueuedTimeoutInMinutes sets the QueuedTimeoutInMinutes field's value. -func (s *Project) SetQueuedTimeoutInMinutes(v int64) *Project { - s.QueuedTimeoutInMinutes = &v - return s + 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 +// SetAuth sets the Auth field's value. +func (s *ProjectSource) SetAuth(v *SourceAuth) *ProjectSource { + s.Auth = v return s } -// SetSecondarySourceVersions sets the SecondarySourceVersions field's value. -func (s *Project) SetSecondarySourceVersions(v []*ProjectSourceVersion) *Project { - s.SecondarySourceVersions = v +// SetBuildStatusConfig sets the BuildStatusConfig field's value. +func (s *ProjectSource) SetBuildStatusConfig(v *BuildStatusConfig) *ProjectSource { + s.BuildStatusConfig = v return s } -// SetSecondarySources sets the SecondarySources field's value. -func (s *Project) SetSecondarySources(v []*ProjectSource) *Project { - s.SecondarySources = v +// SetBuildspec sets the Buildspec field's value. +func (s *ProjectSource) SetBuildspec(v string) *ProjectSource { + s.Buildspec = &v return s } -// SetServiceRole sets the ServiceRole field's value. -func (s *Project) SetServiceRole(v string) *Project { - s.ServiceRole = &v +// SetGitCloneDepth sets the GitCloneDepth field's value. +func (s *ProjectSource) SetGitCloneDepth(v int64) *ProjectSource { + s.GitCloneDepth = &v return s } -// SetSource sets the Source field's value. -func (s *Project) SetSource(v *ProjectSource) *Project { - s.Source = v +// SetGitSubmodulesConfig sets the GitSubmodulesConfig field's value. +func (s *ProjectSource) SetGitSubmodulesConfig(v *GitSubmodulesConfig) *ProjectSource { + s.GitSubmodulesConfig = v return s } -// SetSourceVersion sets the SourceVersion field's value. -func (s *Project) SetSourceVersion(v string) *Project { - s.SourceVersion = &v +// SetInsecureSsl sets the InsecureSsl field's value. +func (s *ProjectSource) SetInsecureSsl(v bool) *ProjectSource { + s.InsecureSsl = &v return s } -// SetTags sets the Tags field's value. -func (s *Project) SetTags(v []*Tag) *Project { - s.Tags = v +// SetLocation sets the Location field's value. +func (s *ProjectSource) SetLocation(v string) *ProjectSource { + s.Location = &v return s } -// SetTimeoutInMinutes sets the TimeoutInMinutes field's value. -func (s *Project) SetTimeoutInMinutes(v int64) *Project { - s.TimeoutInMinutes = &v +// SetReportBuildStatus sets the ReportBuildStatus field's value. +func (s *ProjectSource) SetReportBuildStatus(v bool) *ProjectSource { + s.ReportBuildStatus = &v return s } -// SetVpcConfig sets the VpcConfig field's value. -func (s *Project) SetVpcConfig(v *VpcConfig) *Project { - s.VpcConfig = v +// SetSourceIdentifier sets the SourceIdentifier field's value. +func (s *ProjectSource) SetSourceIdentifier(v string) *ProjectSource { + s.SourceIdentifier = &v return s } -// SetWebhook sets the Webhook field's value. -func (s *Project) SetWebhook(v *Webhook) *Project { - s.Webhook = v +// SetType sets the Type field's value. +func (s *ProjectSource) SetType(v string) *ProjectSource { + s.Type = &v return s } -// Information about the build output artifacts for the build project. -type ProjectArtifacts struct { +// A source identifier and its corresponding version. +type ProjectSourceVersion struct { _ struct{} `type:"structure"` - // An identifier for this artifact definition. - ArtifactIdentifier *string `locationName:"artifactIdentifier" 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"` - - // 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"` - - // 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 . - 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. + // An identifier for a source in the build project. // - // * 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"` + // SourceIdentifier is a required field + SourceIdentifier *string `locationName:"sourceIdentifier" type:"string" required:"true"` - // 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. + // The source version for the corresponding source identifier. If specified, + // must be one of: // - // * If type is set to S3, this is the path to the output artifact. If path - // is not specified, path is not used. + // * For AWS CodeCommit: the commit ID, branch, or Git tag to use. // - // 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: + // * 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. // - // * CODEPIPELINE: The build project has build output generated through AWS - // CodePipeline. The CODEPIPELINE type is not supported for secondaryArtifacts. + // * 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. // - // * NO_ARTIFACTS: The build project does not produce any build output. + // * For Amazon Simple Storage Service (Amazon S3): the version ID of the + // object that represents the build input ZIP file to use. // - // * S3: The build project stores build output in Amazon Simple Storage Service - // (Amazon S3). + // 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. // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"ArtifactsType"` + // SourceVersion is a required field + SourceVersion *string `locationName:"sourceVersion" type:"string" required:"true"` } // String returns the string representation -func (s ProjectArtifacts) String() string { +func (s ProjectSourceVersion) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectArtifacts) GoString() string { +func (s ProjectSourceVersion) 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")) +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")) } if invalidParams.Len() > 0 { @@ -7741,349 +10884,343 @@ func (s *ProjectArtifacts) Validate() error { return nil } -// SetArtifactIdentifier sets the ArtifactIdentifier field's value. -func (s *ProjectArtifacts) SetArtifactIdentifier(v string) *ProjectArtifacts { - s.ArtifactIdentifier = &v +// SetSourceIdentifier sets the SourceIdentifier field's value. +func (s *ProjectSourceVersion) SetSourceIdentifier(v string) *ProjectSourceVersion { + s.SourceIdentifier = &v return s } -// SetEncryptionDisabled sets the EncryptionDisabled field's value. -func (s *ProjectArtifacts) SetEncryptionDisabled(v bool) *ProjectArtifacts { - s.EncryptionDisabled = &v +// SetSourceVersion sets the SourceVersion field's value. +func (s *ProjectSourceVersion) SetSourceVersion(v string) *ProjectSourceVersion { + s.SourceVersion = &v return s } -// SetLocation sets the Location field's value. -func (s *ProjectArtifacts) SetLocation(v string) *ProjectArtifacts { - s.Location = &v - return s +type PutResourcePolicyInput struct { + _ struct{} `type:"structure"` + + // 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"` + + // 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"` } -// SetName sets the Name field's value. -func (s *ProjectArtifacts) SetName(v string) *ProjectArtifacts { - s.Name = &v - return s +// String returns the string representation +func (s PutResourcePolicyInput) String() string { + return awsutil.Prettify(s) } -// SetNamespaceType sets the NamespaceType field's value. -func (s *ProjectArtifacts) SetNamespaceType(v string) *ProjectArtifacts { - s.NamespaceType = &v - return s +// GoString returns the string representation +func (s PutResourcePolicyInput) GoString() string { + return s.String() } -// SetOverrideArtifactName sets the OverrideArtifactName field's value. -func (s *ProjectArtifacts) SetOverrideArtifactName(v bool) *ProjectArtifacts { - s.OverrideArtifactName = &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 } -// SetPackaging sets the Packaging field's value. -func (s *ProjectArtifacts) SetPackaging(v string) *ProjectArtifacts { - s.Packaging = &v +// SetPolicy sets the Policy field's value. +func (s *PutResourcePolicyInput) SetPolicy(v string) *PutResourcePolicyInput { + s.Policy = &v return s } -// SetPath sets the Path field's value. -func (s *ProjectArtifacts) SetPath(v string) *ProjectArtifacts { - s.Path = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *PutResourcePolicyInput) SetResourceArn(v string) *PutResourcePolicyInput { + s.ResourceArn = &v return s } -// SetType sets the Type field's value. -func (s *ProjectArtifacts) SetType(v string) *ProjectArtifacts { - s.Type = &v +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"` +} + +// String returns the string representation +func (s PutResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResourcePolicyOutput) GoString() string { + return s.String() +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *PutResourcePolicyOutput) SetResourceArn(v string) *PutResourcePolicyOutput { + s.ResourceArn = &v return s } -// Information about the build badge for the build project. -type ProjectBadge struct { +// 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"` - // Set this to true to generate a publicly accessible URL for your project's - // build badge. - BadgeEnabled *bool `locationName:"badgeEnabled" type:"boolean"` + // 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 publicly-accessible URL through which you can access the build badge - // for your project. + // The service that created the credentials to access a private Docker registry. + // The valid value, SECRETS_MANAGER, is for AWS Secrets Manager. // - // The publicly accessible URL through which you can access the build badge - // for your project. - BadgeRequestUrl *string `locationName:"badgeRequestUrl" type:"string"` + // CredentialProvider is a required field + CredentialProvider *string `locationName:"credentialProvider" type:"string" required:"true" enum:"CredentialProviderType"` } // String returns the string representation -func (s ProjectBadge) String() string { +func (s RegistryCredential) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectBadge) GoString() string { +func (s RegistryCredential) GoString() string { return s.String() } -// SetBadgeEnabled sets the BadgeEnabled field's value. -func (s *ProjectBadge) SetBadgeEnabled(v bool) *ProjectBadge { - s.BadgeEnabled = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *RegistryCredential) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegistryCredential"} + if s.Credential == nil { + invalidParams.Add(request.NewErrParamRequired("Credential")) + } + if s.Credential != nil && len(*s.Credential) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Credential", 1)) + } + if s.CredentialProvider == nil { + invalidParams.Add(request.NewErrParamRequired("CredentialProvider")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCredential sets the Credential field's value. +func (s *RegistryCredential) SetCredential(v string) *RegistryCredential { + s.Credential = &v return s } -// SetBadgeRequestUrl sets the BadgeRequestUrl field's value. -func (s *ProjectBadge) SetBadgeRequestUrl(v string) *ProjectBadge { - s.BadgeRequestUrl = &v +// SetCredentialProvider sets the CredentialProvider field's value. +func (s *RegistryCredential) SetCredentialProvider(v string) *RegistryCredential { + s.CredentialProvider = &v return s } -// Information about the cache for the build project. -type ProjectCache 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"` - // 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 ARN of the report run. + Arn *string `locationName:"arn" min:"1" 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. - // - // * 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"` + // A CodeCoverageReportSummary object that contains a code coverage summary + // for this report. + CodeCoverageSummary *CodeCoverageReportSummary `locationName:"codeCoverageSummary" type:"structure"` + + // 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"` - // The type of cache used by the build project. Valid values include: + // The name of the report that was run. + Name *string `locationName:"name" type:"string"` + + // The ARN of the report group associated with this report. + ReportGroupArn *string `locationName:"reportGroupArn" min:"1" type:"string"` + + // The status of this report. + Status *string `locationName:"status" type:"string" enum:"ReportStatusType"` + + // A TestReportSummary object that contains information about this test report. + TestSummary *TestReportSummary `locationName:"testSummary" type:"structure"` + + // 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 the report that was run. // - // * NO_CACHE: The build project does not use any cache. + // CODE_COVERAGE // - // * S3: The build project reads and writes from and to S3. + // A code coverage report. // - // * LOCAL: The build project stores a cache locally on a build host that - // is only available to that build host. + // TEST // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"CacheType"` + // A test report. + Type *string `locationName:"type" type:"string" enum:"ReportType"` } // String returns the string representation -func (s ProjectCache) String() string { +func (s Report) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectCache) 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 *ProjectCache) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ProjectCache"} - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } +// SetArn sets the Arn field's value. +func (s *Report) SetArn(v string) *Report { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCodeCoverageSummary sets the CodeCoverageSummary field's value. +func (s *Report) SetCodeCoverageSummary(v *CodeCoverageReportSummary) *Report { + s.CodeCoverageSummary = v + return s } -// SetLocation sets the Location field's value. -func (s *ProjectCache) SetLocation(v string) *ProjectCache { - s.Location = &v +// SetCreated sets the Created field's value. +func (s *Report) SetCreated(v time.Time) *Report { + s.Created = &v return s } -// SetModes sets the Modes field's value. -func (s *ProjectCache) SetModes(v []*string) *ProjectCache { - s.Modes = v +// SetExecutionId sets the ExecutionId field's value. +func (s *Report) SetExecutionId(v string) *Report { + s.ExecutionId = &v return s } -// SetType sets the Type field's value. -func (s *ProjectCache) SetType(v string) *ProjectCache { - s.Type = &v +// SetExpired sets the Expired field's value. +func (s *Report) SetExpired(v time.Time) *Report { + s.Expired = &v return s } -// Information about the build environment of the build project. -type ProjectEnvironment struct { - _ struct{} `type:"structure"` +// SetExportConfig sets the ExportConfig field's value. +func (s *Report) SetExportConfig(v *ReportExportConfig) *Report { + s.ExportConfig = v + return s +} - // The certificate to use with this build project. - Certificate *string `locationName:"certificate" type:"string"` +// SetName sets the Name field's value. +func (s *Report) SetName(v string) *Report { + s.Name = &v + return 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"` +// SetReportGroupArn sets the ReportGroupArn field's value. +func (s *Report) SetReportGroupArn(v string) *Report { + s.ReportGroupArn = &v + return s +} - // A set of environment variables to make available to builds for this build - // project. - EnvironmentVariables []*EnvironmentVariable `locationName:"environmentVariables" type:"list"` +// SetStatus sets the Status field's value. +func (s *Report) SetStatus(v string) *Report { + s.Status = &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"` +// SetTestSummary sets the TestSummary field's value. +func (s *Report) SetTestSummary(v *TestReportSummary) *Report { + s.TestSummary = v + return s +} - // 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"` +// SetTruncated sets the Truncated field's value. +func (s *Report) SetTruncated(v bool) *Report { + s.Truncated = &v + return s +} - // 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"` +// SetType sets the Type field's value. +func (s *Report) SetType(v string) *Report { + s.Type = &v + return s +} - // The credentials for access to a private registry. - RegistryCredential *RegistryCredential `locationName:"registryCredential" type:"structure"` +// Information about the location where the run of a report is exported. +type ReportExportConfig struct { + _ struct{} `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 export configuration type. Valid values are: // - // * 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). + // * S3: The report results are exported to an S3 bucket. // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"EnvironmentType"` -} - -// String returns the string representation -func (s ProjectEnvironment) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation -func (s ProjectEnvironment) GoString() string { - return s.String() -} + // * NO_EXPORT: The report results are not exported. + ExportConfigType *string `locationName:"exportConfigType" type:"string" enum:"ReportExportConfigType"` -// 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)) + // 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 ReportExportConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReportExportConfig) 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)) } } @@ -8093,456 +11230,317 @@ func (s *ProjectEnvironment) Validate() error { return nil } -// SetCertificate sets the Certificate field's value. -func (s *ProjectEnvironment) SetCertificate(v string) *ProjectEnvironment { - s.Certificate = &v - return s -} - -// SetComputeType sets the ComputeType field's value. -func (s *ProjectEnvironment) SetComputeType(v string) *ProjectEnvironment { - s.ComputeType = &v +// SetExportConfigType sets the ExportConfigType field's value. +func (s *ReportExportConfig) SetExportConfigType(v string) *ReportExportConfig { + s.ExportConfigType = &v return s } -// SetEnvironmentVariables sets the EnvironmentVariables field's value. -func (s *ProjectEnvironment) SetEnvironmentVariables(v []*EnvironmentVariable) *ProjectEnvironment { - s.EnvironmentVariables = v +// SetS3Destination sets the S3Destination field's value. +func (s *ReportExportConfig) SetS3Destination(v *S3ReportExportConfig) *ReportExportConfig { + s.S3Destination = v return s } -// SetImage sets the Image field's value. -func (s *ProjectEnvironment) SetImage(v string) *ProjectEnvironment { - s.Image = &v - return s -} +// A filter used to return reports with the status specified by the input status +// parameter. +type ReportFilter struct { + _ struct{} `type:"structure"` -// SetImagePullCredentialsType sets the ImagePullCredentialsType field's value. -func (s *ProjectEnvironment) SetImagePullCredentialsType(v string) *ProjectEnvironment { - s.ImagePullCredentialsType = &v - return s + // The status used to filter reports. You can filter using one status only. + Status *string `locationName:"status" type:"string" enum:"ReportStatusType"` } -// SetPrivilegedMode sets the PrivilegedMode field's value. -func (s *ProjectEnvironment) SetPrivilegedMode(v bool) *ProjectEnvironment { - s.PrivilegedMode = &v - return s +// String returns the string representation +func (s ReportFilter) String() string { + return awsutil.Prettify(s) } -// SetRegistryCredential sets the RegistryCredential field's value. -func (s *ProjectEnvironment) SetRegistryCredential(v *RegistryCredential) *ProjectEnvironment { - s.RegistryCredential = v - return s +// GoString returns the string representation +func (s ReportFilter) GoString() string { + return s.String() } -// SetType sets the Type field's value. -func (s *ProjectEnvironment) SetType(v string) *ProjectEnvironment { - s.Type = &v +// SetStatus sets the Status field's value. +func (s *ReportFilter) SetStatus(v string) *ReportFilter { + s.Status = &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 { +// 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 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"` + // The ARN of a ReportGroup. + Arn *string `locationName:"arn" min:"1" 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. - Location *string `locationName:"location" type:"string"` + // The date and time this ReportGroup was created. + Created *time.Time `locationName:"created" type:"timestamp"` - // 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"` + // Information about the destination where the raw data of this ReportGroup + // is exported. + ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"` - // The location in the container where you mount the file system. - MountPoint *string `locationName:"mountPoint" type:"string"` + // The date and time this ReportGroup was last modified. + LastModified *time.Time `locationName:"lastModified" type:"timestamp"` - // The type of the file system. The one supported type is EFS. - Type *string `locationName:"type" type:"string" enum:"FileSystemType"` + // 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"` } // String returns the string representation -func (s ProjectFileSystemLocation) String() string { +func (s ReportGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectFileSystemLocation) GoString() string { +func (s ReportGroup) GoString() string { return s.String() } -// SetIdentifier sets the Identifier field's value. -func (s *ProjectFileSystemLocation) SetIdentifier(v string) *ProjectFileSystemLocation { - s.Identifier = &v +// SetArn sets the Arn field's value. +func (s *ReportGroup) SetArn(v string) *ReportGroup { + s.Arn = &v return s } -// SetLocation sets the Location field's value. -func (s *ProjectFileSystemLocation) SetLocation(v string) *ProjectFileSystemLocation { - s.Location = &v +// SetCreated sets the Created field's value. +func (s *ReportGroup) SetCreated(v time.Time) *ReportGroup { + s.Created = &v return s } -// SetMountOptions sets the MountOptions field's value. -func (s *ProjectFileSystemLocation) SetMountOptions(v string) *ProjectFileSystemLocation { - s.MountOptions = &v +// SetExportConfig sets the ExportConfig field's value. +func (s *ReportGroup) SetExportConfig(v *ReportExportConfig) *ReportGroup { + s.ExportConfig = v return s } -// SetMountPoint sets the MountPoint field's value. -func (s *ProjectFileSystemLocation) SetMountPoint(v string) *ProjectFileSystemLocation { - s.MountPoint = &v +// SetLastModified sets the LastModified field's value. +func (s *ReportGroup) SetLastModified(v time.Time) *ReportGroup { + s.LastModified = &v return s } -// SetType sets the Type field's value. -func (s *ProjectFileSystemLocation) SetType(v string) *ProjectFileSystemLocation { - s.Type = &v +// SetName sets the Name field's value. +func (s *ReportGroup) SetName(v string) *ReportGroup { + s.Name = &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"` - - // 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"` - - // 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"` +// SetTags sets the Tags field's value. +func (s *ReportGroup) SetTags(v []*Tag) *ReportGroup { + s.Tags = v + return s +} - // 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"` +// SetType sets the Type field's value. +func (s *ReportGroup) SetType(v string) *ReportGroup { + s.Type = &v + return s +} - // 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"` +// 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"` - // An identifier for this project source. - SourceIdentifier *string `locationName:"sourceIdentifier" type:"string"` + // The identifier of the artifact. + Identifier *string `locationName:"identifier" 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"` + // The location of the artifact. + Location *string `locationName:"location" type:"string"` + + // Specifies the type of artifact. + Type *string `locationName:"type" type:"string" enum:"ArtifactsType"` } // String returns the string representation -func (s ProjectSource) String() string { +func (s ResolvedArtifact) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectSource) GoString() string { +func (s ResolvedArtifact) 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)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetIdentifier sets the Identifier field's value. +func (s *ResolvedArtifact) SetIdentifier(v string) *ResolvedArtifact { + s.Identifier = &v + return s } -// SetAuth sets the Auth field's value. -func (s *ProjectSource) SetAuth(v *SourceAuth) *ProjectSource { - s.Auth = v +// SetLocation sets the Location field's value. +func (s *ResolvedArtifact) SetLocation(v string) *ResolvedArtifact { + s.Location = &v return s } -// SetBuildStatusConfig sets the BuildStatusConfig field's value. -func (s *ProjectSource) SetBuildStatusConfig(v *BuildStatusConfig) *ProjectSource { - s.BuildStatusConfig = v +// SetType sets the Type field's value. +func (s *ResolvedArtifact) SetType(v string) *ResolvedArtifact { + s.Type = &v return s } -// SetBuildspec sets the Buildspec field's value. -func (s *ProjectSource) SetBuildspec(v string) *ProjectSource { - s.Buildspec = &v - return s +// 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:"-"` + + Message_ *string `locationName:"message" type:"string"` } -// SetGitCloneDepth sets the GitCloneDepth field's value. -func (s *ProjectSource) SetGitCloneDepth(v int64) *ProjectSource { - s.GitCloneDepth = &v - return s +// String returns the string representation +func (s ResourceAlreadyExistsException) String() string { + return awsutil.Prettify(s) } -// SetGitSubmodulesConfig sets the GitSubmodulesConfig field's value. -func (s *ProjectSource) SetGitSubmodulesConfig(v *GitSubmodulesConfig) *ProjectSource { - s.GitSubmodulesConfig = v - return s +// GoString returns the string representation +func (s ResourceAlreadyExistsException) GoString() string { + return s.String() } -// SetInsecureSsl sets the InsecureSsl field's value. -func (s *ProjectSource) SetInsecureSsl(v bool) *ProjectSource { - s.InsecureSsl = &v - return s +func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error { + return &ResourceAlreadyExistsException{ + RespMetadata: v, + } } -// SetLocation sets the Location field's value. -func (s *ProjectSource) SetLocation(v string) *ProjectSource { - s.Location = &v - return s +// Code returns the exception type name. +func (s *ResourceAlreadyExistsException) Code() string { + return "ResourceAlreadyExistsException" } -// SetReportBuildStatus sets the ReportBuildStatus field's value. -func (s *ProjectSource) SetReportBuildStatus(v bool) *ProjectSource { - s.ReportBuildStatus = &v - return s +// Message returns the exception's message. +func (s *ResourceAlreadyExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetSourceIdentifier sets the SourceIdentifier field's value. -func (s *ProjectSource) SetSourceIdentifier(v string) *ProjectSource { - s.SourceIdentifier = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceAlreadyExistsException) OrigErr() error { + return nil } -// SetType sets the Type field's value. -func (s *ProjectSource) SetType(v string) *ProjectSource { - s.Type = &v - return s +func (s *ResourceAlreadyExistsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// A source identifier and its corresponding version. -type ProjectSourceVersion struct { - _ struct{} `type:"structure"` +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceAlreadyExistsException) StatusCode() int { + return s.RespMetadata.StatusCode +} - // An identifier for a source in the build project. - // - // SourceIdentifier is a required field - SourceIdentifier *string `locationName:"sourceIdentifier" type:"string" required:"true"` +// RequestID returns the service's response RequestID for request. +func (s *ResourceAlreadyExistsException) RequestID() string { + return s.RespMetadata.RequestID +} - // 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"` +// The specified AWS resource cannot be 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 ProjectSourceVersion) String() string { +func (s ResourceNotFoundException) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ProjectSourceVersion) GoString() string { +func (s ResourceNotFoundException) 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 newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// 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 } -// SetSourceIdentifier sets the SourceIdentifier field's value. -func (s *ProjectSourceVersion) SetSourceIdentifier(v string) *ProjectSourceVersion { - s.SourceIdentifier = &v - return s +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetSourceVersion sets the SourceVersion field's value. -func (s *ProjectSourceVersion) SetSourceVersion(v string) *ProjectSourceVersion { - s.SourceVersion = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode } -type PutResourcePolicyInput struct { +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +type RetryBuildBatchInput struct { _ struct{} `type:"structure"` - // 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"` + // Specifies the identifier of the batch build to restart. + Id *string `locationName:"id" min:"1" type:"string"` - // 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"` + // 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 PutResourcePolicyInput) String() string { +func (s RetryBuildBatchInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PutResourcePolicyInput) 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 *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)) +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 { @@ -8551,91 +11549,76 @@ 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 *RetryBuildBatchInput) SetId(v string) *RetryBuildBatchInput { + 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 *RetryBuildBatchInput) SetIdempotencyToken(v string) *RetryBuildBatchInput { + s.IdempotencyToken = &v return s } -type PutResourcePolicyOutput struct { +// SetRetryType sets the RetryType field's value. +func (s *RetryBuildBatchInput) SetRetryType(v string) *RetryBuildBatchInput { + s.RetryType = &v + return s +} + +type RetryBuildBatchOutput 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"` + // Contains information about a batch build. + BuildBatch *BuildBatch `locationName:"buildBatch" type:"structure"` } // String returns the string representation -func (s PutResourcePolicyOutput) String() string { +func (s RetryBuildBatchOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PutResourcePolicyOutput) GoString() string { +func (s RetryBuildBatchOutput) GoString() string { return s.String() } -// SetResourceArn sets the ResourceArn field's value. -func (s *PutResourcePolicyOutput) SetResourceArn(v string) *PutResourcePolicyOutput { - s.ResourceArn = &v +// SetBuildBatch sets the BuildBatch field's value. +func (s *RetryBuildBatchOutput) SetBuildBatch(v *BuildBatch) *RetryBuildBatchOutput { + s.BuildBatch = 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 { +type RetryBuildInput 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"` + // Specifies the identifier of the build to restart. + Id *string `locationName:"id" min:"1" type:"string"` - // 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"` + // 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 RegistryCredential) String() string { +func (s RetryBuildInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RegistryCredential) GoString() string { +func (s RetryBuildInput) 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 *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 { @@ -8644,171 +11627,223 @@ func (s *RegistryCredential) Validate() error { return nil } -// SetCredential sets the Credential field's value. -func (s *RegistryCredential) SetCredential(v string) *RegistryCredential { - s.Credential = &v +// SetId sets the Id field's value. +func (s *RetryBuildInput) SetId(v string) *RetryBuildInput { + s.Id = &v return s } -// SetCredentialProvider sets the CredentialProvider field's value. -func (s *RegistryCredential) SetCredentialProvider(v string) *RegistryCredential { - s.CredentialProvider = &v +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *RetryBuildInput) SetIdempotencyToken(v string) *RetryBuildInput { + s.IdempotencyToken = &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 { +type RetryBuildOutput 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 a build. + Build *Build `locationName:"build" type:"structure"` +} - // Information about where the raw data used to generate this report was exported. - ExportConfig *ReportExportConfig `locationName:"exportConfig" type:"structure"` +// String returns the string representation +func (s RetryBuildOutput) String() string { + return awsutil.Prettify(s) +} - // The name of the report that was run. - Name *string `locationName:"name" type:"string"` +// GoString returns the string representation +func (s RetryBuildOutput) GoString() string { + return s.String() +} - // The ARN of the report group associated with this report. - ReportGroupArn *string `locationName:"reportGroupArn" min:"1" type:"string"` +// SetBuild sets the Build field's value. +func (s *RetryBuildOutput) SetBuild(v *Build) *RetryBuildOutput { + s.Build = v + return s +} - // The status of this report. - Status *string `locationName:"status" type:"string" enum:"ReportStatusType"` +// Information about S3 logs for a build project. +type S3LogsConfig struct { + _ struct{} `type:"structure"` - // A TestReportSummary object that contains information about this test report. - TestSummary *TestReportSummary `locationName:"testSummary" 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 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 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 type of the report that was run. - Type *string `locationName:"type" type:"string" enum:"ReportType"` + // The current status of the S3 build logs. Valid values are: + // + // * ENABLED: S3 build logs are enabled for this build project. + // + // * DISABLED: S3 build logs are not enabled for this build project. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"LogsConfigStatusType"` } // String returns the string representation -func (s Report) String() string { +func (s S3LogsConfig) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Report) GoString() string { +func (s S3LogsConfig) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Report) SetArn(v string) *Report { - s.Arn = &v - return s +// 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")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCreated sets the Created field's value. -func (s *Report) SetCreated(v time.Time) *Report { - s.Created = &v +// SetEncryptionDisabled sets the EncryptionDisabled field's value. +func (s *S3LogsConfig) SetEncryptionDisabled(v bool) *S3LogsConfig { + s.EncryptionDisabled = &v return s } -// SetExecutionId sets the ExecutionId field's value. -func (s *Report) SetExecutionId(v string) *Report { - s.ExecutionId = &v +// SetLocation sets the Location field's value. +func (s *S3LogsConfig) SetLocation(v string) *S3LogsConfig { + s.Location = &v return s } -// SetExpired sets the Expired field's value. -func (s *Report) SetExpired(v time.Time) *Report { - s.Expired = &v +// SetStatus sets the Status field's value. +func (s *S3LogsConfig) SetStatus(v string) *S3LogsConfig { + s.Status = &v return s } -// SetExportConfig sets the ExportConfig field's value. -func (s *Report) SetExportConfig(v *ReportExportConfig) *Report { - s.ExportConfig = v - return s +// Information about the S3 bucket where the raw data of a report are exported. +type S3ReportExportConfig struct { + _ struct{} `type:"structure"` + + // The name of the S3 bucket where the raw data of a report are exported. + Bucket *string `locationName:"bucket" min:"1" type:"string"` + + // A boolean value that specifies if the results of a report are encrypted. + EncryptionDisabled *bool `locationName:"encryptionDisabled" type:"boolean"` + + // The encryption key for the report's encrypted raw data. + EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` + + // 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 path to the exported report's raw data results. + Path *string `locationName:"path" type:"string"` } -// SetName sets the Name field's value. -func (s *Report) SetName(v string) *Report { - s.Name = &v - return s +// String returns the string representation +func (s S3ReportExportConfig) String() string { + return awsutil.Prettify(s) } -// SetReportGroupArn sets the ReportGroupArn field's value. -func (s *Report) SetReportGroupArn(v string) *Report { - s.ReportGroupArn = &v - return s +// GoString returns the string representation +func (s S3ReportExportConfig) GoString() string { + return s.String() } -// SetStatus sets the Status field's value. -func (s *Report) SetStatus(v string) *Report { - s.Status = &v +// 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)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucket sets the Bucket field's value. +func (s *S3ReportExportConfig) SetBucket(v string) *S3ReportExportConfig { + s.Bucket = &v return s } -// SetTestSummary sets the TestSummary field's value. -func (s *Report) SetTestSummary(v *TestReportSummary) *Report { - s.TestSummary = v +// SetEncryptionDisabled sets the EncryptionDisabled field's value. +func (s *S3ReportExportConfig) SetEncryptionDisabled(v bool) *S3ReportExportConfig { + s.EncryptionDisabled = &v return s } -// SetTruncated sets the Truncated field's value. -func (s *Report) SetTruncated(v bool) *Report { - s.Truncated = &v +// SetEncryptionKey sets the EncryptionKey field's value. +func (s *S3ReportExportConfig) SetEncryptionKey(v string) *S3ReportExportConfig { + s.EncryptionKey = &v return s } -// SetType sets the Type field's value. -func (s *Report) SetType(v string) *Report { - s.Type = &v +// SetPackaging sets the Packaging field's value. +func (s *S3ReportExportConfig) SetPackaging(v string) *S3ReportExportConfig { + s.Packaging = &v + return s +} + +// 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 { @@ -8817,279 +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"` - - // 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 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"` -// SetTags sets the Tags field's value. -func (s *ReportGroup) SetTags(v []*Tag) *ReportGroup { - s.Tags = v - return s -} + // A BuildBatchConfigOverride object that contains batch build configuration + // overrides. + BuildBatchConfigOverride *ProjectBuildBatchConfig `locationName:"buildBatchConfigOverride" type:"structure"` -// SetType sets the Type field's value. -func (s *ReportGroup) SetType(v string) *ReportGroup { - s.Type = &v - return s -} + // Overrides the build timeout specified in the batch build project. + BuildTimeoutInMinutesOverride *int64 `locationName:"buildTimeoutInMinutesOverride" min:"5" type:"integer"` -// 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:"-"` + // 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"` - Message_ *string `locationName:"message" type:"string"` -} + // A ProjectCache object that specifies cache overrides. + CacheOverride *ProjectCache `locationName:"cacheOverride" type:"structure"` -// String returns the string representation -func (s ResourceAlreadyExistsException) String() string { - return awsutil.Prettify(s) -} + // 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"` -// GoString returns the string representation -func (s ResourceAlreadyExistsException) GoString() string { - return s.String() -} + // 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"` -func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error { - return &ResourceAlreadyExistsException{ - RespMetadata: v, - } -} + // 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"` -// Code returns the exception type name. -func (s *ResourceAlreadyExistsException) Code() string { - return "ResourceAlreadyExistsException" -} + // 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"` -// Message returns the exception's message. -func (s *ResourceAlreadyExistsException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} + // 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"` -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceAlreadyExistsException) OrigErr() error { - return nil -} + // 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"` -func (s *ResourceAlreadyExistsException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} + // A GitSubmodulesConfig object that overrides the Git submodules configuration + // for this batch build. + GitSubmodulesConfigOverride *GitSubmodulesConfig `locationName:"gitSubmodulesConfigOverride" type:"structure"` -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceAlreadyExistsException) StatusCode() int { - return s.RespMetadata.StatusCode -} + // 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"` -// RequestID returns the service's response RequestID for request. -func (s *ResourceAlreadyExistsException) RequestID() string { - return s.RespMetadata.RequestID -} + // 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"` -// The specified AWS resource cannot be found. -type ResourceNotFoundException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // 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"` - Message_ *string `locationName:"message" type:"string"` -} + // 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"` + + // A LogsConfig object that override the log settings defined in the batch build + // project. + LogsConfigOverride *LogsConfig `locationName:"logsConfigOverride" type:"structure"` -// String returns the string representation -func (s ResourceNotFoundException) String() string { - return awsutil.Prettify(s) -} + // Enable this flag to override privileged mode in the batch build project. + PrivilegedModeOverride *bool `locationName:"privilegedModeOverride" type:"boolean"` -// GoString returns the string representation -func (s ResourceNotFoundException) GoString() string { - return s.String() -} + // The name of the project. + // + // ProjectName is a required field + ProjectName *string `locationName:"projectName" min:"1" type:"string" required:"true"` -func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { - return &ResourceNotFoundException{ - RespMetadata: v, - } -} + // The number of minutes a batch build is allowed to be queued before it times + // out. + QueuedTimeoutInMinutesOverride *int64 `locationName:"queuedTimeoutInMinutesOverride" min:"5" type:"integer"` -// Code returns the exception type name. -func (s *ResourceNotFoundException) Code() string { - return "ResourceNotFoundException" -} + // A RegistryCredential object that overrides credentials for access to a private + // registry. + RegistryCredentialOverride *RegistryCredential `locationName:"registryCredentialOverride" type:"structure"` -// Message returns the exception's message. -func (s *ResourceNotFoundException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} + // 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 { @@ -9098,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 +} + +// SetGitCloneDepthOverride sets the GitCloneDepthOverride field's value. +func (s *StartBuildBatchInput) SetGitCloneDepthOverride(v int64) *StartBuildBatchInput { + s.GitCloneDepthOverride = &v + return s +} + +// SetGitSubmodulesConfigOverride sets the GitSubmodulesConfigOverride field's value. +func (s *StartBuildBatchInput) SetGitSubmodulesConfigOverride(v *GitSubmodulesConfig) *StartBuildBatchInput { + s.GitSubmodulesConfigOverride = v + return s +} + +// SetIdempotencyToken sets the IdempotencyToken field's value. +func (s *StartBuildBatchInput) SetIdempotencyToken(v string) *StartBuildBatchInput { + s.IdempotencyToken = &v + return s } -// GoString returns the string representation -func (s S3ReportExportConfig) GoString() string { - return s.String() +// SetImageOverride sets the ImageOverride field's value. +func (s *StartBuildBatchInput) SetImageOverride(v string) *StartBuildBatchInput { + s.ImageOverride = &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)) - } +// SetImagePullCredentialsTypeOverride sets the ImagePullCredentialsTypeOverride field's value. +func (s *StartBuildBatchInput) SetImagePullCredentialsTypeOverride(v string) *StartBuildBatchInput { + s.ImagePullCredentialsTypeOverride = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetInsecureSslOverride sets the InsecureSslOverride field's value. +func (s *StartBuildBatchInput) SetInsecureSslOverride(v bool) *StartBuildBatchInput { + s.InsecureSslOverride = &v + return s } -// SetBucket sets the Bucket field's value. -func (s *S3ReportExportConfig) SetBucket(v string) *S3ReportExportConfig { - s.Bucket = &v +// SetLogsConfigOverride sets the LogsConfigOverride field's value. +func (s *StartBuildBatchInput) SetLogsConfigOverride(v *LogsConfig) *StartBuildBatchInput { + s.LogsConfigOverride = v return s } -// SetEncryptionDisabled sets the EncryptionDisabled field's value. -func (s *S3ReportExportConfig) SetEncryptionDisabled(v bool) *S3ReportExportConfig { - s.EncryptionDisabled = &v +// SetPrivilegedModeOverride sets the PrivilegedModeOverride field's value. +func (s *StartBuildBatchInput) SetPrivilegedModeOverride(v bool) *StartBuildBatchInput { + s.PrivilegedModeOverride = &v return s } -// SetEncryptionKey sets the EncryptionKey field's value. -func (s *S3ReportExportConfig) SetEncryptionKey(v string) *S3ReportExportConfig { - s.EncryptionKey = &v +// SetProjectName sets the ProjectName field's value. +func (s *StartBuildBatchInput) SetProjectName(v string) *StartBuildBatchInput { + s.ProjectName = &v return s } -// SetPackaging sets the Packaging field's value. -func (s *S3ReportExportConfig) SetPackaging(v string) *S3ReportExportConfig { - s.Packaging = &v +// SetQueuedTimeoutInMinutesOverride sets the QueuedTimeoutInMinutesOverride field's value. +func (s *StartBuildBatchInput) SetQueuedTimeoutInMinutesOverride(v int64) *StartBuildBatchInput { + s.QueuedTimeoutInMinutesOverride = &v return s } -// SetPath sets the Path field's value. -func (s *S3ReportExportConfig) SetPath(v string) *S3ReportExportConfig { - s.Path = &v +// SetRegistryCredentialOverride sets the RegistryCredentialOverride field's value. +func (s *StartBuildBatchInput) SetRegistryCredentialOverride(v *RegistryCredential) *StartBuildBatchInput { + s.RegistryCredentialOverride = 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"` +// SetReportBuildBatchStatusOverride sets the ReportBuildBatchStatusOverride field's value. +func (s *StartBuildBatchInput) SetReportBuildBatchStatusOverride(v bool) *StartBuildBatchInput { + s.ReportBuildBatchStatusOverride = &v + return s +} - // 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 } @@ -9381,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 @@ -9452,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. @@ -9804,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"` @@ -10094,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"` @@ -10230,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)) @@ -10314,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 @@ -10554,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. @@ -10602,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 @@ -10712,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. @@ -10752,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 @@ -10926,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" @@ -11108,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" @@ -11155,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 ( @@ -11232,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" diff --git a/service/codebuild/codebuildiface/interface.go b/service/codebuild/codebuildiface/interface.go index 709ad157a86..44883edd43e 100644 --- a/service/codebuild/codebuildiface/interface.go +++ b/service/codebuild/codebuildiface/interface.go @@ -64,6 +64,10 @@ type CodeBuildAPI interface { BatchDeleteBuildsWithContext(aws.Context, *codebuild.BatchDeleteBuildsInput, ...request.Option) (*codebuild.BatchDeleteBuildsOutput, error) BatchDeleteBuildsRequest(*codebuild.BatchDeleteBuildsInput) (*request.Request, *codebuild.BatchDeleteBuildsOutput) + BatchGetBuildBatches(*codebuild.BatchGetBuildBatchesInput) (*codebuild.BatchGetBuildBatchesOutput, error) + BatchGetBuildBatchesWithContext(aws.Context, *codebuild.BatchGetBuildBatchesInput, ...request.Option) (*codebuild.BatchGetBuildBatchesOutput, error) + BatchGetBuildBatchesRequest(*codebuild.BatchGetBuildBatchesInput) (*request.Request, *codebuild.BatchGetBuildBatchesOutput) + BatchGetBuilds(*codebuild.BatchGetBuildsInput) (*codebuild.BatchGetBuildsOutput, error) BatchGetBuildsWithContext(aws.Context, *codebuild.BatchGetBuildsInput, ...request.Option) (*codebuild.BatchGetBuildsOutput, error) BatchGetBuildsRequest(*codebuild.BatchGetBuildsInput) (*request.Request, *codebuild.BatchGetBuildsOutput) @@ -92,6 +96,10 @@ type CodeBuildAPI interface { CreateWebhookWithContext(aws.Context, *codebuild.CreateWebhookInput, ...request.Option) (*codebuild.CreateWebhookOutput, error) CreateWebhookRequest(*codebuild.CreateWebhookInput) (*request.Request, *codebuild.CreateWebhookOutput) + DeleteBuildBatch(*codebuild.DeleteBuildBatchInput) (*codebuild.DeleteBuildBatchOutput, error) + DeleteBuildBatchWithContext(aws.Context, *codebuild.DeleteBuildBatchInput, ...request.Option) (*codebuild.DeleteBuildBatchOutput, error) + DeleteBuildBatchRequest(*codebuild.DeleteBuildBatchInput) (*request.Request, *codebuild.DeleteBuildBatchOutput) + DeleteProject(*codebuild.DeleteProjectInput) (*codebuild.DeleteProjectOutput, error) DeleteProjectWithContext(aws.Context, *codebuild.DeleteProjectInput, ...request.Option) (*codebuild.DeleteProjectOutput, error) DeleteProjectRequest(*codebuild.DeleteProjectInput) (*request.Request, *codebuild.DeleteProjectOutput) @@ -116,6 +124,13 @@ type CodeBuildAPI interface { DeleteWebhookWithContext(aws.Context, *codebuild.DeleteWebhookInput, ...request.Option) (*codebuild.DeleteWebhookOutput, error) DeleteWebhookRequest(*codebuild.DeleteWebhookInput) (*request.Request, *codebuild.DeleteWebhookOutput) + DescribeCodeCoverages(*codebuild.DescribeCodeCoveragesInput) (*codebuild.DescribeCodeCoveragesOutput, error) + DescribeCodeCoveragesWithContext(aws.Context, *codebuild.DescribeCodeCoveragesInput, ...request.Option) (*codebuild.DescribeCodeCoveragesOutput, error) + DescribeCodeCoveragesRequest(*codebuild.DescribeCodeCoveragesInput) (*request.Request, *codebuild.DescribeCodeCoveragesOutput) + + DescribeCodeCoveragesPages(*codebuild.DescribeCodeCoveragesInput, func(*codebuild.DescribeCodeCoveragesOutput, bool) bool) error + DescribeCodeCoveragesPagesWithContext(aws.Context, *codebuild.DescribeCodeCoveragesInput, func(*codebuild.DescribeCodeCoveragesOutput, bool) bool, ...request.Option) error + DescribeTestCases(*codebuild.DescribeTestCasesInput) (*codebuild.DescribeTestCasesOutput, error) DescribeTestCasesWithContext(aws.Context, *codebuild.DescribeTestCasesInput, ...request.Option) (*codebuild.DescribeTestCasesOutput, error) DescribeTestCasesRequest(*codebuild.DescribeTestCasesInput) (*request.Request, *codebuild.DescribeTestCasesOutput) @@ -135,6 +150,20 @@ type CodeBuildAPI interface { InvalidateProjectCacheWithContext(aws.Context, *codebuild.InvalidateProjectCacheInput, ...request.Option) (*codebuild.InvalidateProjectCacheOutput, error) InvalidateProjectCacheRequest(*codebuild.InvalidateProjectCacheInput) (*request.Request, *codebuild.InvalidateProjectCacheOutput) + ListBuildBatches(*codebuild.ListBuildBatchesInput) (*codebuild.ListBuildBatchesOutput, error) + ListBuildBatchesWithContext(aws.Context, *codebuild.ListBuildBatchesInput, ...request.Option) (*codebuild.ListBuildBatchesOutput, error) + ListBuildBatchesRequest(*codebuild.ListBuildBatchesInput) (*request.Request, *codebuild.ListBuildBatchesOutput) + + ListBuildBatchesPages(*codebuild.ListBuildBatchesInput, func(*codebuild.ListBuildBatchesOutput, bool) bool) error + ListBuildBatchesPagesWithContext(aws.Context, *codebuild.ListBuildBatchesInput, func(*codebuild.ListBuildBatchesOutput, bool) bool, ...request.Option) error + + ListBuildBatchesForProject(*codebuild.ListBuildBatchesForProjectInput) (*codebuild.ListBuildBatchesForProjectOutput, error) + ListBuildBatchesForProjectWithContext(aws.Context, *codebuild.ListBuildBatchesForProjectInput, ...request.Option) (*codebuild.ListBuildBatchesForProjectOutput, error) + ListBuildBatchesForProjectRequest(*codebuild.ListBuildBatchesForProjectInput) (*request.Request, *codebuild.ListBuildBatchesForProjectOutput) + + ListBuildBatchesForProjectPages(*codebuild.ListBuildBatchesForProjectInput, func(*codebuild.ListBuildBatchesForProjectOutput, bool) bool) error + ListBuildBatchesForProjectPagesWithContext(aws.Context, *codebuild.ListBuildBatchesForProjectInput, func(*codebuild.ListBuildBatchesForProjectOutput, bool) bool, ...request.Option) error + ListBuilds(*codebuild.ListBuildsInput) (*codebuild.ListBuildsOutput, error) ListBuildsWithContext(aws.Context, *codebuild.ListBuildsInput, ...request.Option) (*codebuild.ListBuildsOutput, error) ListBuildsRequest(*codebuild.ListBuildsInput) (*request.Request, *codebuild.ListBuildsOutput) @@ -203,14 +232,30 @@ type CodeBuildAPI interface { PutResourcePolicyWithContext(aws.Context, *codebuild.PutResourcePolicyInput, ...request.Option) (*codebuild.PutResourcePolicyOutput, error) PutResourcePolicyRequest(*codebuild.PutResourcePolicyInput) (*request.Request, *codebuild.PutResourcePolicyOutput) + RetryBuild(*codebuild.RetryBuildInput) (*codebuild.RetryBuildOutput, error) + RetryBuildWithContext(aws.Context, *codebuild.RetryBuildInput, ...request.Option) (*codebuild.RetryBuildOutput, error) + RetryBuildRequest(*codebuild.RetryBuildInput) (*request.Request, *codebuild.RetryBuildOutput) + + RetryBuildBatch(*codebuild.RetryBuildBatchInput) (*codebuild.RetryBuildBatchOutput, error) + RetryBuildBatchWithContext(aws.Context, *codebuild.RetryBuildBatchInput, ...request.Option) (*codebuild.RetryBuildBatchOutput, error) + RetryBuildBatchRequest(*codebuild.RetryBuildBatchInput) (*request.Request, *codebuild.RetryBuildBatchOutput) + StartBuild(*codebuild.StartBuildInput) (*codebuild.StartBuildOutput, error) StartBuildWithContext(aws.Context, *codebuild.StartBuildInput, ...request.Option) (*codebuild.StartBuildOutput, error) StartBuildRequest(*codebuild.StartBuildInput) (*request.Request, *codebuild.StartBuildOutput) + StartBuildBatch(*codebuild.StartBuildBatchInput) (*codebuild.StartBuildBatchOutput, error) + StartBuildBatchWithContext(aws.Context, *codebuild.StartBuildBatchInput, ...request.Option) (*codebuild.StartBuildBatchOutput, error) + StartBuildBatchRequest(*codebuild.StartBuildBatchInput) (*request.Request, *codebuild.StartBuildBatchOutput) + StopBuild(*codebuild.StopBuildInput) (*codebuild.StopBuildOutput, error) StopBuildWithContext(aws.Context, *codebuild.StopBuildInput, ...request.Option) (*codebuild.StopBuildOutput, error) StopBuildRequest(*codebuild.StopBuildInput) (*request.Request, *codebuild.StopBuildOutput) + StopBuildBatch(*codebuild.StopBuildBatchInput) (*codebuild.StopBuildBatchOutput, error) + StopBuildBatchWithContext(aws.Context, *codebuild.StopBuildBatchInput, ...request.Option) (*codebuild.StopBuildBatchOutput, error) + StopBuildBatchRequest(*codebuild.StopBuildBatchInput) (*request.Request, *codebuild.StopBuildBatchOutput) + UpdateProject(*codebuild.UpdateProjectInput) (*codebuild.UpdateProjectOutput, error) UpdateProjectWithContext(aws.Context, *codebuild.UpdateProjectInput, ...request.Option) (*codebuild.UpdateProjectOutput, error) UpdateProjectRequest(*codebuild.UpdateProjectInput) (*request.Request, *codebuild.UpdateProjectOutput) diff --git a/service/ec2/api.go b/service/ec2/api.go index 366dbc1ec4b..69dc3dd6c85 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -112573,6 +112573,9 @@ const ( // CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise is a CapacityReservationInstancePlatform enum value CapacityReservationInstancePlatformLinuxwithSqlserverEnterprise = "Linux with SQL Server Enterprise" + + // CapacityReservationInstancePlatformWindowsByol is a CapacityReservationInstancePlatform enum value + CapacityReservationInstancePlatformWindowsByol = "Windows BYOL" ) const ( diff --git a/service/guardduty/api.go b/service/guardduty/api.go index 9b90f634e3d..d1d3711f585 100644 --- a/service/guardduty/api.go +++ b/service/guardduty/api.go @@ -229,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 @@ -480,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 @@ -2759,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 @@ -3597,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 @@ -6558,7 +6713,7 @@ type CreateIPSetInput struct { // Format is a required field Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"IpSetFormat"` - // The URI of the file that contains the IPSet. + // The URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key. // // Location is a required field Location *string `locationName:"location" min:"1" type:"string" required:"true"` @@ -6983,7 +7138,7 @@ type CreateThreatIntelSetInput struct { // Format is a required field Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"ThreatIntelSetFormat"` - // The URI of the file that contains the ThreatIntelSet. + // The URI of the file that contains the ThreatIntelSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key. // // Location is a required field Location *string `locationName:"location" min:"1" type:"string" required:"true"` @@ -9248,7 +9403,7 @@ type GetIPSetOutput struct { // Format is a required field Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"IpSetFormat"` - // The URI of the file that contains the IPSet. + // The URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key. // // Location is a required field Location *string `locationName:"location" min:"1" type:"string" required:"true"` @@ -9667,7 +9822,7 @@ type GetThreatIntelSetOutput struct { // Format is a required field Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"ThreatIntelSetFormat"` - // The URI of the file that contains the ThreatIntelSet. + // The URI of the file that contains the ThreatIntelSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key. // // Location is a required field Location *string `locationName:"location" min:"1" type:"string" required:"true"` @@ -9727,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"` @@ -10021,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"` } @@ -10331,8 +10629,6 @@ type ListFindingsInput struct { // // * resource.instanceDetails.instanceId // - // * resource.instanceDetails.outpostArn - // // * resource.instanceDetails.networkInterfaces.ipv6Addresses // // * resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress @@ -10383,8 +10679,6 @@ type ListFindingsInput struct { // // * service.action.networkConnectionAction.protocol // - // * service.action.networkConnectionAction.localIpDetails.ipAddressV4 - // // * service.action.networkConnectionAction.remoteIpDetails.city.cityName // // * service.action.networkConnectionAction.remoteIpDetails.country.countryName @@ -10722,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"` } @@ -12790,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"` @@ -13293,7 +13618,7 @@ type UpdateIPSetInput struct { // IpSetId is a required field IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"` - // The updated URI of the file that contains the IPSet. + // The updated URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key. Location *string `locationName:"location" min:"1" type:"string"` // The unique ID that specifies the IPSet that you want to update. @@ -13658,7 +13983,8 @@ type UpdateThreatIntelSetInput struct { // DetectorId is a required field DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"` - // The updated URI of the file that contains the ThreateIntelSet. + // The updated URI of the file that contains the ThreateIntelSet. For example: + // https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key. Location *string `locationName:"location" min:"1" type:"string"` // The unique ID that specifies the ThreatIntelSet that you want to update. @@ -13752,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" @@ -13760,6 +14299,20 @@ 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" @@ -13920,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/service/guardduty/guarddutyiface/interface.go b/service/guardduty/guarddutyiface/interface.go index ad5547a97d2..9736e39a7fc 100644 --- a/service/guardduty/guarddutyiface/interface.go +++ b/service/guardduty/guarddutyiface/interface.go @@ -192,6 +192,13 @@ type GuardDutyAPI interface { GetThreatIntelSetWithContext(aws.Context, *guardduty.GetThreatIntelSetInput, ...request.Option) (*guardduty.GetThreatIntelSetOutput, error) GetThreatIntelSetRequest(*guardduty.GetThreatIntelSetInput) (*request.Request, *guardduty.GetThreatIntelSetOutput) + GetUsageStatistics(*guardduty.GetUsageStatisticsInput) (*guardduty.GetUsageStatisticsOutput, error) + GetUsageStatisticsWithContext(aws.Context, *guardduty.GetUsageStatisticsInput, ...request.Option) (*guardduty.GetUsageStatisticsOutput, error) + GetUsageStatisticsRequest(*guardduty.GetUsageStatisticsInput) (*request.Request, *guardduty.GetUsageStatisticsOutput) + + GetUsageStatisticsPages(*guardduty.GetUsageStatisticsInput, func(*guardduty.GetUsageStatisticsOutput, bool) bool) error + GetUsageStatisticsPagesWithContext(aws.Context, *guardduty.GetUsageStatisticsInput, func(*guardduty.GetUsageStatisticsOutput, bool) bool, ...request.Option) error + InviteMembers(*guardduty.InviteMembersInput) (*guardduty.InviteMembersOutput, error) InviteMembersWithContext(aws.Context, *guardduty.InviteMembersInput, ...request.Option) (*guardduty.InviteMembersOutput, error) InviteMembersRequest(*guardduty.InviteMembersInput) (*request.Request, *guardduty.InviteMembersOutput) diff --git a/service/kafka/api.go b/service/kafka/api.go index 14ccdd1a6e4..e11f4c26d2a 100644 --- a/service/kafka/api.go +++ b/service/kafka/api.go @@ -1826,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 @@ -5960,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"` diff --git a/service/kafka/kafkaiface/interface.go b/service/kafka/kafkaiface/interface.go index ac82e93dc79..c9b6523c14f 100644 --- a/service/kafka/kafkaiface/interface.go +++ b/service/kafka/kafkaiface/interface.go @@ -142,6 +142,10 @@ type KafkaAPI interface { ListTagsForResourceWithContext(aws.Context, *kafka.ListTagsForResourceInput, ...request.Option) (*kafka.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*kafka.ListTagsForResourceInput) (*request.Request, *kafka.ListTagsForResourceOutput) + RebootBroker(*kafka.RebootBrokerInput) (*kafka.RebootBrokerOutput, error) + RebootBrokerWithContext(aws.Context, *kafka.RebootBrokerInput, ...request.Option) (*kafka.RebootBrokerOutput, error) + RebootBrokerRequest(*kafka.RebootBrokerInput) (*request.Request, *kafka.RebootBrokerOutput) + TagResource(*kafka.TagResourceInput) (*kafka.TagResourceOutput, error) TagResourceWithContext(aws.Context, *kafka.TagResourceInput, ...request.Option) (*kafka.TagResourceOutput, error) TagResourceRequest(*kafka.TagResourceInput) (*request.Request, *kafka.TagResourceOutput) diff --git a/service/organizations/api.go b/service/organizations/api.go index 28be2aeac9e..daf37bd9392 100644 --- a/service/organizations/api.go +++ b/service/organizations/api.go @@ -3319,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 diff --git a/service/resourcegroups/api.go b/service/resourcegroups/api.go index 37a5a8d80d8..6b04ce3ff04 100644 --- a/service/resourcegroups/api.go +++ b/service/resourcegroups/api.go @@ -734,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 @@ -1042,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. // @@ -3378,31 +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 the following: + // The type of the query. You can use the following values: + // + // * 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 GetResources (https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html) + // 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 might include the following. An EC2 instance + // 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 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. + // 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"` diff --git a/service/servicecatalog/api.go b/service/servicecatalog/api.go index 8c572efb320..574e93c1736 100644 --- a/service/servicecatalog/api.go +++ b/service/servicecatalog/api.go @@ -1045,6 +1045,9 @@ func (c *ServiceCatalog) CreatePortfolioShareRequest(input *CreatePortfolioShare // 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 // the error. @@ -12199,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 @@ -12229,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)) } @@ -12260,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"` @@ -12309,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 @@ -16283,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"` @@ -16300,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. @@ -16333,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)) @@ -16348,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)) } @@ -16404,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 @@ -16428,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 @@ -17150,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"` @@ -19952,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 @@ -19970,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"` @@ -20001,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)) } @@ -20060,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 @@ -20084,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 diff --git a/service/sesv2/api.go b/service/sesv2/api.go index d6d4678eee6..67a820e5879 100644 --- a/service/sesv2/api.go +++ b/service/sesv2/api.go @@ -211,6 +211,104 @@ func (c *SESV2) CreateConfigurationSetEventDestinationWithContext(ctx aws.Contex return out, req.Send() } +const opCreateCustomVerificationEmailTemplate = "CreateCustomVerificationEmailTemplate" + +// CreateCustomVerificationEmailTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreateCustomVerificationEmailTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateCustomVerificationEmailTemplate for more information on using the CreateCustomVerificationEmailTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateCustomVerificationEmailTemplateRequest method. +// req, resp := client.CreateCustomVerificationEmailTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateCustomVerificationEmailTemplate +func (c *SESV2) CreateCustomVerificationEmailTemplateRequest(input *CreateCustomVerificationEmailTemplateInput) (req *request.Request, output *CreateCustomVerificationEmailTemplateOutput) { + op := &request.Operation{ + Name: opCreateCustomVerificationEmailTemplate, + HTTPMethod: "POST", + HTTPPath: "/v2/email/custom-verification-email-templates", + } + + if input == nil { + input = &CreateCustomVerificationEmailTemplateInput{} + } + + output = &CreateCustomVerificationEmailTemplateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreateCustomVerificationEmailTemplate API operation for Amazon Simple Email Service. +// +// Creates a new custom verification email template. +// +// For more information about custom verification email templates, see Using +// Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html) +// in the Amazon SES Developer Guide. +// +// You can execute this operation no more than once per 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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation CreateCustomVerificationEmailTemplate for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The input you provided is invalid. +// +// * AlreadyExistsException +// The resource specified in your request already exists. +// +// * NotFoundException +// The resource you attempted to access doesn't exist. +// +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * LimitExceededException +// There are too many instances of the specified resource type. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateCustomVerificationEmailTemplate +func (c *SESV2) CreateCustomVerificationEmailTemplate(input *CreateCustomVerificationEmailTemplateInput) (*CreateCustomVerificationEmailTemplateOutput, error) { + req, out := c.CreateCustomVerificationEmailTemplateRequest(input) + return out, req.Send() +} + +// CreateCustomVerificationEmailTemplateWithContext is the same as CreateCustomVerificationEmailTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCustomVerificationEmailTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) CreateCustomVerificationEmailTemplateWithContext(ctx aws.Context, input *CreateCustomVerificationEmailTemplateInput, opts ...request.Option) (*CreateCustomVerificationEmailTemplateOutput, error) { + req, out := c.CreateCustomVerificationEmailTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDedicatedIpPool = "CreateDedicatedIpPool" // CreateDedicatedIpPoolRequest generates a "aws/request.Request" representing the @@ -533,6 +631,201 @@ func (c *SESV2) CreateEmailIdentityWithContext(ctx aws.Context, input *CreateEma return out, req.Send() } +const opCreateEmailIdentityPolicy = "CreateEmailIdentityPolicy" + +// CreateEmailIdentityPolicyRequest generates a "aws/request.Request" representing the +// client's request for the CreateEmailIdentityPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateEmailIdentityPolicy for more information on using the CreateEmailIdentityPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateEmailIdentityPolicyRequest method. +// req, resp := client.CreateEmailIdentityPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateEmailIdentityPolicy +func (c *SESV2) CreateEmailIdentityPolicyRequest(input *CreateEmailIdentityPolicyInput) (req *request.Request, output *CreateEmailIdentityPolicyOutput) { + op := &request.Operation{ + Name: opCreateEmailIdentityPolicy, + HTTPMethod: "POST", + HTTPPath: "/v2/email/identities/{EmailIdentity}/policies/{PolicyName}", + } + + if input == nil { + input = &CreateEmailIdentityPolicyInput{} + } + + output = &CreateEmailIdentityPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreateEmailIdentityPolicy API operation for Amazon Simple Email Service. +// +// Creates the specified sending authorization policy for the given identity +// (an email address or a domain). +// +// This API is for the identity owner only. If you have not verified the identity, +// this API will return an error. +// +// Sending authorization is a feature that enables an identity owner to authorize +// other senders to use its identities. For information about using sending +// authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). +// +// You can execute this operation no more than once per 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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation CreateEmailIdentityPolicy for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// The resource you attempted to access doesn't exist. +// +// * AlreadyExistsException +// The resource specified in your request already exists. +// +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * LimitExceededException +// There are too many instances of the specified resource type. +// +// * BadRequestException +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateEmailIdentityPolicy +func (c *SESV2) CreateEmailIdentityPolicy(input *CreateEmailIdentityPolicyInput) (*CreateEmailIdentityPolicyOutput, error) { + req, out := c.CreateEmailIdentityPolicyRequest(input) + return out, req.Send() +} + +// CreateEmailIdentityPolicyWithContext is the same as CreateEmailIdentityPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See CreateEmailIdentityPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) CreateEmailIdentityPolicyWithContext(ctx aws.Context, input *CreateEmailIdentityPolicyInput, opts ...request.Option) (*CreateEmailIdentityPolicyOutput, error) { + req, out := c.CreateEmailIdentityPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateEmailTemplate = "CreateEmailTemplate" + +// CreateEmailTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreateEmailTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateEmailTemplate for more information on using the CreateEmailTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateEmailTemplateRequest method. +// req, resp := client.CreateEmailTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateEmailTemplate +func (c *SESV2) CreateEmailTemplateRequest(input *CreateEmailTemplateInput) (req *request.Request, output *CreateEmailTemplateOutput) { + op := &request.Operation{ + Name: opCreateEmailTemplate, + HTTPMethod: "POST", + HTTPPath: "/v2/email/templates", + } + + if input == nil { + input = &CreateEmailTemplateInput{} + } + + output = &CreateEmailTemplateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreateEmailTemplate API operation for Amazon Simple Email Service. +// +// Creates an email template. Email templates enable you to send personalized +// email to one or more destinations in a single API operation. For more information, +// see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html). +// +// You can execute this operation no more than once per 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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation CreateEmailTemplate for usage and error information. +// +// Returned Error Types: +// * AlreadyExistsException +// The resource specified in your request already exists. +// +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * BadRequestException +// The input you provided is invalid. +// +// * LimitExceededException +// There are too many instances of the specified resource type. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateEmailTemplate +func (c *SESV2) CreateEmailTemplate(input *CreateEmailTemplateInput) (*CreateEmailTemplateOutput, error) { + req, out := c.CreateEmailTemplateRequest(input) + return out, req.Send() +} + +// CreateEmailTemplateWithContext is the same as CreateEmailTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See CreateEmailTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) CreateEmailTemplateWithContext(ctx aws.Context, input *CreateEmailTemplateInput, opts ...request.Option) (*CreateEmailTemplateOutput, error) { + req, out := c.CreateEmailTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteConfigurationSet = "DeleteConfigurationSet" // DeleteConfigurationSetRequest generates a "aws/request.Request" representing the @@ -720,59 +1013,65 @@ func (c *SESV2) DeleteConfigurationSetEventDestinationWithContext(ctx aws.Contex return out, req.Send() } -const opDeleteDedicatedIpPool = "DeleteDedicatedIpPool" +const opDeleteCustomVerificationEmailTemplate = "DeleteCustomVerificationEmailTemplate" -// DeleteDedicatedIpPoolRequest generates a "aws/request.Request" representing the -// client's request for the DeleteDedicatedIpPool operation. The "output" return +// DeleteCustomVerificationEmailTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCustomVerificationEmailTemplate operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteDedicatedIpPool for more information on using the DeleteDedicatedIpPool +// See DeleteCustomVerificationEmailTemplate for more information on using the DeleteCustomVerificationEmailTemplate // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteDedicatedIpPoolRequest method. -// req, resp := client.DeleteDedicatedIpPoolRequest(params) +// // Example sending a request using the DeleteCustomVerificationEmailTemplateRequest method. +// req, resp := client.DeleteCustomVerificationEmailTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteDedicatedIpPool -func (c *SESV2) DeleteDedicatedIpPoolRequest(input *DeleteDedicatedIpPoolInput) (req *request.Request, output *DeleteDedicatedIpPoolOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteCustomVerificationEmailTemplate +func (c *SESV2) DeleteCustomVerificationEmailTemplateRequest(input *DeleteCustomVerificationEmailTemplateInput) (req *request.Request, output *DeleteCustomVerificationEmailTemplateOutput) { op := &request.Operation{ - Name: opDeleteDedicatedIpPool, + Name: opDeleteCustomVerificationEmailTemplate, HTTPMethod: "DELETE", - HTTPPath: "/v2/email/dedicated-ip-pools/{PoolName}", + HTTPPath: "/v2/email/custom-verification-email-templates/{TemplateName}", } if input == nil { - input = &DeleteDedicatedIpPoolInput{} + input = &DeleteCustomVerificationEmailTemplateInput{} } - output = &DeleteDedicatedIpPoolOutput{} + output = &DeleteCustomVerificationEmailTemplateOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteDedicatedIpPool API operation for Amazon Simple Email Service. +// DeleteCustomVerificationEmailTemplate API operation for Amazon Simple Email Service. // -// Delete a dedicated IP pool. +// Deletes an existing custom verification email template. +// +// For more information about custom verification email templates, see Using +// Custom Verification Email Templates (https://docs.aws.amazon.com/es/latest/DeveloperGuide/send-email-verify-address-custom.html) +// in the Amazon SES Developer Guide. +// +// You can execute this operation no more than once per 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. // // See the AWS API reference guide for Amazon Simple Email Service's -// API operation DeleteDedicatedIpPool for usage and error information. +// API operation DeleteCustomVerificationEmailTemplate for usage and error information. // // Returned Error Types: // * NotFoundException @@ -784,58 +1083,144 @@ func (c *SESV2) DeleteDedicatedIpPoolRequest(input *DeleteDedicatedIpPoolInput) // * BadRequestException // The input you provided is invalid. // -// * ConcurrentModificationException -// The resource is being modified by another operation or thread. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteDedicatedIpPool -func (c *SESV2) DeleteDedicatedIpPool(input *DeleteDedicatedIpPoolInput) (*DeleteDedicatedIpPoolOutput, error) { - req, out := c.DeleteDedicatedIpPoolRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteCustomVerificationEmailTemplate +func (c *SESV2) DeleteCustomVerificationEmailTemplate(input *DeleteCustomVerificationEmailTemplateInput) (*DeleteCustomVerificationEmailTemplateOutput, error) { + req, out := c.DeleteCustomVerificationEmailTemplateRequest(input) return out, req.Send() } -// DeleteDedicatedIpPoolWithContext is the same as DeleteDedicatedIpPool with the addition of +// DeleteCustomVerificationEmailTemplateWithContext is the same as DeleteCustomVerificationEmailTemplate with the addition of // the ability to pass a context and additional request options. // -// See DeleteDedicatedIpPool for details on how to use this API operation. +// See DeleteCustomVerificationEmailTemplate for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SESV2) DeleteDedicatedIpPoolWithContext(ctx aws.Context, input *DeleteDedicatedIpPoolInput, opts ...request.Option) (*DeleteDedicatedIpPoolOutput, error) { - req, out := c.DeleteDedicatedIpPoolRequest(input) +func (c *SESV2) DeleteCustomVerificationEmailTemplateWithContext(ctx aws.Context, input *DeleteCustomVerificationEmailTemplateInput, opts ...request.Option) (*DeleteCustomVerificationEmailTemplateOutput, error) { + req, out := c.DeleteCustomVerificationEmailTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteEmailIdentity = "DeleteEmailIdentity" +const opDeleteDedicatedIpPool = "DeleteDedicatedIpPool" -// DeleteEmailIdentityRequest generates a "aws/request.Request" representing the -// client's request for the DeleteEmailIdentity operation. The "output" return +// DeleteDedicatedIpPoolRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDedicatedIpPool operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteEmailIdentity for more information on using the DeleteEmailIdentity +// See DeleteDedicatedIpPool for more information on using the DeleteDedicatedIpPool // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the DeleteEmailIdentityRequest method. -// req, resp := client.DeleteEmailIdentityRequest(params) +// // Example sending a request using the DeleteDedicatedIpPoolRequest method. +// req, resp := client.DeleteDedicatedIpPoolRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteEmailIdentity -func (c *SESV2) DeleteEmailIdentityRequest(input *DeleteEmailIdentityInput) (req *request.Request, output *DeleteEmailIdentityOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteDedicatedIpPool +func (c *SESV2) DeleteDedicatedIpPoolRequest(input *DeleteDedicatedIpPoolInput) (req *request.Request, output *DeleteDedicatedIpPoolOutput) { + op := &request.Operation{ + Name: opDeleteDedicatedIpPool, + HTTPMethod: "DELETE", + HTTPPath: "/v2/email/dedicated-ip-pools/{PoolName}", + } + + if input == nil { + input = &DeleteDedicatedIpPoolInput{} + } + + output = &DeleteDedicatedIpPoolOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteDedicatedIpPool API operation for Amazon Simple Email Service. +// +// Delete a dedicated IP pool. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation DeleteDedicatedIpPool for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// The resource you attempted to access doesn't exist. +// +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * BadRequestException +// The input you provided is invalid. +// +// * ConcurrentModificationException +// The resource is being modified by another operation or thread. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteDedicatedIpPool +func (c *SESV2) DeleteDedicatedIpPool(input *DeleteDedicatedIpPoolInput) (*DeleteDedicatedIpPoolOutput, error) { + req, out := c.DeleteDedicatedIpPoolRequest(input) + return out, req.Send() +} + +// DeleteDedicatedIpPoolWithContext is the same as DeleteDedicatedIpPool with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDedicatedIpPool for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) DeleteDedicatedIpPoolWithContext(ctx aws.Context, input *DeleteDedicatedIpPoolInput, opts ...request.Option) (*DeleteDedicatedIpPoolOutput, error) { + req, out := c.DeleteDedicatedIpPoolRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteEmailIdentity = "DeleteEmailIdentity" + +// DeleteEmailIdentityRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEmailIdentity operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteEmailIdentity for more information on using the DeleteEmailIdentity +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteEmailIdentityRequest method. +// req, resp := client.DeleteEmailIdentityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteEmailIdentity +func (c *SESV2) DeleteEmailIdentityRequest(input *DeleteEmailIdentityInput) (req *request.Request, output *DeleteEmailIdentityOutput) { op := &request.Operation{ Name: opDeleteEmailIdentity, HTTPMethod: "DELETE", @@ -899,6 +1284,191 @@ func (c *SESV2) DeleteEmailIdentityWithContext(ctx aws.Context, input *DeleteEma return out, req.Send() } +const opDeleteEmailIdentityPolicy = "DeleteEmailIdentityPolicy" + +// DeleteEmailIdentityPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEmailIdentityPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteEmailIdentityPolicy for more information on using the DeleteEmailIdentityPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteEmailIdentityPolicyRequest method. +// req, resp := client.DeleteEmailIdentityPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteEmailIdentityPolicy +func (c *SESV2) DeleteEmailIdentityPolicyRequest(input *DeleteEmailIdentityPolicyInput) (req *request.Request, output *DeleteEmailIdentityPolicyOutput) { + op := &request.Operation{ + Name: opDeleteEmailIdentityPolicy, + HTTPMethod: "DELETE", + HTTPPath: "/v2/email/identities/{EmailIdentity}/policies/{PolicyName}", + } + + if input == nil { + input = &DeleteEmailIdentityPolicyInput{} + } + + output = &DeleteEmailIdentityPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteEmailIdentityPolicy API operation for Amazon Simple Email Service. +// +// Deletes the specified sending authorization policy for the given identity +// (an email address or a domain). This API returns successfully even if a policy +// with the specified name does not exist. +// +// This API is for the identity owner only. If you have not verified the identity, +// this API will return an error. +// +// Sending authorization is a feature that enables an identity owner to authorize +// other senders to use its identities. For information about using sending +// authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). +// +// You can execute this operation no more than once per 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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation DeleteEmailIdentityPolicy for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// The resource you attempted to access doesn't exist. +// +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * BadRequestException +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteEmailIdentityPolicy +func (c *SESV2) DeleteEmailIdentityPolicy(input *DeleteEmailIdentityPolicyInput) (*DeleteEmailIdentityPolicyOutput, error) { + req, out := c.DeleteEmailIdentityPolicyRequest(input) + return out, req.Send() +} + +// DeleteEmailIdentityPolicyWithContext is the same as DeleteEmailIdentityPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteEmailIdentityPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) DeleteEmailIdentityPolicyWithContext(ctx aws.Context, input *DeleteEmailIdentityPolicyInput, opts ...request.Option) (*DeleteEmailIdentityPolicyOutput, error) { + req, out := c.DeleteEmailIdentityPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteEmailTemplate = "DeleteEmailTemplate" + +// DeleteEmailTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEmailTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteEmailTemplate for more information on using the DeleteEmailTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteEmailTemplateRequest method. +// req, resp := client.DeleteEmailTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteEmailTemplate +func (c *SESV2) DeleteEmailTemplateRequest(input *DeleteEmailTemplateInput) (req *request.Request, output *DeleteEmailTemplateOutput) { + op := &request.Operation{ + Name: opDeleteEmailTemplate, + HTTPMethod: "DELETE", + HTTPPath: "/v2/email/templates/{TemplateName}", + } + + if input == nil { + input = &DeleteEmailTemplateInput{} + } + + output = &DeleteEmailTemplateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteEmailTemplate API operation for Amazon Simple Email Service. +// +// Deletes an email template. +// +// You can execute this operation no more than once per 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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation DeleteEmailTemplate for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// The resource you attempted to access doesn't exist. +// +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * BadRequestException +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/DeleteEmailTemplate +func (c *SESV2) DeleteEmailTemplate(input *DeleteEmailTemplateInput) (*DeleteEmailTemplateOutput, error) { + req, out := c.DeleteEmailTemplateRequest(input) + return out, req.Send() +} + +// DeleteEmailTemplateWithContext is the same as DeleteEmailTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteEmailTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) DeleteEmailTemplateWithContext(ctx aws.Context, input *DeleteEmailTemplateInput, opts ...request.Option) (*DeleteEmailTemplateOutput, error) { + req, out := c.DeleteEmailTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteSuppressedDestination = "DeleteSuppressedDestination" // DeleteSuppressedDestinationRequest generates a "aws/request.Request" representing the @@ -1339,88 +1909,180 @@ func (c *SESV2) GetConfigurationSetEventDestinationsWithContext(ctx aws.Context, return out, req.Send() } -const opGetDedicatedIp = "GetDedicatedIp" +const opGetCustomVerificationEmailTemplate = "GetCustomVerificationEmailTemplate" -// GetDedicatedIpRequest generates a "aws/request.Request" representing the -// client's request for the GetDedicatedIp operation. The "output" return +// GetCustomVerificationEmailTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetCustomVerificationEmailTemplate operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetDedicatedIp for more information on using the GetDedicatedIp +// See GetCustomVerificationEmailTemplate for more information on using the GetCustomVerificationEmailTemplate // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the GetDedicatedIpRequest method. -// req, resp := client.GetDedicatedIpRequest(params) +// // Example sending a request using the GetCustomVerificationEmailTemplateRequest method. +// req, resp := client.GetCustomVerificationEmailTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDedicatedIp -func (c *SESV2) GetDedicatedIpRequest(input *GetDedicatedIpInput) (req *request.Request, output *GetDedicatedIpOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetCustomVerificationEmailTemplate +func (c *SESV2) GetCustomVerificationEmailTemplateRequest(input *GetCustomVerificationEmailTemplateInput) (req *request.Request, output *GetCustomVerificationEmailTemplateOutput) { op := &request.Operation{ - Name: opGetDedicatedIp, + Name: opGetCustomVerificationEmailTemplate, HTTPMethod: "GET", - HTTPPath: "/v2/email/dedicated-ips/{IP}", + HTTPPath: "/v2/email/custom-verification-email-templates/{TemplateName}", } if input == nil { - input = &GetDedicatedIpInput{} + input = &GetCustomVerificationEmailTemplateInput{} } - output = &GetDedicatedIpOutput{} + output = &GetCustomVerificationEmailTemplateOutput{} req = c.newRequest(op, input, output) return } -// GetDedicatedIp API operation for Amazon Simple Email Service. +// GetCustomVerificationEmailTemplate API operation for Amazon Simple Email Service. // -// Get information about a dedicated IP address, including the name of the dedicated -// IP pool that it's associated with, as well information about the automatic -// warm-up process for the address. +// Returns the custom email verification template for the template name you +// specify. +// +// For more information about custom verification email templates, see Using +// Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html) +// in the Amazon SES Developer Guide. +// +// You can execute this operation no more than once per 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. // // See the AWS API reference guide for Amazon Simple Email Service's -// API operation GetDedicatedIp for usage and error information. +// API operation GetCustomVerificationEmailTemplate for usage and error information. // // Returned Error Types: -// * TooManyRequestsException -// Too many requests have been made to the operation. -// // * NotFoundException // The resource you attempted to access doesn't exist. // +// * TooManyRequestsException +// Too many requests have been made to the operation. +// // * BadRequestException // The input you provided is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDedicatedIp -func (c *SESV2) GetDedicatedIp(input *GetDedicatedIpInput) (*GetDedicatedIpOutput, error) { - req, out := c.GetDedicatedIpRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetCustomVerificationEmailTemplate +func (c *SESV2) GetCustomVerificationEmailTemplate(input *GetCustomVerificationEmailTemplateInput) (*GetCustomVerificationEmailTemplateOutput, error) { + req, out := c.GetCustomVerificationEmailTemplateRequest(input) return out, req.Send() } -// GetDedicatedIpWithContext is the same as GetDedicatedIp with the addition of +// GetCustomVerificationEmailTemplateWithContext is the same as GetCustomVerificationEmailTemplate with the addition of // the ability to pass a context and additional request options. // -// See GetDedicatedIp for details on how to use this API operation. +// See GetCustomVerificationEmailTemplate for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SESV2) GetDedicatedIpWithContext(ctx aws.Context, input *GetDedicatedIpInput, opts ...request.Option) (*GetDedicatedIpOutput, error) { - req, out := c.GetDedicatedIpRequest(input) +func (c *SESV2) GetCustomVerificationEmailTemplateWithContext(ctx aws.Context, input *GetCustomVerificationEmailTemplateInput, opts ...request.Option) (*GetCustomVerificationEmailTemplateOutput, error) { + req, out := c.GetCustomVerificationEmailTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetDedicatedIp = "GetDedicatedIp" + +// GetDedicatedIpRequest generates a "aws/request.Request" representing the +// client's request for the GetDedicatedIp operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetDedicatedIp for more information on using the GetDedicatedIp +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetDedicatedIpRequest method. +// req, resp := client.GetDedicatedIpRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDedicatedIp +func (c *SESV2) GetDedicatedIpRequest(input *GetDedicatedIpInput) (req *request.Request, output *GetDedicatedIpOutput) { + op := &request.Operation{ + Name: opGetDedicatedIp, + HTTPMethod: "GET", + HTTPPath: "/v2/email/dedicated-ips/{IP}", + } + + if input == nil { + input = &GetDedicatedIpInput{} + } + + output = &GetDedicatedIpOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDedicatedIp API operation for Amazon Simple Email Service. +// +// Get information about a dedicated IP address, including the name of the dedicated +// IP pool that it's associated with, as well information about the automatic +// warm-up process for the address. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation GetDedicatedIp for usage and error information. +// +// Returned Error Types: +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * NotFoundException +// The resource you attempted to access doesn't exist. +// +// * BadRequestException +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetDedicatedIp +func (c *SESV2) GetDedicatedIp(input *GetDedicatedIpInput) (*GetDedicatedIpOutput, error) { + req, out := c.GetDedicatedIpRequest(input) + return out, req.Send() +} + +// GetDedicatedIpWithContext is the same as GetDedicatedIp with the addition of +// the ability to pass a context and additional request options. +// +// See GetDedicatedIp for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) GetDedicatedIpWithContext(ctx aws.Context, input *GetDedicatedIpInput, opts ...request.Option) (*GetDedicatedIpOutput, error) { + req, out := c.GetDedicatedIpRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -1966,8 +2628,8 @@ func (c *SESV2) GetEmailIdentityRequest(input *GetEmailIdentityInput) (req *requ // GetEmailIdentity API operation for Amazon Simple Email Service. // // Provides information about a specific identity, including the identity's -// verification status, its DKIM authentication status, and its custom Mail-From -// settings. +// verification status, sending authorization policies, its DKIM authentication +// status, and its custom Mail-From settings. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2008,6 +2670,191 @@ func (c *SESV2) GetEmailIdentityWithContext(ctx aws.Context, input *GetEmailIden return out, req.Send() } +const opGetEmailIdentityPolicies = "GetEmailIdentityPolicies" + +// GetEmailIdentityPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the GetEmailIdentityPolicies operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetEmailIdentityPolicies for more information on using the GetEmailIdentityPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetEmailIdentityPoliciesRequest method. +// req, resp := client.GetEmailIdentityPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetEmailIdentityPolicies +func (c *SESV2) GetEmailIdentityPoliciesRequest(input *GetEmailIdentityPoliciesInput) (req *request.Request, output *GetEmailIdentityPoliciesOutput) { + op := &request.Operation{ + Name: opGetEmailIdentityPolicies, + HTTPMethod: "GET", + HTTPPath: "/v2/email/identities/{EmailIdentity}/policies", + } + + if input == nil { + input = &GetEmailIdentityPoliciesInput{} + } + + output = &GetEmailIdentityPoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetEmailIdentityPolicies API operation for Amazon Simple Email Service. +// +// Returns the requested sending authorization policies for the given identity +// (an email address or a domain). The policies are returned as a map of policy +// names to policy contents. You can retrieve a maximum of 20 policies at a +// time. +// +// This API is for the identity owner only. If you have not verified the identity, +// this API will return an error. +// +// Sending authorization is a feature that enables an identity owner to authorize +// other senders to use its identities. For information about using sending +// authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). +// +// You can execute this operation no more than once per 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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation GetEmailIdentityPolicies for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// The resource you attempted to access doesn't exist. +// +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * BadRequestException +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetEmailIdentityPolicies +func (c *SESV2) GetEmailIdentityPolicies(input *GetEmailIdentityPoliciesInput) (*GetEmailIdentityPoliciesOutput, error) { + req, out := c.GetEmailIdentityPoliciesRequest(input) + return out, req.Send() +} + +// GetEmailIdentityPoliciesWithContext is the same as GetEmailIdentityPolicies with the addition of +// the ability to pass a context and additional request options. +// +// See GetEmailIdentityPolicies for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) GetEmailIdentityPoliciesWithContext(ctx aws.Context, input *GetEmailIdentityPoliciesInput, opts ...request.Option) (*GetEmailIdentityPoliciesOutput, error) { + req, out := c.GetEmailIdentityPoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetEmailTemplate = "GetEmailTemplate" + +// GetEmailTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetEmailTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetEmailTemplate for more information on using the GetEmailTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetEmailTemplateRequest method. +// req, resp := client.GetEmailTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetEmailTemplate +func (c *SESV2) GetEmailTemplateRequest(input *GetEmailTemplateInput) (req *request.Request, output *GetEmailTemplateOutput) { + op := &request.Operation{ + Name: opGetEmailTemplate, + HTTPMethod: "GET", + HTTPPath: "/v2/email/templates/{TemplateName}", + } + + if input == nil { + input = &GetEmailTemplateInput{} + } + + output = &GetEmailTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetEmailTemplate API operation for Amazon Simple Email Service. +// +// Displays the template object (which includes the subject line, HTML part +// and text part) for the template you specify. +// +// You can execute this operation no more than once per 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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation GetEmailTemplate for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// The resource you attempted to access doesn't exist. +// +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * BadRequestException +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetEmailTemplate +func (c *SESV2) GetEmailTemplate(input *GetEmailTemplateInput) (*GetEmailTemplateOutput, error) { + req, out := c.GetEmailTemplateRequest(input) + return out, req.Send() +} + +// GetEmailTemplateWithContext is the same as GetEmailTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See GetEmailTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) GetEmailTemplateWithContext(ctx aws.Context, input *GetEmailTemplateInput, opts ...request.Option) (*GetEmailTemplateOutput, error) { + req, out := c.GetEmailTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetSuppressedDestination = "GetSuppressedDestination" // GetSuppressedDestinationRequest generates a "aws/request.Request" representing the @@ -2241,37 +3088,37 @@ func (c *SESV2) ListConfigurationSetsPagesWithContext(ctx aws.Context, input *Li return p.Err() } -const opListDedicatedIpPools = "ListDedicatedIpPools" +const opListCustomVerificationEmailTemplates = "ListCustomVerificationEmailTemplates" -// ListDedicatedIpPoolsRequest generates a "aws/request.Request" representing the -// client's request for the ListDedicatedIpPools operation. The "output" return +// ListCustomVerificationEmailTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListCustomVerificationEmailTemplates operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListDedicatedIpPools for more information on using the ListDedicatedIpPools +// See ListCustomVerificationEmailTemplates for more information on using the ListCustomVerificationEmailTemplates // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListDedicatedIpPoolsRequest method. -// req, resp := client.ListDedicatedIpPoolsRequest(params) +// // Example sending a request using the ListCustomVerificationEmailTemplatesRequest method. +// req, resp := client.ListCustomVerificationEmailTemplatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListDedicatedIpPools -func (c *SESV2) ListDedicatedIpPoolsRequest(input *ListDedicatedIpPoolsInput) (req *request.Request, output *ListDedicatedIpPoolsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListCustomVerificationEmailTemplates +func (c *SESV2) ListCustomVerificationEmailTemplatesRequest(input *ListCustomVerificationEmailTemplatesInput) (req *request.Request, output *ListCustomVerificationEmailTemplatesOutput) { op := &request.Operation{ - Name: opListDedicatedIpPools, + Name: opListCustomVerificationEmailTemplates, HTTPMethod: "GET", - HTTPPath: "/v2/email/dedicated-ip-pools", + HTTPPath: "/v2/email/custom-verification-email-templates", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -2281,25 +3128,31 @@ func (c *SESV2) ListDedicatedIpPoolsRequest(input *ListDedicatedIpPoolsInput) (r } if input == nil { - input = &ListDedicatedIpPoolsInput{} + input = &ListCustomVerificationEmailTemplatesInput{} } - output = &ListDedicatedIpPoolsOutput{} + output = &ListCustomVerificationEmailTemplatesOutput{} req = c.newRequest(op, input, output) return } -// ListDedicatedIpPools API operation for Amazon Simple Email Service. +// ListCustomVerificationEmailTemplates API operation for Amazon Simple Email Service. // -// List all of the dedicated IP pools that exist in your AWS account in the -// current Region. +// Lists the existing custom verification email templates for your account in +// the current AWS Region. +// +// For more information about custom verification email templates, see Using +// Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html) +// in the Amazon SES Developer Guide. +// +// You can execute this operation no more than once per 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. // // See the AWS API reference guide for Amazon Simple Email Service's -// API operation ListDedicatedIpPools for usage and error information. +// API operation ListCustomVerificationEmailTemplates for usage and error information. // // Returned Error Types: // * TooManyRequestsException @@ -2308,65 +3161,65 @@ func (c *SESV2) ListDedicatedIpPoolsRequest(input *ListDedicatedIpPoolsInput) (r // * BadRequestException // The input you provided is invalid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListDedicatedIpPools -func (c *SESV2) ListDedicatedIpPools(input *ListDedicatedIpPoolsInput) (*ListDedicatedIpPoolsOutput, error) { - req, out := c.ListDedicatedIpPoolsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListCustomVerificationEmailTemplates +func (c *SESV2) ListCustomVerificationEmailTemplates(input *ListCustomVerificationEmailTemplatesInput) (*ListCustomVerificationEmailTemplatesOutput, error) { + req, out := c.ListCustomVerificationEmailTemplatesRequest(input) return out, req.Send() } -// ListDedicatedIpPoolsWithContext is the same as ListDedicatedIpPools with the addition of +// ListCustomVerificationEmailTemplatesWithContext is the same as ListCustomVerificationEmailTemplates with the addition of // the ability to pass a context and additional request options. // -// See ListDedicatedIpPools for details on how to use this API operation. +// See ListCustomVerificationEmailTemplates for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SESV2) ListDedicatedIpPoolsWithContext(ctx aws.Context, input *ListDedicatedIpPoolsInput, opts ...request.Option) (*ListDedicatedIpPoolsOutput, error) { - req, out := c.ListDedicatedIpPoolsRequest(input) +func (c *SESV2) ListCustomVerificationEmailTemplatesWithContext(ctx aws.Context, input *ListCustomVerificationEmailTemplatesInput, opts ...request.Option) (*ListCustomVerificationEmailTemplatesOutput, error) { + req, out := c.ListCustomVerificationEmailTemplatesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListDedicatedIpPoolsPages iterates over the pages of a ListDedicatedIpPools operation, +// ListCustomVerificationEmailTemplatesPages iterates over the pages of a ListCustomVerificationEmailTemplates operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListDedicatedIpPools method for more information on how to use this operation. +// See ListCustomVerificationEmailTemplates 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 ListDedicatedIpPools operation. +// // Example iterating over at most 3 pages of a ListCustomVerificationEmailTemplates operation. // pageNum := 0 -// err := client.ListDedicatedIpPoolsPages(params, -// func(page *sesv2.ListDedicatedIpPoolsOutput, lastPage bool) bool { +// err := client.ListCustomVerificationEmailTemplatesPages(params, +// func(page *sesv2.ListCustomVerificationEmailTemplatesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *SESV2) ListDedicatedIpPoolsPages(input *ListDedicatedIpPoolsInput, fn func(*ListDedicatedIpPoolsOutput, bool) bool) error { - return c.ListDedicatedIpPoolsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *SESV2) ListCustomVerificationEmailTemplatesPages(input *ListCustomVerificationEmailTemplatesInput, fn func(*ListCustomVerificationEmailTemplatesOutput, bool) bool) error { + return c.ListCustomVerificationEmailTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListDedicatedIpPoolsPagesWithContext same as ListDedicatedIpPoolsPages except +// ListCustomVerificationEmailTemplatesPagesWithContext same as ListCustomVerificationEmailTemplatesPages 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 *SESV2) ListDedicatedIpPoolsPagesWithContext(ctx aws.Context, input *ListDedicatedIpPoolsInput, fn func(*ListDedicatedIpPoolsOutput, bool) bool, opts ...request.Option) error { +func (c *SESV2) ListCustomVerificationEmailTemplatesPagesWithContext(ctx aws.Context, input *ListCustomVerificationEmailTemplatesInput, fn func(*ListCustomVerificationEmailTemplatesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListDedicatedIpPoolsInput + var inCpy *ListCustomVerificationEmailTemplatesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListDedicatedIpPoolsRequest(inCpy) + req, _ := c.ListCustomVerificationEmailTemplatesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2374,7 +3227,7 @@ func (c *SESV2) ListDedicatedIpPoolsPagesWithContext(ctx aws.Context, input *Lis } for p.Next() { - if !fn(p.Page().(*ListDedicatedIpPoolsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCustomVerificationEmailTemplatesOutput), !p.HasNextPage()) { break } } @@ -2382,7 +3235,148 @@ func (c *SESV2) ListDedicatedIpPoolsPagesWithContext(ctx aws.Context, input *Lis return p.Err() } -const opListDeliverabilityTestReports = "ListDeliverabilityTestReports" +const opListDedicatedIpPools = "ListDedicatedIpPools" + +// ListDedicatedIpPoolsRequest generates a "aws/request.Request" representing the +// client's request for the ListDedicatedIpPools operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListDedicatedIpPools for more information on using the ListDedicatedIpPools +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListDedicatedIpPoolsRequest method. +// req, resp := client.ListDedicatedIpPoolsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListDedicatedIpPools +func (c *SESV2) ListDedicatedIpPoolsRequest(input *ListDedicatedIpPoolsInput) (req *request.Request, output *ListDedicatedIpPoolsOutput) { + op := &request.Operation{ + Name: opListDedicatedIpPools, + HTTPMethod: "GET", + HTTPPath: "/v2/email/dedicated-ip-pools", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDedicatedIpPoolsInput{} + } + + output = &ListDedicatedIpPoolsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDedicatedIpPools API operation for Amazon Simple Email Service. +// +// List all of the dedicated IP pools that exist in your AWS account 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 Amazon Simple Email Service's +// API operation ListDedicatedIpPools for usage and error information. +// +// Returned Error Types: +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * BadRequestException +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListDedicatedIpPools +func (c *SESV2) ListDedicatedIpPools(input *ListDedicatedIpPoolsInput) (*ListDedicatedIpPoolsOutput, error) { + req, out := c.ListDedicatedIpPoolsRequest(input) + return out, req.Send() +} + +// ListDedicatedIpPoolsWithContext is the same as ListDedicatedIpPools with the addition of +// the ability to pass a context and additional request options. +// +// See ListDedicatedIpPools for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) ListDedicatedIpPoolsWithContext(ctx aws.Context, input *ListDedicatedIpPoolsInput, opts ...request.Option) (*ListDedicatedIpPoolsOutput, error) { + req, out := c.ListDedicatedIpPoolsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDedicatedIpPoolsPages iterates over the pages of a ListDedicatedIpPools operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDedicatedIpPools 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 ListDedicatedIpPools operation. +// pageNum := 0 +// err := client.ListDedicatedIpPoolsPages(params, +// func(page *sesv2.ListDedicatedIpPoolsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SESV2) ListDedicatedIpPoolsPages(input *ListDedicatedIpPoolsInput, fn func(*ListDedicatedIpPoolsOutput, bool) bool) error { + return c.ListDedicatedIpPoolsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDedicatedIpPoolsPagesWithContext same as ListDedicatedIpPoolsPages 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 *SESV2) ListDedicatedIpPoolsPagesWithContext(ctx aws.Context, input *ListDedicatedIpPoolsInput, fn func(*ListDedicatedIpPoolsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDedicatedIpPoolsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDedicatedIpPoolsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDedicatedIpPoolsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListDeliverabilityTestReports = "ListDeliverabilityTestReports" // ListDeliverabilityTestReportsRequest generates a "aws/request.Request" representing the // client's request for the ListDeliverabilityTestReports operation. The "output" return @@ -2817,6 +3811,149 @@ func (c *SESV2) ListEmailIdentitiesPagesWithContext(ctx aws.Context, input *List return p.Err() } +const opListEmailTemplates = "ListEmailTemplates" + +// ListEmailTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListEmailTemplates operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListEmailTemplates for more information on using the ListEmailTemplates +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListEmailTemplatesRequest method. +// req, resp := client.ListEmailTemplatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListEmailTemplates +func (c *SESV2) ListEmailTemplatesRequest(input *ListEmailTemplatesInput) (req *request.Request, output *ListEmailTemplatesOutput) { + op := &request.Operation{ + Name: opListEmailTemplates, + HTTPMethod: "GET", + HTTPPath: "/v2/email/templates", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEmailTemplatesInput{} + } + + output = &ListEmailTemplatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEmailTemplates API operation for Amazon Simple Email Service. +// +// Lists the email templates present in your Amazon SES account in the current +// AWS Region. +// +// You can execute this operation no more than once per 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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation ListEmailTemplates for usage and error information. +// +// Returned Error Types: +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * BadRequestException +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListEmailTemplates +func (c *SESV2) ListEmailTemplates(input *ListEmailTemplatesInput) (*ListEmailTemplatesOutput, error) { + req, out := c.ListEmailTemplatesRequest(input) + return out, req.Send() +} + +// ListEmailTemplatesWithContext is the same as ListEmailTemplates with the addition of +// the ability to pass a context and additional request options. +// +// See ListEmailTemplates for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) ListEmailTemplatesWithContext(ctx aws.Context, input *ListEmailTemplatesInput, opts ...request.Option) (*ListEmailTemplatesOutput, error) { + req, out := c.ListEmailTemplatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListEmailTemplatesPages iterates over the pages of a ListEmailTemplates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEmailTemplates 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 ListEmailTemplates operation. +// pageNum := 0 +// err := client.ListEmailTemplatesPages(params, +// func(page *sesv2.ListEmailTemplatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SESV2) ListEmailTemplatesPages(input *ListEmailTemplatesInput, fn func(*ListEmailTemplatesOutput, bool) bool) error { + return c.ListEmailTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEmailTemplatesPagesWithContext same as ListEmailTemplatesPages 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 *SESV2) ListEmailTemplatesPagesWithContext(ctx aws.Context, input *ListEmailTemplatesInput, fn func(*ListEmailTemplatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEmailTemplatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEmailTemplatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListEmailTemplatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListSuppressedDestinations = "ListSuppressedDestinations" // ListSuppressedDestinationsRequest generates a "aws/request.Request" representing the @@ -3134,32 +4271,118 @@ func (c *SESV2) PutAccountDedicatedIpWarmupAttributesWithContext(ctx aws.Context return out, req.Send() } -const opPutAccountSendingAttributes = "PutAccountSendingAttributes" +const opPutAccountDetails = "PutAccountDetails" -// PutAccountSendingAttributesRequest generates a "aws/request.Request" representing the -// client's request for the PutAccountSendingAttributes operation. The "output" return +// PutAccountDetailsRequest generates a "aws/request.Request" representing the +// client's request for the PutAccountDetails operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See PutAccountSendingAttributes for more information on using the PutAccountSendingAttributes +// See PutAccountDetails for more information on using the PutAccountDetails // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the PutAccountSendingAttributesRequest method. -// req, resp := client.PutAccountSendingAttributesRequest(params) +// // Example sending a request using the PutAccountDetailsRequest method. +// req, resp := client.PutAccountDetailsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountSendingAttributes +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountDetails +func (c *SESV2) PutAccountDetailsRequest(input *PutAccountDetailsInput) (req *request.Request, output *PutAccountDetailsOutput) { + op := &request.Operation{ + Name: opPutAccountDetails, + HTTPMethod: "POST", + HTTPPath: "/v2/email/account/details", + } + + if input == nil { + input = &PutAccountDetailsInput{} + } + + output = &PutAccountDetailsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutAccountDetails API operation for Amazon Simple Email Service. +// +// Update your Amazon SES account details. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation PutAccountDetails for usage and error information. +// +// Returned Error Types: +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * BadRequestException +// The input you provided is invalid. +// +// * ConflictException +// If there is already an ongoing account details update under review. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountDetails +func (c *SESV2) PutAccountDetails(input *PutAccountDetailsInput) (*PutAccountDetailsOutput, error) { + req, out := c.PutAccountDetailsRequest(input) + return out, req.Send() +} + +// PutAccountDetailsWithContext is the same as PutAccountDetails with the addition of +// the ability to pass a context and additional request options. +// +// See PutAccountDetails for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) PutAccountDetailsWithContext(ctx aws.Context, input *PutAccountDetailsInput, opts ...request.Option) (*PutAccountDetailsOutput, error) { + req, out := c.PutAccountDetailsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutAccountSendingAttributes = "PutAccountSendingAttributes" + +// PutAccountSendingAttributesRequest generates a "aws/request.Request" representing the +// client's request for the PutAccountSendingAttributes operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutAccountSendingAttributes for more information on using the PutAccountSendingAttributes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the PutAccountSendingAttributesRequest method. +// req, resp := client.PutAccountSendingAttributesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/PutAccountSendingAttributes func (c *SESV2) PutAccountSendingAttributesRequest(input *PutAccountSendingAttributesInput) (req *request.Request, output *PutAccountSendingAttributesOutput) { op := &request.Operation{ Name: opPutAccountSendingAttributes, @@ -4461,6 +5684,216 @@ func (c *SESV2) PutSuppressedDestinationWithContext(ctx aws.Context, input *PutS return out, req.Send() } +const opSendBulkEmail = "SendBulkEmail" + +// SendBulkEmailRequest generates a "aws/request.Request" representing the +// client's request for the SendBulkEmail operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SendBulkEmail for more information on using the SendBulkEmail +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the SendBulkEmailRequest method. +// req, resp := client.SendBulkEmailRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/SendBulkEmail +func (c *SESV2) SendBulkEmailRequest(input *SendBulkEmailInput) (req *request.Request, output *SendBulkEmailOutput) { + op := &request.Operation{ + Name: opSendBulkEmail, + HTTPMethod: "POST", + HTTPPath: "/v2/email/outbound-bulk-emails", + } + + if input == nil { + input = &SendBulkEmailInput{} + } + + output = &SendBulkEmailOutput{} + req = c.newRequest(op, input, output) + return +} + +// SendBulkEmail API operation for Amazon Simple Email Service. +// +// Composes an email message to multiple destinations. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation SendBulkEmail for usage and error information. +// +// Returned Error Types: +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * LimitExceededException +// There are too many instances of the specified resource type. +// +// * AccountSuspendedException +// The message can't be sent because the account's ability to send email has +// been permanently restricted. +// +// * SendingPausedException +// The message can't be sent because the account's ability to send email is +// currently paused. +// +// * MessageRejected +// The message can't be sent because it contains invalid content. +// +// * MailFromDomainNotVerifiedException +// The message can't be sent because the sending domain isn't verified. +// +// * NotFoundException +// The resource you attempted to access doesn't exist. +// +// * BadRequestException +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/SendBulkEmail +func (c *SESV2) SendBulkEmail(input *SendBulkEmailInput) (*SendBulkEmailOutput, error) { + req, out := c.SendBulkEmailRequest(input) + return out, req.Send() +} + +// SendBulkEmailWithContext is the same as SendBulkEmail with the addition of +// the ability to pass a context and additional request options. +// +// See SendBulkEmail for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) SendBulkEmailWithContext(ctx aws.Context, input *SendBulkEmailInput, opts ...request.Option) (*SendBulkEmailOutput, error) { + req, out := c.SendBulkEmailRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSendCustomVerificationEmail = "SendCustomVerificationEmail" + +// SendCustomVerificationEmailRequest generates a "aws/request.Request" representing the +// client's request for the SendCustomVerificationEmail operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SendCustomVerificationEmail for more information on using the SendCustomVerificationEmail +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the SendCustomVerificationEmailRequest method. +// req, resp := client.SendCustomVerificationEmailRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/SendCustomVerificationEmail +func (c *SESV2) SendCustomVerificationEmailRequest(input *SendCustomVerificationEmailInput) (req *request.Request, output *SendCustomVerificationEmailOutput) { + op := &request.Operation{ + Name: opSendCustomVerificationEmail, + HTTPMethod: "POST", + HTTPPath: "/v2/email/outbound-custom-verification-emails", + } + + if input == nil { + input = &SendCustomVerificationEmailInput{} + } + + output = &SendCustomVerificationEmailOutput{} + req = c.newRequest(op, input, output) + return +} + +// SendCustomVerificationEmail API operation for Amazon Simple Email Service. +// +// Adds an email address to the list of identities for your Amazon SES account +// in the current AWS Region and attempts to verify it. As a result of executing +// this operation, a customized verification email is sent to the specified +// address. +// +// To use this operation, you must first create a custom verification email +// template. For more information about creating and using custom verification +// email templates, see Using Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html) +// in the Amazon SES Developer Guide. +// +// You can execute this operation no more than once per 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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation SendCustomVerificationEmail for usage and error information. +// +// Returned Error Types: +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * LimitExceededException +// There are too many instances of the specified resource type. +// +// * MessageRejected +// The message can't be sent because it contains invalid content. +// +// * SendingPausedException +// The message can't be sent because the account's ability to send email is +// currently paused. +// +// * MailFromDomainNotVerifiedException +// The message can't be sent because the sending domain isn't verified. +// +// * NotFoundException +// The resource you attempted to access doesn't exist. +// +// * BadRequestException +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/SendCustomVerificationEmail +func (c *SESV2) SendCustomVerificationEmail(input *SendCustomVerificationEmailInput) (*SendCustomVerificationEmailOutput, error) { + req, out := c.SendCustomVerificationEmailRequest(input) + return out, req.Send() +} + +// SendCustomVerificationEmailWithContext is the same as SendCustomVerificationEmail with the addition of +// the ability to pass a context and additional request options. +// +// See SendCustomVerificationEmail for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) SendCustomVerificationEmailWithContext(ctx aws.Context, input *SendCustomVerificationEmailInput, opts ...request.Option) (*SendCustomVerificationEmailOutput, error) { + req, out := c.SendCustomVerificationEmailRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opSendEmail = "SendEmail" // SendEmailRequest generates a "aws/request.Request" representing the @@ -4517,6 +5950,10 @@ func (c *SESV2) SendEmailRequest(input *SendEmailInput) (req *request.Request, o // message body. You can use this message type to send messages that contain // attachments. The message that you specify has to be a valid MIME message. // +// * Templated – A message that contains personalization tags. When you +// send this type of email, Amazon SES API v2 automatically replaces the +// tags with values that you specify. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -4671,75 +6108,163 @@ func (c *SESV2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, return out, req.Send() } -const opUntagResource = "UntagResource" +const opTestRenderEmailTemplate = "TestRenderEmailTemplate" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// TestRenderEmailTemplateRequest generates a "aws/request.Request" representing the +// client's request for the TestRenderEmailTemplate operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 TestRenderEmailTemplate for more information on using the TestRenderEmailTemplate // API call, and error handling. // // This method is useful when you want to 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 TestRenderEmailTemplateRequest method. +// req, resp := client.TestRenderEmailTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UntagResource -func (c *SESV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/TestRenderEmailTemplate +func (c *SESV2) TestRenderEmailTemplateRequest(input *TestRenderEmailTemplateInput) (req *request.Request, output *TestRenderEmailTemplateOutput) { op := &request.Operation{ - Name: opUntagResource, - HTTPMethod: "DELETE", - HTTPPath: "/v2/email/tags", + Name: opTestRenderEmailTemplate, + HTTPMethod: "POST", + HTTPPath: "/v2/email/templates/{TemplateName}/render", } if input == nil { - input = &UntagResourceInput{} + input = &TestRenderEmailTemplateInput{} } - output = &UntagResourceOutput{} + output = &TestRenderEmailTemplateOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UntagResource API operation for Amazon Simple Email Service. +// TestRenderEmailTemplate API operation for Amazon Simple Email Service. // -// Remove one or more tags (keys and values) from a specified resource. +// Creates a preview of the MIME content of an email when provided with a template +// and a set of replacement data. +// +// You can execute this operation no more than once per 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. // // See the AWS API reference guide for Amazon Simple Email Service's -// API operation UntagResource for usage and error information. +// API operation TestRenderEmailTemplate for usage and error information. // // Returned Error Types: -// * BadRequestException -// The input you provided is invalid. -// -// * ConcurrentModificationException -// The resource is being modified by another operation or thread. -// // * NotFoundException // The resource you attempted to access doesn't exist. // // * TooManyRequestsException // Too many requests have been made to the operation. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UntagResource -func (c *SESV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { +// * BadRequestException +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/TestRenderEmailTemplate +func (c *SESV2) TestRenderEmailTemplate(input *TestRenderEmailTemplateInput) (*TestRenderEmailTemplateOutput, error) { + req, out := c.TestRenderEmailTemplateRequest(input) + return out, req.Send() +} + +// TestRenderEmailTemplateWithContext is the same as TestRenderEmailTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See TestRenderEmailTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) TestRenderEmailTemplateWithContext(ctx aws.Context, input *TestRenderEmailTemplateInput, opts ...request.Option) (*TestRenderEmailTemplateOutput, error) { + req, out := c.TestRenderEmailTemplateRequest(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/sesv2-2019-09-27/UntagResource +func (c *SESV2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/v2/email/tags", + } + + 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 Simple Email Service. +// +// Remove one or more tags (keys and values) from a specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The input you provided is invalid. +// +// * ConcurrentModificationException +// The resource is being modified by another operation or thread. +// +// * NotFoundException +// The resource you attempted to access doesn't exist. +// +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UntagResource +func (c *SESV2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) return out, req.Send() } @@ -4852,78 +6377,436 @@ func (c *SESV2) UpdateConfigurationSetEventDestinationWithContext(ctx aws.Contex return out, req.Send() } -// The message can't be sent because the account's ability to send email has -// been permanently restricted. -type AccountSuspendedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +const opUpdateCustomVerificationEmailTemplate = "UpdateCustomVerificationEmailTemplate" - Message_ *string `locationName:"message" type:"string"` -} +// UpdateCustomVerificationEmailTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCustomVerificationEmailTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateCustomVerificationEmailTemplate for more information on using the UpdateCustomVerificationEmailTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateCustomVerificationEmailTemplateRequest method. +// req, resp := client.UpdateCustomVerificationEmailTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateCustomVerificationEmailTemplate +func (c *SESV2) UpdateCustomVerificationEmailTemplateRequest(input *UpdateCustomVerificationEmailTemplateInput) (req *request.Request, output *UpdateCustomVerificationEmailTemplateOutput) { + op := &request.Operation{ + Name: opUpdateCustomVerificationEmailTemplate, + HTTPMethod: "PUT", + HTTPPath: "/v2/email/custom-verification-email-templates/{TemplateName}", + } -// String returns the string representation -func (s AccountSuspendedException) String() string { - return awsutil.Prettify(s) -} + if input == nil { + input = &UpdateCustomVerificationEmailTemplateInput{} + } -// GoString returns the string representation -func (s AccountSuspendedException) GoString() string { - return s.String() + output = &UpdateCustomVerificationEmailTemplateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return } -func newErrorAccountSuspendedException(v protocol.ResponseMetadata) error { - return &AccountSuspendedException{ - RespMetadata: v, - } +// UpdateCustomVerificationEmailTemplate API operation for Amazon Simple Email Service. +// +// Updates an existing custom verification email template. +// +// For more information about custom verification email templates, see Using +// Custom Verification Email Templates (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html) +// in the Amazon SES Developer Guide. +// +// You can execute this operation no more than once per 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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation UpdateCustomVerificationEmailTemplate for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// The resource you attempted to access doesn't exist. +// +// * BadRequestException +// The input you provided is invalid. +// +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateCustomVerificationEmailTemplate +func (c *SESV2) UpdateCustomVerificationEmailTemplate(input *UpdateCustomVerificationEmailTemplateInput) (*UpdateCustomVerificationEmailTemplateOutput, error) { + req, out := c.UpdateCustomVerificationEmailTemplateRequest(input) + return out, req.Send() } -// Code returns the exception type name. -func (s *AccountSuspendedException) Code() string { - return "AccountSuspendedException" +// UpdateCustomVerificationEmailTemplateWithContext is the same as UpdateCustomVerificationEmailTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCustomVerificationEmailTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) UpdateCustomVerificationEmailTemplateWithContext(ctx aws.Context, input *UpdateCustomVerificationEmailTemplateInput, opts ...request.Option) (*UpdateCustomVerificationEmailTemplateOutput, error) { + req, out := c.UpdateCustomVerificationEmailTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// Message returns the exception's message. -func (s *AccountSuspendedException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} +const opUpdateEmailIdentityPolicy = "UpdateEmailIdentityPolicy" -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccountSuspendedException) OrigErr() error { - return nil -} +// UpdateEmailIdentityPolicyRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEmailIdentityPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateEmailIdentityPolicy for more information on using the UpdateEmailIdentityPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateEmailIdentityPolicyRequest method. +// req, resp := client.UpdateEmailIdentityPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateEmailIdentityPolicy +func (c *SESV2) UpdateEmailIdentityPolicyRequest(input *UpdateEmailIdentityPolicyInput) (req *request.Request, output *UpdateEmailIdentityPolicyOutput) { + op := &request.Operation{ + Name: opUpdateEmailIdentityPolicy, + HTTPMethod: "PUT", + HTTPPath: "/v2/email/identities/{EmailIdentity}/policies/{PolicyName}", + } -func (s *AccountSuspendedException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} + if input == nil { + input = &UpdateEmailIdentityPolicyInput{} + } -// Status code returns the HTTP status code for the request's response error. -func (s *AccountSuspendedException) StatusCode() int { - return s.RespMetadata.StatusCode + output = &UpdateEmailIdentityPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return } -// RequestID returns the service's response RequestID for request. -func (s *AccountSuspendedException) RequestID() string { - return s.RespMetadata.RequestID +// UpdateEmailIdentityPolicy API operation for Amazon Simple Email Service. +// +// Updates the specified sending authorization policy for the given identity +// (an email address or a domain). This API returns successfully even if a policy +// with the specified name does not exist. +// +// This API is for the identity owner only. If you have not verified the identity, +// this API will return an error. +// +// Sending authorization is a feature that enables an identity owner to authorize +// other senders to use its identities. For information about using sending +// authorization, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). +// +// You can execute this operation no more than once per 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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation UpdateEmailIdentityPolicy for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// The resource you attempted to access doesn't exist. +// +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * BadRequestException +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateEmailIdentityPolicy +func (c *SESV2) UpdateEmailIdentityPolicy(input *UpdateEmailIdentityPolicyInput) (*UpdateEmailIdentityPolicyOutput, error) { + req, out := c.UpdateEmailIdentityPolicyRequest(input) + return out, req.Send() } -// The resource specified in your request already exists. -type AlreadyExistsException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"message" type:"string"` +// UpdateEmailIdentityPolicyWithContext is the same as UpdateEmailIdentityPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateEmailIdentityPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) UpdateEmailIdentityPolicyWithContext(ctx aws.Context, input *UpdateEmailIdentityPolicyInput, opts ...request.Option) (*UpdateEmailIdentityPolicyOutput, error) { + req, out := c.UpdateEmailIdentityPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// String returns the string representation -func (s AlreadyExistsException) String() string { - return awsutil.Prettify(s) -} +const opUpdateEmailTemplate = "UpdateEmailTemplate" -// GoString returns the string representation -func (s AlreadyExistsException) GoString() string { +// UpdateEmailTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEmailTemplate operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateEmailTemplate for more information on using the UpdateEmailTemplate +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateEmailTemplateRequest method. +// req, resp := client.UpdateEmailTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateEmailTemplate +func (c *SESV2) UpdateEmailTemplateRequest(input *UpdateEmailTemplateInput) (req *request.Request, output *UpdateEmailTemplateOutput) { + op := &request.Operation{ + Name: opUpdateEmailTemplate, + HTTPMethod: "PUT", + HTTPPath: "/v2/email/templates/{TemplateName}", + } + + if input == nil { + input = &UpdateEmailTemplateInput{} + } + + output = &UpdateEmailTemplateOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateEmailTemplate API operation for Amazon Simple Email Service. +// +// Updates an email template. Email templates enable you to send personalized +// email to one or more destinations in a single API operation. For more information, +// see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html). +// +// You can execute this operation no more than once per 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. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation UpdateEmailTemplate for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// The resource you attempted to access doesn't exist. +// +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * BadRequestException +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/UpdateEmailTemplate +func (c *SESV2) UpdateEmailTemplate(input *UpdateEmailTemplateInput) (*UpdateEmailTemplateOutput, error) { + req, out := c.UpdateEmailTemplateRequest(input) + return out, req.Send() +} + +// UpdateEmailTemplateWithContext is the same as UpdateEmailTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateEmailTemplate for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SESV2) UpdateEmailTemplateWithContext(ctx aws.Context, input *UpdateEmailTemplateInput, opts ...request.Option) (*UpdateEmailTemplateOutput, error) { + req, out := c.UpdateEmailTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// An object that contains information about your account details. +type AccountDetails struct { + _ struct{} `type:"structure"` + + // Additional email addresses where updates are sent about your account review + // process. + AdditionalContactEmailAddresses []*string `min:"1" type:"list" sensitive:"true"` + + // The language you would prefer for the case. The contact language can be one + // of ENGLISH or JAPANESE. + ContactLanguage *string `type:"string" enum:"ContactLanguage"` + + // The type of email your account is sending. The mail type can be one of the + // following: + // + // * MARKETING – Most of your sending traffic is to keep your customers + // informed of your latest offering. + // + // * TRANSACTIONAL – Most of your sending traffic is to communicate during + // a transaction with a customer. + MailType *string `type:"string" enum:"MailType"` + + // Information about the review of the latest details you submitted. + ReviewDetails *ReviewDetails `type:"structure"` + + // A description of the types of email that you plan to send. + UseCaseDescription *string `min:"1" type:"string" sensitive:"true"` + + // The URL of your website. This information helps us better understand the + // type of content that you plan to send. + WebsiteURL *string `min:"1" type:"string" sensitive:"true"` +} + +// String returns the string representation +func (s AccountDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountDetails) GoString() string { + return s.String() +} + +// SetAdditionalContactEmailAddresses sets the AdditionalContactEmailAddresses field's value. +func (s *AccountDetails) SetAdditionalContactEmailAddresses(v []*string) *AccountDetails { + s.AdditionalContactEmailAddresses = v + return s +} + +// SetContactLanguage sets the ContactLanguage field's value. +func (s *AccountDetails) SetContactLanguage(v string) *AccountDetails { + s.ContactLanguage = &v + return s +} + +// SetMailType sets the MailType field's value. +func (s *AccountDetails) SetMailType(v string) *AccountDetails { + s.MailType = &v + return s +} + +// SetReviewDetails sets the ReviewDetails field's value. +func (s *AccountDetails) SetReviewDetails(v *ReviewDetails) *AccountDetails { + s.ReviewDetails = v + return s +} + +// SetUseCaseDescription sets the UseCaseDescription field's value. +func (s *AccountDetails) SetUseCaseDescription(v string) *AccountDetails { + s.UseCaseDescription = &v + return s +} + +// SetWebsiteURL sets the WebsiteURL field's value. +func (s *AccountDetails) SetWebsiteURL(v string) *AccountDetails { + s.WebsiteURL = &v + return s +} + +// The message can't be sent because the account's ability to send email has +// been permanently restricted. +type AccountSuspendedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s AccountSuspendedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccountSuspendedException) GoString() string { + return s.String() +} + +func newErrorAccountSuspendedException(v protocol.ResponseMetadata) error { + return &AccountSuspendedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccountSuspendedException) Code() string { + return "AccountSuspendedException" +} + +// Message returns the exception's message. +func (s *AccountSuspendedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccountSuspendedException) OrigErr() error { + return nil +} + +func (s *AccountSuspendedException) 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 *AccountSuspendedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccountSuspendedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The resource specified in your request already exists. +type AlreadyExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s AlreadyExistsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AlreadyExistsException) GoString() string { return s.String() } @@ -5122,43 +7005,31 @@ func (s *Body) SetText(v *Content) *Body { return s } -// An object that defines an Amazon CloudWatch destination for email events. -// You can use Amazon CloudWatch to monitor and gain insights on your email -// sending metrics. -type CloudWatchDestination struct { +// An object that contains the body of the message. You can specify a template +// message. +type BulkEmailContent struct { _ struct{} `type:"structure"` - // An array of objects that define the dimensions to use when you send email - // events to Amazon CloudWatch. - // - // DimensionConfigurations is a required field - DimensionConfigurations []*CloudWatchDimensionConfiguration `type:"list" required:"true"` + // The template to use for the bulk email message. + Template *Template `type:"structure"` } // String returns the string representation -func (s CloudWatchDestination) String() string { +func (s BulkEmailContent) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CloudWatchDestination) GoString() string { +func (s BulkEmailContent) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CloudWatchDestination) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CloudWatchDestination"} - if s.DimensionConfigurations == nil { - invalidParams.Add(request.NewErrParamRequired("DimensionConfigurations")) - } - if s.DimensionConfigurations != nil { - for i, v := range s.DimensionConfigurations { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DimensionConfigurations", i), err.(request.ErrInvalidParams)) - } +func (s *BulkEmailContent) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BulkEmailContent"} + if s.Template != nil { + if err := s.Template.Validate(); err != nil { + invalidParams.AddNested("Template", err.(request.ErrInvalidParams)) } } @@ -5168,71 +7039,288 @@ func (s *CloudWatchDestination) Validate() error { return nil } -// SetDimensionConfigurations sets the DimensionConfigurations field's value. -func (s *CloudWatchDestination) SetDimensionConfigurations(v []*CloudWatchDimensionConfiguration) *CloudWatchDestination { - s.DimensionConfigurations = v +// SetTemplate sets the Template field's value. +func (s *BulkEmailContent) SetTemplate(v *Template) *BulkEmailContent { + s.Template = v return s } -// An object that defines the dimension configuration to use when you send email -// events to Amazon CloudWatch. -type CloudWatchDimensionConfiguration struct { +type BulkEmailEntry struct { _ struct{} `type:"structure"` - // The default value of the dimension that is published to Amazon CloudWatch - // if you don't provide the value of the dimension when you send an email. This - // value has to meet the following criteria: - // - // * It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores - // (_), or dashes (-). + // Represents the destination of the message, consisting of To:, CC:, and BCC: + // fields. // - // * It can contain no more than 256 characters. + // Amazon SES does not support the SMTPUTF8 extension, as described in RFC6531 + // (https://tools.ietf.org/html/rfc6531). For this reason, the local part of + // a destination email address (the part of the email address that precedes + // the @ sign) may only contain 7-bit ASCII characters (https://en.wikipedia.org/wiki/Email_address#Local-part). + // If the domain part of an address (the part after the @ sign) contains non-ASCII + // characters, they must be encoded using Punycode, as described in RFC3492 + // (https://tools.ietf.org/html/rfc3492.html). // - // DefaultDimensionValue is a required field - DefaultDimensionValue *string `type:"string" required:"true"` + // Destination is a required field + Destination *Destination `type:"structure" required:"true"` - // The name of an Amazon CloudWatch dimension associated with an email sending - // metric. The name has to meet the following criteria: - // - // * It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores - // (_), or dashes (-). - // - // * It can contain no more than 256 characters. - // - // DimensionName is a required field - DimensionName *string `type:"string" required:"true"` + // The ReplacementEmailContent associated with a BulkEmailEntry. + ReplacementEmailContent *ReplacementEmailContent `type:"structure"` - // The location where the Amazon SES API v2 finds the value of a dimension to - // publish to Amazon CloudWatch. If you want to use the message tags that you - // specify using an X-SES-MESSAGE-TAGS header or a parameter to the SendEmail - // or SendRawEmail API, choose messageTag. If you want to use your own email - // headers, choose emailHeader. If you want to use link tags, choose linkTags. - // - // DimensionValueSource is a required field - DimensionValueSource *string `type:"string" required:"true" enum:"DimensionValueSource"` + // A list of tags, in the form of name/value pairs, to apply to an email that + // you send using the SendBulkTemplatedEmail operation. Tags correspond to characteristics + // of the email that you define, so that you can publish email sending events. + ReplacementTags []*MessageTag `type:"list"` } // String returns the string representation -func (s CloudWatchDimensionConfiguration) String() string { +func (s BulkEmailEntry) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CloudWatchDimensionConfiguration) GoString() string { +func (s BulkEmailEntry) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CloudWatchDimensionConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CloudWatchDimensionConfiguration"} - if s.DefaultDimensionValue == nil { - invalidParams.Add(request.NewErrParamRequired("DefaultDimensionValue")) - } - if s.DimensionName == nil { - invalidParams.Add(request.NewErrParamRequired("DimensionName")) +func (s *BulkEmailEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BulkEmailEntry"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) } - if s.DimensionValueSource == nil { - invalidParams.Add(request.NewErrParamRequired("DimensionValueSource")) + if s.ReplacementTags != nil { + for i, v := range s.ReplacementTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ReplacementTags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestination sets the Destination field's value. +func (s *BulkEmailEntry) SetDestination(v *Destination) *BulkEmailEntry { + s.Destination = v + return s +} + +// SetReplacementEmailContent sets the ReplacementEmailContent field's value. +func (s *BulkEmailEntry) SetReplacementEmailContent(v *ReplacementEmailContent) *BulkEmailEntry { + s.ReplacementEmailContent = v + return s +} + +// SetReplacementTags sets the ReplacementTags field's value. +func (s *BulkEmailEntry) SetReplacementTags(v []*MessageTag) *BulkEmailEntry { + s.ReplacementTags = v + return s +} + +// The result of the SendBulkEmail operation of each specified BulkEmailEntry. +type BulkEmailEntryResult struct { + _ struct{} `type:"structure"` + + // A description of an error that prevented a message being sent using the SendBulkTemplatedEmail + // operation. + Error *string `type:"string"` + + // The unique message identifier returned from the SendBulkTemplatedEmail operation. + MessageId *string `type:"string"` + + // The status of a message sent using the SendBulkTemplatedEmail operation. + // + // Possible values for this parameter include: + // + // * SUCCESS: Amazon SES accepted the message, and will attempt to deliver + // it to the recipients. + // + // * MESSAGE_REJECTED: The message was rejected because it contained a virus. + // + // * MAIL_FROM_DOMAIN_NOT_VERIFIED: The sender's email address or domain + // was not verified. + // + // * CONFIGURATION_SET_DOES_NOT_EXIST: The configuration set you specified + // does not exist. + // + // * TEMPLATE_DOES_NOT_EXIST: The template you specified does not exist. + // + // * ACCOUNT_SUSPENDED: Your account has been shut down because of issues + // related to your email sending practices. + // + // * ACCOUNT_THROTTLED: The number of emails you can send has been reduced + // because your account has exceeded its allocated sending limit. + // + // * ACCOUNT_DAILY_QUOTA_EXCEEDED: You have reached or exceeded the maximum + // number of emails you can send from your account in a 24-hour period. + // + // * INVALID_SENDING_POOL_NAME: The configuration set you specified refers + // to an IP pool that does not exist. + // + // * ACCOUNT_SENDING_PAUSED: Email sending for the Amazon SES account was + // disabled using the UpdateAccountSendingEnabled (https://docs.aws.amazon.com/ses/latest/APIReference/API_UpdateAccountSendingEnabled.html) + // operation. + // + // * CONFIGURATION_SET_SENDING_PAUSED: Email sending for this configuration + // set was disabled using the UpdateConfigurationSetSendingEnabled (https://docs.aws.amazon.com/ses/latest/APIReference/API_UpdateConfigurationSetSendingEnabled.html) + // operation. + // + // * INVALID_PARAMETER_VALUE: One or more of the parameters you specified + // when calling this operation was invalid. See the error message for additional + // information. + // + // * TRANSIENT_FAILURE: Amazon SES was unable to process your request because + // of a temporary issue. + // + // * FAILED: Amazon SES was unable to process your request. See the error + // message for additional information. + Status *string `type:"string" enum:"BulkEmailStatus"` +} + +// String returns the string representation +func (s BulkEmailEntryResult) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BulkEmailEntryResult) GoString() string { + return s.String() +} + +// SetError sets the Error field's value. +func (s *BulkEmailEntryResult) SetError(v string) *BulkEmailEntryResult { + s.Error = &v + return s +} + +// SetMessageId sets the MessageId field's value. +func (s *BulkEmailEntryResult) SetMessageId(v string) *BulkEmailEntryResult { + s.MessageId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *BulkEmailEntryResult) SetStatus(v string) *BulkEmailEntryResult { + s.Status = &v + return s +} + +// An object that defines an Amazon CloudWatch destination for email events. +// You can use Amazon CloudWatch to monitor and gain insights on your email +// sending metrics. +type CloudWatchDestination struct { + _ struct{} `type:"structure"` + + // An array of objects that define the dimensions to use when you send email + // events to Amazon CloudWatch. + // + // DimensionConfigurations is a required field + DimensionConfigurations []*CloudWatchDimensionConfiguration `type:"list" required:"true"` +} + +// String returns the string representation +func (s CloudWatchDestination) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloudWatchDestination) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CloudWatchDestination) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloudWatchDestination"} + if s.DimensionConfigurations == nil { + invalidParams.Add(request.NewErrParamRequired("DimensionConfigurations")) + } + if s.DimensionConfigurations != nil { + for i, v := range s.DimensionConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DimensionConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDimensionConfigurations sets the DimensionConfigurations field's value. +func (s *CloudWatchDestination) SetDimensionConfigurations(v []*CloudWatchDimensionConfiguration) *CloudWatchDestination { + s.DimensionConfigurations = v + return s +} + +// An object that defines the dimension configuration to use when you send email +// events to Amazon CloudWatch. +type CloudWatchDimensionConfiguration struct { + _ struct{} `type:"structure"` + + // The default value of the dimension that is published to Amazon CloudWatch + // if you don't provide the value of the dimension when you send an email. This + // value has to meet the following criteria: + // + // * It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores + // (_), or dashes (-). + // + // * It can contain no more than 256 characters. + // + // DefaultDimensionValue is a required field + DefaultDimensionValue *string `type:"string" required:"true"` + + // The name of an Amazon CloudWatch dimension associated with an email sending + // metric. The name has to meet the following criteria: + // + // * It can only contain ASCII letters (a–z, A–Z), numbers (0–9), underscores + // (_), or dashes (-). + // + // * It can contain no more than 256 characters. + // + // DimensionName is a required field + DimensionName *string `type:"string" required:"true"` + + // The location where the Amazon SES API v2 finds the value of a dimension to + // publish to Amazon CloudWatch. If you want to use the message tags that you + // specify using an X-SES-MESSAGE-TAGS header or a parameter to the SendEmail + // or SendRawEmail API, choose messageTag. If you want to use your own email + // headers, choose emailHeader. If you want to use link tags, choose linkTags. + // + // DimensionValueSource is a required field + DimensionValueSource *string `type:"string" required:"true" enum:"DimensionValueSource"` +} + +// String returns the string representation +func (s CloudWatchDimensionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CloudWatchDimensionConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CloudWatchDimensionConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CloudWatchDimensionConfiguration"} + if s.DefaultDimensionValue == nil { + invalidParams.Add(request.NewErrParamRequired("DefaultDimensionValue")) + } + if s.DimensionName == nil { + invalidParams.Add(request.NewErrParamRequired("DimensionName")) + } + if s.DimensionValueSource == nil { + invalidParams.Add(request.NewErrParamRequired("DimensionValueSource")) } if invalidParams.Len() > 0 { @@ -5315,6 +7403,62 @@ func (s *ConcurrentModificationException) RequestID() string { return s.RespMetadata.RequestID } +// If there is already an ongoing account details update under review. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" 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", s.Code(), s.Message()) +} + +// 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 +} + // An object that represents the content of the email, and optionally a character // set specification. type Content struct { @@ -5589,45 +7733,179 @@ func (s CreateConfigurationSetOutput) GoString() string { return s.String() } -// A request to create a new dedicated IP pool. -type CreateDedicatedIpPoolInput struct { +// Represents a request to create a custom verification email template. +type CreateCustomVerificationEmailTemplateInput struct { _ struct{} `type:"structure"` - // The name of the dedicated IP pool. + // The URL that the recipient of the verification email is sent to if his or + // her address is not successfully verified. // - // PoolName is a required field - PoolName *string `type:"string" required:"true"` + // FailureRedirectionURL is a required field + FailureRedirectionURL *string `type:"string" required:"true"` - // An object that defines the tags (keys and values) that you want to associate - // with the pool. - Tags []*Tag `type:"list"` + // The email address that the custom verification email is sent from. + // + // FromEmailAddress is a required field + FromEmailAddress *string `type:"string" required:"true"` + + // The URL that the recipient of the verification email is sent to if his or + // her address is successfully verified. + // + // SuccessRedirectionURL is a required field + SuccessRedirectionURL *string `type:"string" required:"true"` + + // The content of the custom verification email. The total size of the email + // must be less than 10 MB. The message body may contain HTML, with some limitations. + // For more information, see Custom Verification Email Frequently Asked Questions + // (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html#custom-verification-emails-faq) + // in the Amazon SES Developer Guide. + // + // TemplateContent is a required field + TemplateContent *string `type:"string" required:"true"` + + // The name of the custom verification email template. + // + // TemplateName is a required field + TemplateName *string `min:"1" type:"string" required:"true"` + + // The subject line of the custom verification email. + // + // TemplateSubject is a required field + TemplateSubject *string `type:"string" required:"true"` } // String returns the string representation -func (s CreateDedicatedIpPoolInput) String() string { +func (s CreateCustomVerificationEmailTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateDedicatedIpPoolInput) GoString() string { +func (s CreateCustomVerificationEmailTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDedicatedIpPoolInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDedicatedIpPoolInput"} - if s.PoolName == nil { - invalidParams.Add(request.NewErrParamRequired("PoolName")) +func (s *CreateCustomVerificationEmailTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCustomVerificationEmailTemplateInput"} + if s.FailureRedirectionURL == nil { + invalidParams.Add(request.NewErrParamRequired("FailureRedirectionURL")) } - 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.FromEmailAddress == nil { + invalidParams.Add(request.NewErrParamRequired("FromEmailAddress")) + } + if s.SuccessRedirectionURL == nil { + invalidParams.Add(request.NewErrParamRequired("SuccessRedirectionURL")) + } + if s.TemplateContent == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateContent")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + if s.TemplateSubject == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateSubject")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFailureRedirectionURL sets the FailureRedirectionURL field's value. +func (s *CreateCustomVerificationEmailTemplateInput) SetFailureRedirectionURL(v string) *CreateCustomVerificationEmailTemplateInput { + s.FailureRedirectionURL = &v + return s +} + +// SetFromEmailAddress sets the FromEmailAddress field's value. +func (s *CreateCustomVerificationEmailTemplateInput) SetFromEmailAddress(v string) *CreateCustomVerificationEmailTemplateInput { + s.FromEmailAddress = &v + return s +} + +// SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value. +func (s *CreateCustomVerificationEmailTemplateInput) SetSuccessRedirectionURL(v string) *CreateCustomVerificationEmailTemplateInput { + s.SuccessRedirectionURL = &v + return s +} + +// SetTemplateContent sets the TemplateContent field's value. +func (s *CreateCustomVerificationEmailTemplateInput) SetTemplateContent(v string) *CreateCustomVerificationEmailTemplateInput { + s.TemplateContent = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CreateCustomVerificationEmailTemplateInput) SetTemplateName(v string) *CreateCustomVerificationEmailTemplateInput { + s.TemplateName = &v + return s +} + +// SetTemplateSubject sets the TemplateSubject field's value. +func (s *CreateCustomVerificationEmailTemplateInput) SetTemplateSubject(v string) *CreateCustomVerificationEmailTemplateInput { + s.TemplateSubject = &v + return s +} + +// If the action is successful, the service sends back an HTTP 200 response +// with an empty HTTP body. +type CreateCustomVerificationEmailTemplateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateCustomVerificationEmailTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateCustomVerificationEmailTemplateOutput) GoString() string { + return s.String() +} + +// A request to create a new dedicated IP pool. +type CreateDedicatedIpPoolInput struct { + _ struct{} `type:"structure"` + + // The name of the dedicated IP pool. + // + // PoolName is a required field + PoolName *string `type:"string" required:"true"` + + // An object that defines the tags (keys and values) that you want to associate + // with the pool. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateDedicatedIpPoolInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateDedicatedIpPoolInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDedicatedIpPoolInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDedicatedIpPoolInput"} + if s.PoolName == nil { + invalidParams.Add(request.NewErrParamRequired("PoolName")) + } + 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 { @@ -5819,7 +8097,7 @@ type CreateEmailIdentityInput struct { // The email address or domain that you want to verify. // // EmailIdentity is a required field - EmailIdentity *string `type:"string" required:"true"` + EmailIdentity *string `min:"1" type:"string" required:"true"` // An array of objects that define the tags (keys and values) that you want // to associate with the email identity. @@ -5842,6 +8120,9 @@ func (s *CreateEmailIdentityInput) Validate() error { if s.EmailIdentity == nil { invalidParams.Add(request.NewErrParamRequired("EmailIdentity")) } + if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1)) + } if s.DkimSigningAttributes != nil { if err := s.DkimSigningAttributes.Validate(); err != nil { invalidParams.AddNested("DkimSigningAttributes", err.(request.ErrInvalidParams)) @@ -5929,6 +8210,243 @@ func (s *CreateEmailIdentityOutput) SetVerifiedForSendingStatus(v bool) *CreateE return s } +// Represents a request to create a sending authorization policy for an identity. +// Sending authorization is an Amazon SES feature that enables you to authorize +// other senders to use your identities. For information, see the Amazon SES +// Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-identity-owner-tasks-management.html). +type CreateEmailIdentityPolicyInput struct { + _ struct{} `type:"structure"` + + // The email identity for which you want to create a policy. + // + // EmailIdentity is a required field + EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"` + + // The text of the policy in JSON format. The policy cannot exceed 4 KB. + // + // For information about the syntax of sending authorization policies, see the + // Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policies.html). + // + // Policy is a required field + Policy *string `min:"1" type:"string" required:"true"` + + // The name of the policy. + // + // The policy name cannot exceed 64 characters and can only include alphanumeric + // characters, dashes, and underscores. + // + // PolicyName is a required field + PolicyName *string `location:"uri" locationName:"PolicyName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateEmailIdentityPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEmailIdentityPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEmailIdentityPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEmailIdentityPolicyInput"} + if s.EmailIdentity == nil { + invalidParams.Add(request.NewErrParamRequired("EmailIdentity")) + } + if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1)) + } + 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.PolicyName == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyName")) + } + if s.PolicyName != nil && len(*s.PolicyName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEmailIdentity sets the EmailIdentity field's value. +func (s *CreateEmailIdentityPolicyInput) SetEmailIdentity(v string) *CreateEmailIdentityPolicyInput { + s.EmailIdentity = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *CreateEmailIdentityPolicyInput) SetPolicy(v string) *CreateEmailIdentityPolicyInput { + s.Policy = &v + return s +} + +// SetPolicyName sets the PolicyName field's value. +func (s *CreateEmailIdentityPolicyInput) SetPolicyName(v string) *CreateEmailIdentityPolicyInput { + s.PolicyName = &v + return s +} + +// An HTTP 200 response if the request succeeds, or an error message if the +// request fails. +type CreateEmailIdentityPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateEmailIdentityPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEmailIdentityPolicyOutput) GoString() string { + return s.String() +} + +// Represents a request to create an email template. For more information, see +// the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html). +type CreateEmailTemplateInput struct { + _ struct{} `type:"structure"` + + // The content of the email template, composed of a subject line, an HTML part, + // and a text-only part. + // + // TemplateContent is a required field + TemplateContent *EmailTemplateContent `type:"structure" required:"true"` + + // The name of the template you want to create. + // + // TemplateName is a required field + TemplateName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateEmailTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEmailTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEmailTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEmailTemplateInput"} + if s.TemplateContent == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateContent")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateContent sets the TemplateContent field's value. +func (s *CreateEmailTemplateInput) SetTemplateContent(v *EmailTemplateContent) *CreateEmailTemplateInput { + s.TemplateContent = v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CreateEmailTemplateInput) SetTemplateName(v string) *CreateEmailTemplateInput { + s.TemplateName = &v + return s +} + +// If the action is successful, the service sends back an HTTP 200 response +// with an empty HTTP body. +type CreateEmailTemplateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateEmailTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEmailTemplateOutput) GoString() string { + return s.String() +} + +// Contains information about a custom verification email template. +type CustomVerificationEmailTemplateMetadata struct { + _ struct{} `type:"structure"` + + // The URL that the recipient of the verification email is sent to if his or + // her address is not successfully verified. + FailureRedirectionURL *string `type:"string"` + + // The email address that the custom verification email is sent from. + FromEmailAddress *string `type:"string"` + + // The URL that the recipient of the verification email is sent to if his or + // her address is successfully verified. + SuccessRedirectionURL *string `type:"string"` + + // The name of the custom verification email template. + TemplateName *string `min:"1" type:"string"` + + // The subject line of the custom verification email. + TemplateSubject *string `type:"string"` +} + +// String returns the string representation +func (s CustomVerificationEmailTemplateMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomVerificationEmailTemplateMetadata) GoString() string { + return s.String() +} + +// SetFailureRedirectionURL sets the FailureRedirectionURL field's value. +func (s *CustomVerificationEmailTemplateMetadata) SetFailureRedirectionURL(v string) *CustomVerificationEmailTemplateMetadata { + s.FailureRedirectionURL = &v + return s +} + +// SetFromEmailAddress sets the FromEmailAddress field's value. +func (s *CustomVerificationEmailTemplateMetadata) SetFromEmailAddress(v string) *CustomVerificationEmailTemplateMetadata { + s.FromEmailAddress = &v + return s +} + +// SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value. +func (s *CustomVerificationEmailTemplateMetadata) SetSuccessRedirectionURL(v string) *CustomVerificationEmailTemplateMetadata { + s.SuccessRedirectionURL = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *CustomVerificationEmailTemplateMetadata) SetTemplateName(v string) *CustomVerificationEmailTemplateMetadata { + s.TemplateName = &v + return s +} + +// SetTemplateSubject sets the TemplateSubject field's value. +func (s *CustomVerificationEmailTemplateMetadata) SetTemplateSubject(v string) *CustomVerificationEmailTemplateMetadata { + s.TemplateSubject = &v + return s +} + // An object that contains information about the volume of email sent on each // day of the analysis period. type DailyVolume struct { @@ -6179,34 +8697,34 @@ func (s DeleteConfigurationSetOutput) GoString() string { return s.String() } -// A request to delete a dedicated IP pool. -type DeleteDedicatedIpPoolInput struct { +// Represents a request to delete an existing custom verification email template. +type DeleteCustomVerificationEmailTemplateInput struct { _ struct{} `type:"structure"` - // The name of the dedicated IP pool that you want to delete. + // The name of the custom verification email template that you want to delete. // - // PoolName is a required field - PoolName *string `location:"uri" locationName:"PoolName" type:"string" required:"true"` + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"TemplateName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteDedicatedIpPoolInput) String() string { +func (s DeleteCustomVerificationEmailTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDedicatedIpPoolInput) GoString() string { +func (s DeleteCustomVerificationEmailTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDedicatedIpPoolInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDedicatedIpPoolInput"} - if s.PoolName == nil { - invalidParams.Add(request.NewErrParamRequired("PoolName")) +func (s *DeleteCustomVerificationEmailTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCustomVerificationEmailTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) } - if s.PoolName != nil && len(*s.PoolName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("PoolName", 1)) + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) } if invalidParams.Len() > 0 { @@ -6215,48 +8733,106 @@ func (s *DeleteDedicatedIpPoolInput) Validate() error { return nil } -// SetPoolName sets the PoolName field's value. -func (s *DeleteDedicatedIpPoolInput) SetPoolName(v string) *DeleteDedicatedIpPoolInput { - s.PoolName = &v +// SetTemplateName sets the TemplateName field's value. +func (s *DeleteCustomVerificationEmailTemplateInput) SetTemplateName(v string) *DeleteCustomVerificationEmailTemplateInput { + s.TemplateName = &v return s } -// An HTTP 200 response if the request succeeds, or an error message if the -// request fails. -type DeleteDedicatedIpPoolOutput struct { +// If the action is successful, the service sends back an HTTP 200 response +// with an empty HTTP body. +type DeleteCustomVerificationEmailTemplateOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s DeleteDedicatedIpPoolOutput) String() string { +func (s DeleteCustomVerificationEmailTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteDedicatedIpPoolOutput) GoString() string { +func (s DeleteCustomVerificationEmailTemplateOutput) GoString() string { return s.String() } -// A request to delete an existing email identity. When you delete an identity, -// you lose the ability to send email from that identity. You can restore your -// ability to send email by completing the verification process for the identity -// again. -type DeleteEmailIdentityInput struct { +// A request to delete a dedicated IP pool. +type DeleteDedicatedIpPoolInput struct { _ struct{} `type:"structure"` - // The identity (that is, the email address or domain) that you want to delete. + // The name of the dedicated IP pool that you want to delete. // - // EmailIdentity is a required field - EmailIdentity *string `location:"uri" locationName:"EmailIdentity" type:"string" required:"true"` + // PoolName is a required field + PoolName *string `location:"uri" locationName:"PoolName" type:"string" required:"true"` } // String returns the string representation -func (s DeleteEmailIdentityInput) String() string { +func (s DeleteDedicatedIpPoolInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteEmailIdentityInput) GoString() string { +func (s DeleteDedicatedIpPoolInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDedicatedIpPoolInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDedicatedIpPoolInput"} + if s.PoolName == nil { + invalidParams.Add(request.NewErrParamRequired("PoolName")) + } + if s.PoolName != nil && len(*s.PoolName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PoolName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPoolName sets the PoolName field's value. +func (s *DeleteDedicatedIpPoolInput) SetPoolName(v string) *DeleteDedicatedIpPoolInput { + s.PoolName = &v + return s +} + +// An HTTP 200 response if the request succeeds, or an error message if the +// request fails. +type DeleteDedicatedIpPoolOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteDedicatedIpPoolOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteDedicatedIpPoolOutput) GoString() string { + return s.String() +} + +// A request to delete an existing email identity. When you delete an identity, +// you lose the ability to send email from that identity. You can restore your +// ability to send email by completing the verification process for the identity +// again. +type DeleteEmailIdentityInput struct { + _ struct{} `type:"structure"` + + // The identity (that is, the email address or domain) that you want to delete. + // + // EmailIdentity is a required field + EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteEmailIdentityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEmailIdentityInput) GoString() string { return s.String() } @@ -6298,6 +8874,146 @@ func (s DeleteEmailIdentityOutput) GoString() string { return s.String() } +// Represents a request to delete a sending authorization policy for an identity. +// Sending authorization is an Amazon SES feature that enables you to authorize +// other senders to use your identities. For information, see the Amazon SES +// Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-identity-owner-tasks-management.html). +type DeleteEmailIdentityPolicyInput struct { + _ struct{} `type:"structure"` + + // The email identity for which you want to delete a policy. + // + // EmailIdentity is a required field + EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"` + + // The name of the policy. + // + // The policy name cannot exceed 64 characters and can only include alphanumeric + // characters, dashes, and underscores. + // + // PolicyName is a required field + PolicyName *string `location:"uri" locationName:"PolicyName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteEmailIdentityPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEmailIdentityPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEmailIdentityPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEmailIdentityPolicyInput"} + if s.EmailIdentity == nil { + invalidParams.Add(request.NewErrParamRequired("EmailIdentity")) + } + if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1)) + } + if s.PolicyName == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyName")) + } + if s.PolicyName != nil && len(*s.PolicyName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEmailIdentity sets the EmailIdentity field's value. +func (s *DeleteEmailIdentityPolicyInput) SetEmailIdentity(v string) *DeleteEmailIdentityPolicyInput { + s.EmailIdentity = &v + return s +} + +// SetPolicyName sets the PolicyName field's value. +func (s *DeleteEmailIdentityPolicyInput) SetPolicyName(v string) *DeleteEmailIdentityPolicyInput { + s.PolicyName = &v + return s +} + +// An HTTP 200 response if the request succeeds, or an error message if the +// request fails. +type DeleteEmailIdentityPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteEmailIdentityPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEmailIdentityPolicyOutput) GoString() string { + return s.String() +} + +// Represents a request to delete an email template. For more information, see +// the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html). +type DeleteEmailTemplateInput struct { + _ struct{} `type:"structure"` + + // The name of the template to be deleted. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"TemplateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteEmailTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEmailTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEmailTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEmailTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *DeleteEmailTemplateInput) SetTemplateName(v string) *DeleteEmailTemplateInput { + s.TemplateName = &v + return s +} + +// If the action is successful, the service sends back an HTTP 200 response +// with an empty HTTP body. +type DeleteEmailTemplateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteEmailTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEmailTemplateOutput) GoString() string { + return s.String() +} + // A request to remove an email address from the suppression list for your account. type DeleteSuppressedDestinationInput struct { _ struct{} `type:"structure"` @@ -6704,7 +9420,7 @@ type DomainDeliverabilityCampaign struct { FirstSeenDateTime *time.Time `type:"timestamp"` // The verified email address that the email message was sent from. - FromAddress *string `type:"string"` + FromAddress *string `min:"1" type:"string"` // The URL of an image that contains a snapshot of the email message that was // sent. @@ -7011,6 +9727,11 @@ func (s *EmailContent) Validate() error { invalidParams.AddNested("Simple", err.(request.ErrInvalidParams)) } } + if s.Template != nil { + if err := s.Template.Validate(); err != nil { + invalidParams.AddNested("Template", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -7036,6 +9757,83 @@ func (s *EmailContent) SetTemplate(v *Template) *EmailContent { return s } +// The content of the email, composed of a subject line, an HTML part, and a +// text-only part. +type EmailTemplateContent struct { + _ struct{} `type:"structure"` + + // The HTML body of the email. + Html *string `type:"string"` + + // The subject line of the email. + Subject *string `type:"string"` + + // The email body that will be visible to recipients whose email clients do + // not display HTML. + Text *string `type:"string"` +} + +// String returns the string representation +func (s EmailTemplateContent) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmailTemplateContent) GoString() string { + return s.String() +} + +// SetHtml sets the Html field's value. +func (s *EmailTemplateContent) SetHtml(v string) *EmailTemplateContent { + s.Html = &v + return s +} + +// SetSubject sets the Subject field's value. +func (s *EmailTemplateContent) SetSubject(v string) *EmailTemplateContent { + s.Subject = &v + return s +} + +// SetText sets the Text field's value. +func (s *EmailTemplateContent) SetText(v string) *EmailTemplateContent { + s.Text = &v + return s +} + +// Contains information about an email template. +type EmailTemplateMetadata struct { + _ struct{} `type:"structure"` + + // The time and date the template was created. + CreatedTimestamp *time.Time `type:"timestamp"` + + // The name of the template. + TemplateName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s EmailTemplateMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EmailTemplateMetadata) GoString() string { + return s.String() +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *EmailTemplateMetadata) SetCreatedTimestamp(v time.Time) *EmailTemplateMetadata { + s.CreatedTimestamp = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *EmailTemplateMetadata) SetTemplateName(v string) *EmailTemplateMetadata { + s.TemplateName = &v + return s +} + // In the Amazon SES API v2, events include message sends, deliveries, opens, // clicks, bounces, complaints and delivery delays. Event destinations are places // that you can send information about these events to. For example, you can @@ -7272,6 +10070,9 @@ type GetAccountOutput struct { // IP addresses that are associated with your account. DedicatedIpAutoWarmupEnabled *bool `type:"boolean"` + // An object that defines your account details. + Details *AccountDetails `type:"structure"` + // The reputation status of your Amazon SES account. The status can be one of // the following: // @@ -7332,6 +10133,12 @@ func (s *GetAccountOutput) SetDedicatedIpAutoWarmupEnabled(v bool) *GetAccountOu return s } +// SetDetails sets the Details field's value. +func (s *GetAccountOutput) SetDetails(v *AccountDetails) *GetAccountOutput { + s.Details = v + return s +} + // SetEnforcementStatus sets the EnforcementStatus field's value. func (s *GetAccountOutput) SetEnforcementStatus(v string) *GetAccountOutput { s.EnforcementStatus = &v @@ -7626,36 +10433,34 @@ func (s *GetConfigurationSetOutput) SetTrackingOptions(v *TrackingOptions) *GetC return s } -// A request to obtain more information about a dedicated IP address. -type GetDedicatedIpInput struct { +// Represents a request to retrieve an existing custom verification email template. +type GetCustomVerificationEmailTemplateInput struct { _ struct{} `type:"structure"` - // The IP address that you want to obtain more information about. The value - // you specify has to be a dedicated IP address that's assocaited with your - // AWS account. + // The name of the custom verification email template that you want to retrieve. // - // Ip is a required field - Ip *string `location:"uri" locationName:"IP" type:"string" required:"true"` + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"TemplateName" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s GetDedicatedIpInput) String() string { +func (s GetCustomVerificationEmailTemplateInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDedicatedIpInput) GoString() string { +func (s GetCustomVerificationEmailTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetDedicatedIpInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDedicatedIpInput"} - if s.Ip == nil { - invalidParams.Add(request.NewErrParamRequired("Ip")) +func (s *GetCustomVerificationEmailTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCustomVerificationEmailTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) } - if s.Ip != nil && len(*s.Ip) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Ip", 1)) + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) } if invalidParams.Len() > 0 { @@ -7664,49 +10469,164 @@ func (s *GetDedicatedIpInput) Validate() error { return nil } -// SetIp sets the Ip field's value. -func (s *GetDedicatedIpInput) SetIp(v string) *GetDedicatedIpInput { - s.Ip = &v +// SetTemplateName sets the TemplateName field's value. +func (s *GetCustomVerificationEmailTemplateInput) SetTemplateName(v string) *GetCustomVerificationEmailTemplateInput { + s.TemplateName = &v return s } -// Information about a dedicated IP address. -type GetDedicatedIpOutput struct { +// The following elements are returned by the service. +type GetCustomVerificationEmailTemplateOutput struct { _ struct{} `type:"structure"` - // An object that contains information about a dedicated IP address. - DedicatedIp *DedicatedIp `type:"structure"` + // The URL that the recipient of the verification email is sent to if his or + // her address is not successfully verified. + FailureRedirectionURL *string `type:"string"` + + // The email address that the custom verification email is sent from. + FromEmailAddress *string `type:"string"` + + // The URL that the recipient of the verification email is sent to if his or + // her address is successfully verified. + SuccessRedirectionURL *string `type:"string"` + + // The content of the custom verification email. + TemplateContent *string `type:"string"` + + // The name of the custom verification email template. + TemplateName *string `min:"1" type:"string"` + + // The subject line of the custom verification email. + TemplateSubject *string `type:"string"` } // String returns the string representation -func (s GetDedicatedIpOutput) String() string { +func (s GetCustomVerificationEmailTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s GetDedicatedIpOutput) GoString() string { +func (s GetCustomVerificationEmailTemplateOutput) GoString() string { return s.String() } -// SetDedicatedIp sets the DedicatedIp field's value. -func (s *GetDedicatedIpOutput) SetDedicatedIp(v *DedicatedIp) *GetDedicatedIpOutput { - s.DedicatedIp = v +// SetFailureRedirectionURL sets the FailureRedirectionURL field's value. +func (s *GetCustomVerificationEmailTemplateOutput) SetFailureRedirectionURL(v string) *GetCustomVerificationEmailTemplateOutput { + s.FailureRedirectionURL = &v return s } -// A request to obtain more information about dedicated IP pools. -type GetDedicatedIpsInput struct { - _ struct{} `type:"structure"` - - // A token returned from a previous call to GetDedicatedIps to indicate the - // position of the dedicated IP pool in the list of IP pools. - NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` +// SetFromEmailAddress sets the FromEmailAddress field's value. +func (s *GetCustomVerificationEmailTemplateOutput) SetFromEmailAddress(v string) *GetCustomVerificationEmailTemplateOutput { + s.FromEmailAddress = &v + return s +} - // The number of results to show in a single call to GetDedicatedIpsRequest. - // If the number of results is larger than the number you specified in this - // parameter, then the response includes a NextToken element, which you can - // use to obtain additional results. - PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"` +// SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value. +func (s *GetCustomVerificationEmailTemplateOutput) SetSuccessRedirectionURL(v string) *GetCustomVerificationEmailTemplateOutput { + s.SuccessRedirectionURL = &v + return s +} + +// SetTemplateContent sets the TemplateContent field's value. +func (s *GetCustomVerificationEmailTemplateOutput) SetTemplateContent(v string) *GetCustomVerificationEmailTemplateOutput { + s.TemplateContent = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *GetCustomVerificationEmailTemplateOutput) SetTemplateName(v string) *GetCustomVerificationEmailTemplateOutput { + s.TemplateName = &v + return s +} + +// SetTemplateSubject sets the TemplateSubject field's value. +func (s *GetCustomVerificationEmailTemplateOutput) SetTemplateSubject(v string) *GetCustomVerificationEmailTemplateOutput { + s.TemplateSubject = &v + return s +} + +// A request to obtain more information about a dedicated IP address. +type GetDedicatedIpInput struct { + _ struct{} `type:"structure"` + + // The IP address that you want to obtain more information about. The value + // you specify has to be a dedicated IP address that's assocaited with your + // AWS account. + // + // Ip is a required field + Ip *string `location:"uri" locationName:"IP" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetDedicatedIpInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDedicatedIpInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDedicatedIpInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDedicatedIpInput"} + if s.Ip == nil { + invalidParams.Add(request.NewErrParamRequired("Ip")) + } + if s.Ip != nil && len(*s.Ip) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Ip", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIp sets the Ip field's value. +func (s *GetDedicatedIpInput) SetIp(v string) *GetDedicatedIpInput { + s.Ip = &v + return s +} + +// Information about a dedicated IP address. +type GetDedicatedIpOutput struct { + _ struct{} `type:"structure"` + + // An object that contains information about a dedicated IP address. + DedicatedIp *DedicatedIp `type:"structure"` +} + +// String returns the string representation +func (s GetDedicatedIpOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetDedicatedIpOutput) GoString() string { + return s.String() +} + +// SetDedicatedIp sets the DedicatedIp field's value. +func (s *GetDedicatedIpOutput) SetDedicatedIp(v *DedicatedIp) *GetDedicatedIpOutput { + s.DedicatedIp = v + return s +} + +// A request to obtain more information about dedicated IP pools. +type GetDedicatedIpsInput struct { + _ struct{} `type:"structure"` + + // A token returned from a previous call to GetDedicatedIps to indicate the + // position of the dedicated IP pool in the list of IP pools. + NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` + + // The number of results to show in a single call to GetDedicatedIpsRequest. + // If the number of results is larger than the number you specified in this + // parameter, then the response includes a NextToken element, which you can + // use to obtain additional results. + PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"` // The name of the IP pool that the dedicated IP address is associated with. PoolName *string `location:"querystring" locationName:"PoolName" type:"string"` @@ -8065,7 +10985,7 @@ type GetDomainStatisticsReportInput struct { // The domain that you want to obtain deliverability metrics for. // // Domain is a required field - Domain *string `location:"uri" locationName:"Domain" type:"string" required:"true"` + Domain *string `location:"uri" locationName:"Domain" min:"1" type:"string" required:"true"` // The last day (in Unix time) that you want to obtain domain deliverability // metrics for. The EndDate that you specify has to be less than or equal to @@ -8180,7 +11100,7 @@ type GetEmailIdentityInput struct { // The email identity that you want to retrieve details for. // // EmailIdentity is a required field - EmailIdentity *string `location:"uri" locationName:"EmailIdentity" type:"string" required:"true"` + EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"` } // String returns the string representation @@ -8241,6 +11161,9 @@ type GetEmailIdentityOutput struct { // email identity. MailFromAttributes *MailFromAttributes `type:"structure"` + // A map of policy names to policies. + Policies map[string]*string `type:"map"` + // An array of objects that define the tags (keys and values) that are associated // with the email identity. Tags []*Tag `type:"list"` @@ -8285,6 +11208,12 @@ func (s *GetEmailIdentityOutput) SetMailFromAttributes(v *MailFromAttributes) *G return s } +// SetPolicies sets the Policies field's value. +func (s *GetEmailIdentityOutput) SetPolicies(v map[string]*string) *GetEmailIdentityOutput { + s.Policies = v + return s +} + // SetTags sets the Tags field's value. func (s *GetEmailIdentityOutput) SetTags(v []*Tag) *GetEmailIdentityOutput { s.Tags = v @@ -8297,6 +11226,153 @@ func (s *GetEmailIdentityOutput) SetVerifiedForSendingStatus(v bool) *GetEmailId return s } +// A request to return the policies of an email identity. +type GetEmailIdentityPoliciesInput struct { + _ struct{} `type:"structure"` + + // The email identity that you want to retrieve policies for. + // + // EmailIdentity is a required field + EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetEmailIdentityPoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEmailIdentityPoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetEmailIdentityPoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEmailIdentityPoliciesInput"} + if s.EmailIdentity == nil { + invalidParams.Add(request.NewErrParamRequired("EmailIdentity")) + } + if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEmailIdentity sets the EmailIdentity field's value. +func (s *GetEmailIdentityPoliciesInput) SetEmailIdentity(v string) *GetEmailIdentityPoliciesInput { + s.EmailIdentity = &v + return s +} + +// Identity policies associated with email identity. +type GetEmailIdentityPoliciesOutput struct { + _ struct{} `type:"structure"` + + // A map of policy names to policies. + Policies map[string]*string `type:"map"` +} + +// String returns the string representation +func (s GetEmailIdentityPoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEmailIdentityPoliciesOutput) GoString() string { + return s.String() +} + +// SetPolicies sets the Policies field's value. +func (s *GetEmailIdentityPoliciesOutput) SetPolicies(v map[string]*string) *GetEmailIdentityPoliciesOutput { + s.Policies = v + return s +} + +// Represents a request to display the template object (which includes the subject +// line, HTML part and text part) for the template you specify. +type GetEmailTemplateInput struct { + _ struct{} `type:"structure"` + + // The name of the template you want to retrieve. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"TemplateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetEmailTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEmailTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetEmailTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEmailTemplateInput"} + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateName sets the TemplateName field's value. +func (s *GetEmailTemplateInput) SetTemplateName(v string) *GetEmailTemplateInput { + s.TemplateName = &v + return s +} + +// The following element is returned by the service. +type GetEmailTemplateOutput struct { + _ struct{} `type:"structure"` + + // The content of the email template, composed of a subject line, an HTML part, + // and a text-only part. + // + // TemplateContent is a required field + TemplateContent *EmailTemplateContent `type:"structure" required:"true"` + + // The name of the template you want to retrieve. + // + // TemplateName is a required field + TemplateName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetEmailTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEmailTemplateOutput) GoString() string { + return s.String() +} + +// SetTemplateContent sets the TemplateContent field's value. +func (s *GetEmailTemplateOutput) SetTemplateContent(v *EmailTemplateContent) *GetEmailTemplateOutput { + s.TemplateContent = v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *GetEmailTemplateOutput) SetTemplateName(v string) *GetEmailTemplateOutput { + s.TemplateName = &v + return s +} + // A request to retrieve information about an email address that's on the suppression // list for your account. type GetSuppressedDestinationInput struct { @@ -8371,7 +11447,7 @@ type IdentityInfo struct { _ struct{} `type:"structure"` // The address or domain of the identity. - IdentityName *string `type:"string"` + IdentityName *string `min:"1" type:"string"` // The email identity type. The identity type can be one of the following: // @@ -8732,6 +11808,81 @@ func (s *ListConfigurationSetsOutput) SetNextToken(v string) *ListConfigurationS return s } +// Represents a request to list the existing custom verification email templates +// for your account. +type ListCustomVerificationEmailTemplatesInput struct { + _ struct{} `type:"structure"` + + // A token returned from a previous call to ListCustomVerificationEmailTemplates + // to indicate the position in the list of custom verification email templates. + NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` + + // The number of results to show in a single call to ListCustomVerificationEmailTemplates. + // If the number of results is larger than the number you specified in this + // parameter, then the response includes a NextToken element, which you can + // use to obtain additional results. + // + // The value you specify has to be at least 1, and can be no more than 50. + PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"` +} + +// String returns the string representation +func (s ListCustomVerificationEmailTemplatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCustomVerificationEmailTemplatesInput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCustomVerificationEmailTemplatesInput) SetNextToken(v string) *ListCustomVerificationEmailTemplatesInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListCustomVerificationEmailTemplatesInput) SetPageSize(v int64) *ListCustomVerificationEmailTemplatesInput { + s.PageSize = &v + return s +} + +// The following elements are returned by the service. +type ListCustomVerificationEmailTemplatesOutput struct { + _ struct{} `type:"structure"` + + // A list of the custom verification email templates that exist in your account. + CustomVerificationEmailTemplates []*CustomVerificationEmailTemplateMetadata `type:"list"` + + // A token indicating that there are additional custom verification email templates + // available to be listed. Pass this token to a subsequent call to ListCustomVerificationEmailTemplates + // to retrieve the next 50 custom verification email templates. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListCustomVerificationEmailTemplatesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListCustomVerificationEmailTemplatesOutput) GoString() string { + return s.String() +} + +// SetCustomVerificationEmailTemplates sets the CustomVerificationEmailTemplates field's value. +func (s *ListCustomVerificationEmailTemplatesOutput) SetCustomVerificationEmailTemplates(v []*CustomVerificationEmailTemplateMetadata) *ListCustomVerificationEmailTemplatesOutput { + s.CustomVerificationEmailTemplates = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCustomVerificationEmailTemplatesOutput) SetNextToken(v string) *ListCustomVerificationEmailTemplatesOutput { + s.NextToken = &v + return s +} + // A request to obtain a list of dedicated IP pools. type ListDedicatedIpPoolsInput struct { _ struct{} `type:"structure"` @@ -9103,24 +12254,101 @@ func (s *ListEmailIdentitiesOutput) SetNextToken(v string) *ListEmailIdentitiesO return s } -// A request to obtain a list of email destinations that are on the suppression -// list for your account. -type ListSuppressedDestinationsInput struct { +// Represents a request to list the email templates present in your Amazon SES +// account in the current AWS Region. For more information, see the Amazon SES +// Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html). +type ListEmailTemplatesInput struct { _ struct{} `type:"structure"` - // Used to filter the list of suppressed email destinations so that it only - // includes addresses that were added to the list before a specific date. The - // date that you specify should be in Unix time format. - EndDate *time.Time `location:"querystring" locationName:"EndDate" type:"timestamp"` - - // A token returned from a previous call to ListSuppressedDestinations to indicate - // the position in the list of suppressed email addresses. + // A token returned from a previous call to ListEmailTemplates to indicate the + // position in the list of email templates. NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` - // The number of results to show in a single call to ListSuppressedDestinations. - // If the number of results is larger than the number you specified in this - // parameter, then the response includes a NextToken element, which you can - // use to obtain additional results. + // The number of results to show in a single call to ListEmailTemplates. If + // the number of results is larger than the number you specified in this parameter, + // then the response includes a NextToken element, which you can use to obtain + // additional results. + // + // The value you specify has to be at least 1, and can be no more than 10. + PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"` +} + +// String returns the string representation +func (s ListEmailTemplatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEmailTemplatesInput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEmailTemplatesInput) SetNextToken(v string) *ListEmailTemplatesInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListEmailTemplatesInput) SetPageSize(v int64) *ListEmailTemplatesInput { + s.PageSize = &v + return s +} + +// The following elements are returned by the service. +type ListEmailTemplatesOutput struct { + _ struct{} `type:"structure"` + + // A token indicating that there are additional email templates available to + // be listed. Pass this token to a subsequent ListEmailTemplates call to retrieve + // the next 10 email templates. + NextToken *string `type:"string"` + + // An array the contains the name and creation time stamp for each template + // in your Amazon SES account. + TemplatesMetadata []*EmailTemplateMetadata `type:"list"` +} + +// String returns the string representation +func (s ListEmailTemplatesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEmailTemplatesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEmailTemplatesOutput) SetNextToken(v string) *ListEmailTemplatesOutput { + s.NextToken = &v + return s +} + +// SetTemplatesMetadata sets the TemplatesMetadata field's value. +func (s *ListEmailTemplatesOutput) SetTemplatesMetadata(v []*EmailTemplateMetadata) *ListEmailTemplatesOutput { + s.TemplatesMetadata = v + return s +} + +// A request to obtain a list of email destinations that are on the suppression +// list for your account. +type ListSuppressedDestinationsInput struct { + _ struct{} `type:"structure"` + + // Used to filter the list of suppressed email destinations so that it only + // includes addresses that were added to the list before a specific date. The + // date that you specify should be in Unix time format. + EndDate *time.Time `location:"querystring" locationName:"EndDate" type:"timestamp"` + + // A token returned from a previous call to ListSuppressedDestinations to indicate + // the position in the list of suppressed email addresses. + NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` + + // The number of results to show in a single call to ListSuppressedDestinations. + // If the number of results is larger than the number you specified in this + // parameter, then the response includes a NextToken element, which you can + // use to obtain additional results. PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"` // The factors that caused the email address to be added to . @@ -9823,6 +13051,139 @@ func (s PutAccountDedicatedIpWarmupAttributesOutput) GoString() string { return s.String() } +// A request to submit new account details. +type PutAccountDetailsInput struct { + _ struct{} `type:"structure"` + + // Additional email addresses that you would like to be notified regarding Amazon + // SES matters. + AdditionalContactEmailAddresses []*string `min:"1" type:"list" sensitive:"true"` + + // The language you would prefer to be contacted with. + ContactLanguage *string `type:"string" enum:"ContactLanguage"` + + // The type of email your account will send. + // + // MailType is a required field + MailType *string `type:"string" required:"true" enum:"MailType"` + + // Indicates whether or not your account should have production access in the + // current AWS Region. + // + // If the value is false, then your account is in the sandbox. When your account + // is in the sandbox, you can only send email to verified identities. Additionally, + // the maximum number of emails you can send in a 24-hour period (your sending + // quota) is 200, and the maximum number of emails you can send per second (your + // maximum sending rate) is 1. + // + // If the value is true, then your account has production access. When your + // account has production access, you can send email to any address. The sending + // quota and maximum sending rate for your account vary based on your specific + // use case. + ProductionAccessEnabled *bool `type:"boolean"` + + // A description of the types of email that you plan to send. + // + // UseCaseDescription is a required field + UseCaseDescription *string `min:"1" type:"string" required:"true" sensitive:"true"` + + // The URL of your website. This information helps us better understand the + // type of content that you plan to send. + // + // WebsiteURL is a required field + WebsiteURL *string `min:"1" type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation +func (s PutAccountDetailsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutAccountDetailsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutAccountDetailsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutAccountDetailsInput"} + if s.AdditionalContactEmailAddresses != nil && len(s.AdditionalContactEmailAddresses) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AdditionalContactEmailAddresses", 1)) + } + if s.MailType == nil { + invalidParams.Add(request.NewErrParamRequired("MailType")) + } + if s.UseCaseDescription == nil { + invalidParams.Add(request.NewErrParamRequired("UseCaseDescription")) + } + if s.UseCaseDescription != nil && len(*s.UseCaseDescription) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UseCaseDescription", 1)) + } + if s.WebsiteURL == nil { + invalidParams.Add(request.NewErrParamRequired("WebsiteURL")) + } + if s.WebsiteURL != nil && len(*s.WebsiteURL) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WebsiteURL", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdditionalContactEmailAddresses sets the AdditionalContactEmailAddresses field's value. +func (s *PutAccountDetailsInput) SetAdditionalContactEmailAddresses(v []*string) *PutAccountDetailsInput { + s.AdditionalContactEmailAddresses = v + return s +} + +// SetContactLanguage sets the ContactLanguage field's value. +func (s *PutAccountDetailsInput) SetContactLanguage(v string) *PutAccountDetailsInput { + s.ContactLanguage = &v + return s +} + +// SetMailType sets the MailType field's value. +func (s *PutAccountDetailsInput) SetMailType(v string) *PutAccountDetailsInput { + s.MailType = &v + return s +} + +// SetProductionAccessEnabled sets the ProductionAccessEnabled field's value. +func (s *PutAccountDetailsInput) SetProductionAccessEnabled(v bool) *PutAccountDetailsInput { + s.ProductionAccessEnabled = &v + return s +} + +// SetUseCaseDescription sets the UseCaseDescription field's value. +func (s *PutAccountDetailsInput) SetUseCaseDescription(v string) *PutAccountDetailsInput { + s.UseCaseDescription = &v + return s +} + +// SetWebsiteURL sets the WebsiteURL field's value. +func (s *PutAccountDetailsInput) SetWebsiteURL(v string) *PutAccountDetailsInput { + s.WebsiteURL = &v + return s +} + +// An HTTP 200 response if the request succeeds, or an error message if the +// request fails. +type PutAccountDetailsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutAccountDetailsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutAccountDetailsOutput) GoString() string { + return s.String() +} + // A request to change the ability of your account to send email. type PutAccountSendingAttributesInput struct { _ struct{} `type:"structure"` @@ -10515,7 +13876,7 @@ type PutEmailIdentityDkimAttributesInput struct { // The email identity that you want to change the DKIM settings for. // // EmailIdentity is a required field - EmailIdentity *string `location:"uri" locationName:"EmailIdentity" type:"string" required:"true"` + EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"` // Sets the DKIM signing configuration for the identity. // @@ -10586,7 +13947,7 @@ type PutEmailIdentityDkimSigningAttributesInput struct { // The email identity that you want to configure DKIM for. // // EmailIdentity is a required field - EmailIdentity *string `location:"uri" locationName:"EmailIdentity" type:"string" required:"true"` + EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"` // An object that contains information about the private key and selector that // you want to use to configure DKIM for the identity. This object is only required @@ -10752,7 +14113,7 @@ type PutEmailIdentityFeedbackAttributesInput struct { // forwarding for. // // EmailIdentity is a required field - EmailIdentity *string `location:"uri" locationName:"EmailIdentity" type:"string" required:"true"` + EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"` } // String returns the string representation @@ -10827,7 +14188,7 @@ type PutEmailIdentityMailFromAttributesInput struct { // domain for. // // EmailIdentity is a required field - EmailIdentity *string `location:"uri" locationName:"EmailIdentity" type:"string" required:"true"` + EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"` // The custom MAIL FROM domain that you want the verified identity to use. The // MAIL FROM domain must meet the following criteria: @@ -10910,112 +14271,497 @@ type PutSuppressedDestinationInput struct { // EmailAddress is a required field EmailAddress *string `type:"string" required:"true"` - // The factors that should cause the email address to be added to the suppression - // list for your account. - // - // Reason is a required field - Reason *string `type:"string" required:"true" enum:"SuppressionListReason"` + // The factors that should cause the email address to be added to the suppression + // list for your account. + // + // Reason is a required field + Reason *string `type:"string" required:"true" enum:"SuppressionListReason"` +} + +// String returns the string representation +func (s PutSuppressedDestinationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutSuppressedDestinationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutSuppressedDestinationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutSuppressedDestinationInput"} + if s.EmailAddress == nil { + invalidParams.Add(request.NewErrParamRequired("EmailAddress")) + } + if s.Reason == nil { + invalidParams.Add(request.NewErrParamRequired("Reason")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEmailAddress sets the EmailAddress field's value. +func (s *PutSuppressedDestinationInput) SetEmailAddress(v string) *PutSuppressedDestinationInput { + s.EmailAddress = &v + return s +} + +// SetReason sets the Reason field's value. +func (s *PutSuppressedDestinationInput) SetReason(v string) *PutSuppressedDestinationInput { + s.Reason = &v + return s +} + +// An HTTP 200 response if the request succeeds, or an error message if the +// request fails. +type PutSuppressedDestinationOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutSuppressedDestinationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutSuppressedDestinationOutput) GoString() string { + return s.String() +} + +// Represents the raw content of an email message. +type RawMessage struct { + _ struct{} `type:"structure"` + + // The raw email message. The message has to meet the following criteria: + // + // * The message has to contain a header and a body, separated by one blank + // line. + // + // * All of the required header fields must be present in the message. + // + // * Each part of a multipart MIME message must be formatted properly. + // + // * Attachments must be in a file format that the Amazon SES supports. + // + // * The entire message must be Base64 encoded. + // + // * If any of the MIME parts in your message contain content that is outside + // of the 7-bit ASCII character range, you should encode that content to + // ensure that recipients' email clients render the message properly. + // + // * The length of any single line of text in the message can't exceed 1,000 + // characters. This restriction is defined in RFC 5321 (https://tools.ietf.org/html/rfc5321). + // + // Data is automatically base64 encoded/decoded by the SDK. + // + // Data is a required field + Data []byte `type:"blob" required:"true"` +} + +// String returns the string representation +func (s RawMessage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RawMessage) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RawMessage) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RawMessage"} + if s.Data == nil { + invalidParams.Add(request.NewErrParamRequired("Data")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetData sets the Data field's value. +func (s *RawMessage) SetData(v []byte) *RawMessage { + s.Data = v + return s +} + +// The ReplaceEmailContent object to be used for a specific BulkEmailEntry. +// The ReplacementTemplate can be specified within this object. +type ReplacementEmailContent struct { + _ struct{} `type:"structure"` + + // The ReplacementTemplate associated with ReplacementEmailContent. + ReplacementTemplate *ReplacementTemplate `type:"structure"` +} + +// String returns the string representation +func (s ReplacementEmailContent) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplacementEmailContent) GoString() string { + return s.String() +} + +// SetReplacementTemplate sets the ReplacementTemplate field's value. +func (s *ReplacementEmailContent) SetReplacementTemplate(v *ReplacementTemplate) *ReplacementEmailContent { + s.ReplacementTemplate = v + return s +} + +// An object which contains ReplacementTemplateData to be used for a specific +// BulkEmailEntry. +type ReplacementTemplate struct { + _ struct{} `type:"structure"` + + // A list of replacement values to apply to the template. This parameter is + // a JSON object, typically consisting of key-value pairs in which the keys + // correspond to replacement tags in the email template. + ReplacementTemplateData *string `type:"string"` +} + +// String returns the string representation +func (s ReplacementTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplacementTemplate) GoString() string { + return s.String() +} + +// SetReplacementTemplateData sets the ReplacementTemplateData field's value. +func (s *ReplacementTemplate) SetReplacementTemplateData(v string) *ReplacementTemplate { + s.ReplacementTemplateData = &v + return s +} + +// Enable or disable collection of reputation metrics for emails that you send +// using this configuration set in the current AWS Region. +type ReputationOptions struct { + _ struct{} `type:"structure"` + + // The date and time (in Unix time) when the reputation metrics were last given + // a fresh start. When your account is given a fresh start, your reputation + // metrics are calculated starting from the date of the fresh start. + LastFreshStart *time.Time `type:"timestamp"` + + // If true, tracking of reputation metrics is enabled for the configuration + // set. If false, tracking of reputation metrics is disabled for the configuration + // set. + ReputationMetricsEnabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s ReputationOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReputationOptions) GoString() string { + return s.String() +} + +// SetLastFreshStart sets the LastFreshStart field's value. +func (s *ReputationOptions) SetLastFreshStart(v time.Time) *ReputationOptions { + s.LastFreshStart = &v + return s +} + +// SetReputationMetricsEnabled sets the ReputationMetricsEnabled field's value. +func (s *ReputationOptions) SetReputationMetricsEnabled(v bool) *ReputationOptions { + s.ReputationMetricsEnabled = &v + return s +} + +// An object that contains information about your account details review. +type ReviewDetails struct { + _ struct{} `type:"structure"` + + // The associated support center case ID (if any). + CaseId *string `type:"string"` + + // The status of the latest review of your account. The status can be one of + // the following: + // + // * PENDING – We have received your appeal and are in the process of reviewing + // it. + // + // * GRANTED – Your appeal has been reviewed and your production access + // has been granted. + // + // * DENIED – Your appeal has been reviewed and your production access + // has been denied. + // + // * FAILED – An internal error occurred and we didn't receive your appeal. + // You can submit your appeal again. + Status *string `type:"string" enum:"ReviewStatus"` +} + +// String returns the string representation +func (s ReviewDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReviewDetails) GoString() string { + return s.String() +} + +// SetCaseId sets the CaseId field's value. +func (s *ReviewDetails) SetCaseId(v string) *ReviewDetails { + s.CaseId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ReviewDetails) SetStatus(v string) *ReviewDetails { + s.Status = &v + return s +} + +// Represents a request to send email messages to multiple destinations using +// Amazon SES. For more information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html). +type SendBulkEmailInput struct { + _ struct{} `type:"structure"` + + // The list of bulk email entry objects. + // + // BulkEmailEntries is a required field + BulkEmailEntries []*BulkEmailEntry `type:"list" required:"true"` + + // The name of the configuration set that you want to use when sending the email. + ConfigurationSetName *string `type:"string"` + + // An object that contains the body of the message. You can specify a template + // message. + // + // DefaultContent is a required field + DefaultContent *BulkEmailContent `type:"structure" required:"true"` + + // A list of tags, in the form of name/value pairs, to apply to an email that + // you send using the SendEmail operation. Tags correspond to characteristics + // of the email that you define, so that you can publish email sending events. + DefaultEmailTags []*MessageTag `type:"list"` + + // The address that you want bounce and complaint notifications to be sent to. + FeedbackForwardingEmailAddress *string `type:"string"` + + // This parameter is used only for sending authorization. It is the ARN of the + // identity that is associated with the sending authorization policy that permits + // you to use the email address specified in the FeedbackForwardingEmailAddress + // parameter. + // + // For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) + // attaches a policy to it that authorizes you to use feedback@example.com, + // then you would specify the FeedbackForwardingEmailAddressIdentityArn to be + // arn:aws:ses:us-east-1:123456789012:identity/example.com, and the FeedbackForwardingEmailAddress + // to be feedback@example.com. + // + // For more information about sending authorization, see the Amazon SES Developer + // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). + FeedbackForwardingEmailAddressIdentityArn *string `type:"string"` + + // The email address that you want to use as the "From" address for the email. + // The address that you specify has to be verified. + FromEmailAddress *string `type:"string"` + + // This parameter is used only for sending authorization. It is the ARN of the + // identity that is associated with the sending authorization policy that permits + // you to use the email address specified in the FromEmailAddress parameter. + // + // For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) + // attaches a policy to it that authorizes you to use sender@example.com, then + // you would specify the FromEmailAddressIdentityArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, + // and the FromEmailAddress to be sender@example.com. + // + // For more information about sending authorization, see the Amazon SES Developer + // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). + FromEmailAddressIdentityArn *string `type:"string"` + + // The "Reply-to" email addresses for the message. When the recipient replies + // to the message, each Reply-to address receives the reply. + ReplyToAddresses []*string `type:"list"` +} + +// String returns the string representation +func (s SendBulkEmailInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SendBulkEmailInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SendBulkEmailInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendBulkEmailInput"} + if s.BulkEmailEntries == nil { + invalidParams.Add(request.NewErrParamRequired("BulkEmailEntries")) + } + if s.DefaultContent == nil { + invalidParams.Add(request.NewErrParamRequired("DefaultContent")) + } + if s.BulkEmailEntries != nil { + for i, v := range s.BulkEmailEntries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BulkEmailEntries", i), err.(request.ErrInvalidParams)) + } + } + } + if s.DefaultContent != nil { + if err := s.DefaultContent.Validate(); err != nil { + invalidParams.AddNested("DefaultContent", err.(request.ErrInvalidParams)) + } + } + if s.DefaultEmailTags != nil { + for i, v := range s.DefaultEmailTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DefaultEmailTags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBulkEmailEntries sets the BulkEmailEntries field's value. +func (s *SendBulkEmailInput) SetBulkEmailEntries(v []*BulkEmailEntry) *SendBulkEmailInput { + s.BulkEmailEntries = v + return s +} + +// SetConfigurationSetName sets the ConfigurationSetName field's value. +func (s *SendBulkEmailInput) SetConfigurationSetName(v string) *SendBulkEmailInput { + s.ConfigurationSetName = &v + return s +} + +// SetDefaultContent sets the DefaultContent field's value. +func (s *SendBulkEmailInput) SetDefaultContent(v *BulkEmailContent) *SendBulkEmailInput { + s.DefaultContent = v + return s } -// String returns the string representation -func (s PutSuppressedDestinationInput) String() string { - return awsutil.Prettify(s) +// SetDefaultEmailTags sets the DefaultEmailTags field's value. +func (s *SendBulkEmailInput) SetDefaultEmailTags(v []*MessageTag) *SendBulkEmailInput { + s.DefaultEmailTags = v + return s } -// GoString returns the string representation -func (s PutSuppressedDestinationInput) GoString() string { - return s.String() +// SetFeedbackForwardingEmailAddress sets the FeedbackForwardingEmailAddress field's value. +func (s *SendBulkEmailInput) SetFeedbackForwardingEmailAddress(v string) *SendBulkEmailInput { + s.FeedbackForwardingEmailAddress = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *PutSuppressedDestinationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PutSuppressedDestinationInput"} - if s.EmailAddress == nil { - invalidParams.Add(request.NewErrParamRequired("EmailAddress")) - } - if s.Reason == nil { - invalidParams.Add(request.NewErrParamRequired("Reason")) - } +// SetFeedbackForwardingEmailAddressIdentityArn sets the FeedbackForwardingEmailAddressIdentityArn field's value. +func (s *SendBulkEmailInput) SetFeedbackForwardingEmailAddressIdentityArn(v string) *SendBulkEmailInput { + s.FeedbackForwardingEmailAddressIdentityArn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetFromEmailAddress sets the FromEmailAddress field's value. +func (s *SendBulkEmailInput) SetFromEmailAddress(v string) *SendBulkEmailInput { + s.FromEmailAddress = &v + return s } -// SetEmailAddress sets the EmailAddress field's value. -func (s *PutSuppressedDestinationInput) SetEmailAddress(v string) *PutSuppressedDestinationInput { - s.EmailAddress = &v +// SetFromEmailAddressIdentityArn sets the FromEmailAddressIdentityArn field's value. +func (s *SendBulkEmailInput) SetFromEmailAddressIdentityArn(v string) *SendBulkEmailInput { + s.FromEmailAddressIdentityArn = &v return s } -// SetReason sets the Reason field's value. -func (s *PutSuppressedDestinationInput) SetReason(v string) *PutSuppressedDestinationInput { - s.Reason = &v +// SetReplyToAddresses sets the ReplyToAddresses field's value. +func (s *SendBulkEmailInput) SetReplyToAddresses(v []*string) *SendBulkEmailInput { + s.ReplyToAddresses = v return s } -// An HTTP 200 response if the request succeeds, or an error message if the -// request fails. -type PutSuppressedDestinationOutput struct { +// The following data is returned in JSON format by the service. +type SendBulkEmailOutput struct { _ struct{} `type:"structure"` + + // A list of BulkMailEntry objects. + // + // BulkEmailEntryResults is a required field + BulkEmailEntryResults []*BulkEmailEntryResult `type:"list" required:"true"` } // String returns the string representation -func (s PutSuppressedDestinationOutput) String() string { +func (s SendBulkEmailOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s PutSuppressedDestinationOutput) GoString() string { +func (s SendBulkEmailOutput) GoString() string { return s.String() } -// Represents the raw content of an email message. -type RawMessage struct { +// SetBulkEmailEntryResults sets the BulkEmailEntryResults field's value. +func (s *SendBulkEmailOutput) SetBulkEmailEntryResults(v []*BulkEmailEntryResult) *SendBulkEmailOutput { + s.BulkEmailEntryResults = v + return s +} + +// Represents a request to send a custom verification email to a specified recipient. +type SendCustomVerificationEmailInput struct { _ struct{} `type:"structure"` - // The raw email message. The message has to meet the following criteria: - // - // * The message has to contain a header and a body, separated by one blank - // line. - // - // * All of the required header fields must be present in the message. - // - // * Each part of a multipart MIME message must be formatted properly. - // - // * Attachments must be in a file format that the Amazon SES supports. - // - // * The entire message must be Base64 encoded. - // - // * If any of the MIME parts in your message contain content that is outside - // of the 7-bit ASCII character range, you should encode that content to - // ensure that recipients' email clients render the message properly. - // - // * The length of any single line of text in the message can't exceed 1,000 - // characters. This restriction is defined in RFC 5321 (https://tools.ietf.org/html/rfc5321). + // Name of a configuration set to use when sending the verification email. + ConfigurationSetName *string `type:"string"` + + // The email address to verify. // - // Data is automatically base64 encoded/decoded by the SDK. + // EmailAddress is a required field + EmailAddress *string `type:"string" required:"true"` + + // The name of the custom verification email template to use when sending the + // verification email. // - // Data is a required field - Data []byte `type:"blob" required:"true"` + // TemplateName is a required field + TemplateName *string `min:"1" type:"string" required:"true"` } // String returns the string representation -func (s RawMessage) String() string { +func (s SendCustomVerificationEmailInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s RawMessage) GoString() string { +func (s SendCustomVerificationEmailInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RawMessage) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RawMessage"} - if s.Data == nil { - invalidParams.Add(request.NewErrParamRequired("Data")) +func (s *SendCustomVerificationEmailInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SendCustomVerificationEmailInput"} + if s.EmailAddress == nil { + invalidParams.Add(request.NewErrParamRequired("EmailAddress")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) } if invalidParams.Len() > 0 { @@ -11024,51 +14770,51 @@ func (s *RawMessage) Validate() error { return nil } -// SetData sets the Data field's value. -func (s *RawMessage) SetData(v []byte) *RawMessage { - s.Data = v +// SetConfigurationSetName sets the ConfigurationSetName field's value. +func (s *SendCustomVerificationEmailInput) SetConfigurationSetName(v string) *SendCustomVerificationEmailInput { + s.ConfigurationSetName = &v return s } -// Enable or disable collection of reputation metrics for emails that you send -// using this configuration set in the current AWS Region. -type ReputationOptions struct { - _ struct{} `type:"structure"` +// SetEmailAddress sets the EmailAddress field's value. +func (s *SendCustomVerificationEmailInput) SetEmailAddress(v string) *SendCustomVerificationEmailInput { + s.EmailAddress = &v + return s +} - // The date and time (in Unix time) when the reputation metrics were last given - // a fresh start. When your account is given a fresh start, your reputation - // metrics are calculated starting from the date of the fresh start. - LastFreshStart *time.Time `type:"timestamp"` +// SetTemplateName sets the TemplateName field's value. +func (s *SendCustomVerificationEmailInput) SetTemplateName(v string) *SendCustomVerificationEmailInput { + s.TemplateName = &v + return s +} - // If true, tracking of reputation metrics is enabled for the configuration - // set. If false, tracking of reputation metrics is disabled for the configuration - // set. - ReputationMetricsEnabled *bool `type:"boolean"` +// The following element is returned by the service. +type SendCustomVerificationEmailOutput struct { + _ struct{} `type:"structure"` + + // The unique message identifier returned from the SendCustomVerificationEmail + // operation. + MessageId *string `type:"string"` } // String returns the string representation -func (s ReputationOptions) String() string { +func (s SendCustomVerificationEmailOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ReputationOptions) GoString() string { +func (s SendCustomVerificationEmailOutput) GoString() string { return s.String() } -// SetLastFreshStart sets the LastFreshStart field's value. -func (s *ReputationOptions) SetLastFreshStart(v time.Time) *ReputationOptions { - s.LastFreshStart = &v - return s -} - -// SetReputationMetricsEnabled sets the ReputationMetricsEnabled field's value. -func (s *ReputationOptions) SetReputationMetricsEnabled(v bool) *ReputationOptions { - s.ReputationMetricsEnabled = &v +// SetMessageId sets the MessageId field's value. +func (s *SendCustomVerificationEmailOutput) SetMessageId(v string) *SendCustomVerificationEmailOutput { + s.MessageId = &v return s } -// A request to send an email message. +// Represents a request to send a single formatted email using Amazon SES. For +// more information, see the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-formatted.html). type SendEmailInput struct { _ struct{} `type:"structure"` @@ -11076,15 +14822,13 @@ type SendEmailInput struct { ConfigurationSetName *string `type:"string"` // An object that contains the body of the message. You can send either a Simple - // message or a Raw message. + // message Raw message or a template Message. // // Content is a required field Content *EmailContent `type:"structure" required:"true"` // An object that contains the recipients of the email message. - // - // Destination is a required field - Destination *Destination `type:"structure" required:"true"` + Destination *Destination `type:"structure"` // A list of tags, in the form of name/value pairs, to apply to an email that // you send using the SendEmail operation. Tags correspond to characteristics @@ -11094,10 +14838,41 @@ type SendEmailInput struct { // The address that you want bounce and complaint notifications to be sent to. FeedbackForwardingEmailAddress *string `type:"string"` + // This parameter is used only for sending authorization. It is the ARN of the + // identity that is associated with the sending authorization policy that permits + // you to use the email address specified in the FeedbackForwardingEmailAddress + // parameter. + // + // For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) + // attaches a policy to it that authorizes you to use feedback@example.com, + // then you would specify the FeedbackForwardingEmailAddressIdentityArn to be + // arn:aws:ses:us-east-1:123456789012:identity/example.com, and the FeedbackForwardingEmailAddress + // to be feedback@example.com. + // + // For more information about sending authorization, see the Amazon SES Developer + // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). + FeedbackForwardingEmailAddressIdentityArn *string `type:"string"` + // The email address that you want to use as the "From" address for the email. // The address that you specify has to be verified. FromEmailAddress *string `type:"string"` + // This parameter is used only for sending authorization. It is the ARN of the + // identity that is associated with the sending authorization policy that permits + // you to use the email address specified in the FromEmailAddress parameter. + // + // For example, if the owner of example.com (which has ARN arn:aws:ses:us-east-1:123456789012:identity/example.com) + // attaches a policy to it that authorizes you to use sender@example.com, then + // you would specify the FromEmailAddressIdentityArn to be arn:aws:ses:us-east-1:123456789012:identity/example.com, + // and the FromEmailAddress to be sender@example.com. + // + // For more information about sending authorization, see the Amazon SES Developer + // Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization.html). + // + // For Raw emails, the FromEmailAddressIdentityArn value overrides the X-SES-SOURCE-ARN + // and X-SES-FROM-ARN headers specified in raw email message content. + FromEmailAddressIdentityArn *string `type:"string"` + // The "Reply-to" email addresses for the message. When the recipient replies // to the message, each Reply-to address receives the reply. ReplyToAddresses []*string `type:"list"` @@ -11119,9 +14894,6 @@ func (s *SendEmailInput) Validate() error { if s.Content == nil { invalidParams.Add(request.NewErrParamRequired("Content")) } - if s.Destination == nil { - invalidParams.Add(request.NewErrParamRequired("Destination")) - } if s.Content != nil { if err := s.Content.Validate(); err != nil { invalidParams.AddNested("Content", err.(request.ErrInvalidParams)) @@ -11174,12 +14946,24 @@ func (s *SendEmailInput) SetFeedbackForwardingEmailAddress(v string) *SendEmailI return s } +// SetFeedbackForwardingEmailAddressIdentityArn sets the FeedbackForwardingEmailAddressIdentityArn field's value. +func (s *SendEmailInput) SetFeedbackForwardingEmailAddressIdentityArn(v string) *SendEmailInput { + s.FeedbackForwardingEmailAddressIdentityArn = &v + return s +} + // SetFromEmailAddress sets the FromEmailAddress field's value. func (s *SendEmailInput) SetFromEmailAddress(v string) *SendEmailInput { s.FromEmailAddress = &v return s } +// SetFromEmailAddressIdentityArn sets the FromEmailAddressIdentityArn field's value. +func (s *SendEmailInput) SetFromEmailAddressIdentityArn(v string) *SendEmailInput { + s.FromEmailAddressIdentityArn = &v + return s +} + // SetReplyToAddresses sets the ReplyToAddresses field's value. func (s *SendEmailInput) SetReplyToAddresses(v []*string) *SendEmailInput { s.ReplyToAddresses = v @@ -11740,68 +15524,177 @@ func (s *TagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { - s.ResourceArn = &v +// 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() +} + +// An object that defines the email template to use for an email message, and +// the values to use for any message variables in that template. An email template +// is a type of message template that contains content that you want to define, +// save, and reuse in email messages that you send. +type Template struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the template. + TemplateArn *string `type:"string"` + + // An object that defines the values to use for message variables in the template. + // This object is a set of key-value pairs. Each key defines a message variable + // in the template. The corresponding value defines the value to use for that + // variable. + TemplateData *string `type:"string"` + + // The name of the template. You will refer to this name when you send email + // using the SendTemplatedEmail or SendBulkTemplatedEmail operations. + TemplateName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s Template) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Template) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Template) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Template"} + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateArn sets the TemplateArn field's value. +func (s *Template) SetTemplateArn(v string) *Template { + s.TemplateArn = &v + return s +} + +// SetTemplateData sets the TemplateData field's value. +func (s *Template) SetTemplateData(v string) *Template { + s.TemplateData = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *Template) SetTemplateName(v string) *Template { + s.TemplateName = &v + return s +} + +// >Represents a request to create a preview of the MIME content of an email +// when provided with a template and a set of replacement data. +type TestRenderEmailTemplateInput struct { + _ struct{} `type:"structure"` + + // A list of replacement values to apply to the template. This parameter is + // a JSON object, typically consisting of key-value pairs in which the keys + // correspond to replacement tags in the email template. + // + // TemplateData is a required field + TemplateData *string `type:"string" required:"true"` + + // The name of the template that you want to render. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"TemplateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s TestRenderEmailTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestRenderEmailTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TestRenderEmailTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TestRenderEmailTemplateInput"} + if s.TemplateData == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateData")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateData sets the TemplateData field's value. +func (s *TestRenderEmailTemplateInput) SetTemplateData(v string) *TestRenderEmailTemplateInput { + s.TemplateData = &v return s } -// SetTags sets the Tags field's value. -func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { - s.Tags = v +// SetTemplateName sets the TemplateName field's value. +func (s *TestRenderEmailTemplateInput) SetTemplateName(v string) *TestRenderEmailTemplateInput { + s.TemplateName = &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 defines the email template to use for an email message, and -// the values to use for any message variables in that template. An email template -// is a type of message template that contains content that you want to define, -// save, and reuse in email messages that you send. -type Template struct { +// The following element is returned by the service. +type TestRenderEmailTemplateOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the template. - TemplateArn *string `type:"string"` - - // An object that defines the values to use for message variables in the template. - // This object is a set of key-value pairs. Each key defines a message variable - // in the template. The corresponding value defines the value to use for that - // variable. - TemplateData *string `type:"string"` + // The complete MIME message rendered by applying the data in the TemplateData + // parameter to the template specified in the TemplateName parameter. + // + // RenderedTemplate is a required field + RenderedTemplate *string `type:"string" required:"true"` } // String returns the string representation -func (s Template) String() string { +func (s TestRenderEmailTemplateOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s Template) GoString() string { +func (s TestRenderEmailTemplateOutput) GoString() string { return s.String() } -// SetTemplateArn sets the TemplateArn field's value. -func (s *Template) SetTemplateArn(v string) *Template { - s.TemplateArn = &v - return s -} - -// SetTemplateData sets the TemplateData field's value. -func (s *Template) SetTemplateData(v string) *Template { - s.TemplateData = &v +// SetRenderedTemplate sets the RenderedTemplate field's value. +func (s *TestRenderEmailTemplateOutput) SetRenderedTemplate(v string) *TestRenderEmailTemplateOutput { + s.RenderedTemplate = &v return s } @@ -12076,6 +15969,315 @@ func (s UpdateConfigurationSetEventDestinationOutput) GoString() string { return s.String() } +// Represents a request to update an existing custom verification email template. +type UpdateCustomVerificationEmailTemplateInput struct { + _ struct{} `type:"structure"` + + // The URL that the recipient of the verification email is sent to if his or + // her address is not successfully verified. + // + // FailureRedirectionURL is a required field + FailureRedirectionURL *string `type:"string" required:"true"` + + // The email address that the custom verification email is sent from. + // + // FromEmailAddress is a required field + FromEmailAddress *string `type:"string" required:"true"` + + // The URL that the recipient of the verification email is sent to if his or + // her address is successfully verified. + // + // SuccessRedirectionURL is a required field + SuccessRedirectionURL *string `type:"string" required:"true"` + + // The content of the custom verification email. The total size of the email + // must be less than 10 MB. The message body may contain HTML, with some limitations. + // For more information, see Custom Verification Email Frequently Asked Questions + // (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-verify-address-custom.html#custom-verification-emails-faq) + // in the Amazon SES Developer Guide. + // + // TemplateContent is a required field + TemplateContent *string `type:"string" required:"true"` + + // The name of the custom verification email template that you want to update. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"TemplateName" min:"1" type:"string" required:"true"` + + // The subject line of the custom verification email. + // + // TemplateSubject is a required field + TemplateSubject *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateCustomVerificationEmailTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCustomVerificationEmailTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateCustomVerificationEmailTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateCustomVerificationEmailTemplateInput"} + if s.FailureRedirectionURL == nil { + invalidParams.Add(request.NewErrParamRequired("FailureRedirectionURL")) + } + if s.FromEmailAddress == nil { + invalidParams.Add(request.NewErrParamRequired("FromEmailAddress")) + } + if s.SuccessRedirectionURL == nil { + invalidParams.Add(request.NewErrParamRequired("SuccessRedirectionURL")) + } + if s.TemplateContent == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateContent")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + if s.TemplateSubject == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateSubject")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFailureRedirectionURL sets the FailureRedirectionURL field's value. +func (s *UpdateCustomVerificationEmailTemplateInput) SetFailureRedirectionURL(v string) *UpdateCustomVerificationEmailTemplateInput { + s.FailureRedirectionURL = &v + return s +} + +// SetFromEmailAddress sets the FromEmailAddress field's value. +func (s *UpdateCustomVerificationEmailTemplateInput) SetFromEmailAddress(v string) *UpdateCustomVerificationEmailTemplateInput { + s.FromEmailAddress = &v + return s +} + +// SetSuccessRedirectionURL sets the SuccessRedirectionURL field's value. +func (s *UpdateCustomVerificationEmailTemplateInput) SetSuccessRedirectionURL(v string) *UpdateCustomVerificationEmailTemplateInput { + s.SuccessRedirectionURL = &v + return s +} + +// SetTemplateContent sets the TemplateContent field's value. +func (s *UpdateCustomVerificationEmailTemplateInput) SetTemplateContent(v string) *UpdateCustomVerificationEmailTemplateInput { + s.TemplateContent = &v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *UpdateCustomVerificationEmailTemplateInput) SetTemplateName(v string) *UpdateCustomVerificationEmailTemplateInput { + s.TemplateName = &v + return s +} + +// SetTemplateSubject sets the TemplateSubject field's value. +func (s *UpdateCustomVerificationEmailTemplateInput) SetTemplateSubject(v string) *UpdateCustomVerificationEmailTemplateInput { + s.TemplateSubject = &v + return s +} + +// If the action is successful, the service sends back an HTTP 200 response +// with an empty HTTP body. +type UpdateCustomVerificationEmailTemplateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateCustomVerificationEmailTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateCustomVerificationEmailTemplateOutput) GoString() string { + return s.String() +} + +// Represents a request to update a sending authorization policy for an identity. +// Sending authorization is an Amazon SES feature that enables you to authorize +// other senders to use your identities. For information, see the Amazon SES +// Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-identity-owner-tasks-management.html). +type UpdateEmailIdentityPolicyInput struct { + _ struct{} `type:"structure"` + + // The email identity for which you want to update policy. + // + // EmailIdentity is a required field + EmailIdentity *string `location:"uri" locationName:"EmailIdentity" min:"1" type:"string" required:"true"` + + // The text of the policy in JSON format. The policy cannot exceed 4 KB. + // + // For information about the syntax of sending authorization policies, see the + // Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/sending-authorization-policies.html). + // + // Policy is a required field + Policy *string `min:"1" type:"string" required:"true"` + + // The name of the policy. + // + // The policy name cannot exceed 64 characters and can only include alphanumeric + // characters, dashes, and underscores. + // + // PolicyName is a required field + PolicyName *string `location:"uri" locationName:"PolicyName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateEmailIdentityPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEmailIdentityPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateEmailIdentityPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateEmailIdentityPolicyInput"} + if s.EmailIdentity == nil { + invalidParams.Add(request.NewErrParamRequired("EmailIdentity")) + } + if s.EmailIdentity != nil && len(*s.EmailIdentity) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EmailIdentity", 1)) + } + 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.PolicyName == nil { + invalidParams.Add(request.NewErrParamRequired("PolicyName")) + } + if s.PolicyName != nil && len(*s.PolicyName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEmailIdentity sets the EmailIdentity field's value. +func (s *UpdateEmailIdentityPolicyInput) SetEmailIdentity(v string) *UpdateEmailIdentityPolicyInput { + s.EmailIdentity = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *UpdateEmailIdentityPolicyInput) SetPolicy(v string) *UpdateEmailIdentityPolicyInput { + s.Policy = &v + return s +} + +// SetPolicyName sets the PolicyName field's value. +func (s *UpdateEmailIdentityPolicyInput) SetPolicyName(v string) *UpdateEmailIdentityPolicyInput { + s.PolicyName = &v + return s +} + +// An HTTP 200 response if the request succeeds, or an error message if the +// request fails. +type UpdateEmailIdentityPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateEmailIdentityPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEmailIdentityPolicyOutput) GoString() string { + return s.String() +} + +// Represents a request to update an email template. For more information, see +// the Amazon SES Developer Guide (https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-personalized-email-api.html). +type UpdateEmailTemplateInput struct { + _ struct{} `type:"structure"` + + // The content of the email template, composed of a subject line, an HTML part, + // and a text-only part. + // + // TemplateContent is a required field + TemplateContent *EmailTemplateContent `type:"structure" required:"true"` + + // The name of the template you want to update. + // + // TemplateName is a required field + TemplateName *string `location:"uri" locationName:"TemplateName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateEmailTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEmailTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateEmailTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateEmailTemplateInput"} + if s.TemplateContent == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateContent")) + } + if s.TemplateName == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateName")) + } + if s.TemplateName != nil && len(*s.TemplateName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTemplateContent sets the TemplateContent field's value. +func (s *UpdateEmailTemplateInput) SetTemplateContent(v *EmailTemplateContent) *UpdateEmailTemplateInput { + s.TemplateContent = v + return s +} + +// SetTemplateName sets the TemplateName field's value. +func (s *UpdateEmailTemplateInput) SetTemplateName(v string) *UpdateEmailTemplateInput { + s.TemplateName = &v + return s +} + +// If the action is successful, the service sends back an HTTP 200 response +// with an empty HTTP body. +type UpdateEmailTemplateOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateEmailTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateEmailTemplateOutput) GoString() string { + return s.String() +} + // An object that contains information about the amount of email that was delivered // to recipients. type VolumeStatistics struct { @@ -12147,6 +16349,58 @@ const ( BehaviorOnMxFailureRejectMessage = "REJECT_MESSAGE" ) +const ( + // BulkEmailStatusSuccess is a BulkEmailStatus enum value + BulkEmailStatusSuccess = "SUCCESS" + + // BulkEmailStatusMessageRejected is a BulkEmailStatus enum value + BulkEmailStatusMessageRejected = "MESSAGE_REJECTED" + + // BulkEmailStatusMailFromDomainNotVerified is a BulkEmailStatus enum value + BulkEmailStatusMailFromDomainNotVerified = "MAIL_FROM_DOMAIN_NOT_VERIFIED" + + // BulkEmailStatusConfigurationSetNotFound is a BulkEmailStatus enum value + BulkEmailStatusConfigurationSetNotFound = "CONFIGURATION_SET_NOT_FOUND" + + // BulkEmailStatusTemplateNotFound is a BulkEmailStatus enum value + BulkEmailStatusTemplateNotFound = "TEMPLATE_NOT_FOUND" + + // BulkEmailStatusAccountSuspended is a BulkEmailStatus enum value + BulkEmailStatusAccountSuspended = "ACCOUNT_SUSPENDED" + + // BulkEmailStatusAccountThrottled is a BulkEmailStatus enum value + BulkEmailStatusAccountThrottled = "ACCOUNT_THROTTLED" + + // BulkEmailStatusAccountDailyQuotaExceeded is a BulkEmailStatus enum value + BulkEmailStatusAccountDailyQuotaExceeded = "ACCOUNT_DAILY_QUOTA_EXCEEDED" + + // BulkEmailStatusInvalidSendingPoolName is a BulkEmailStatus enum value + BulkEmailStatusInvalidSendingPoolName = "INVALID_SENDING_POOL_NAME" + + // BulkEmailStatusAccountSendingPaused is a BulkEmailStatus enum value + BulkEmailStatusAccountSendingPaused = "ACCOUNT_SENDING_PAUSED" + + // BulkEmailStatusConfigurationSetSendingPaused is a BulkEmailStatus enum value + BulkEmailStatusConfigurationSetSendingPaused = "CONFIGURATION_SET_SENDING_PAUSED" + + // BulkEmailStatusInvalidParameter is a BulkEmailStatus enum value + BulkEmailStatusInvalidParameter = "INVALID_PARAMETER" + + // BulkEmailStatusTransientFailure is a BulkEmailStatus enum value + BulkEmailStatusTransientFailure = "TRANSIENT_FAILURE" + + // BulkEmailStatusFailed is a BulkEmailStatus enum value + BulkEmailStatusFailed = "FAILED" +) + +const ( + // ContactLanguageEn is a ContactLanguage enum value + ContactLanguageEn = "EN" + + // ContactLanguageJa is a ContactLanguage enum value + ContactLanguageJa = "JA" +) + // The current status of your Deliverability dashboard subscription. If this // value is PENDING_EXPIRATION, your subscription is scheduled to expire at // the end of the current calendar month. @@ -12305,6 +16559,28 @@ const ( MailFromDomainStatusTemporaryFailure = "TEMPORARY_FAILURE" ) +const ( + // MailTypeMarketing is a MailType enum value + MailTypeMarketing = "MARKETING" + + // MailTypeTransactional is a MailType enum value + MailTypeTransactional = "TRANSACTIONAL" +) + +const ( + // ReviewStatusPending is a ReviewStatus enum value + ReviewStatusPending = "PENDING" + + // ReviewStatusFailed is a ReviewStatus enum value + ReviewStatusFailed = "FAILED" + + // ReviewStatusGranted is a ReviewStatus enum value + ReviewStatusGranted = "GRANTED" + + // ReviewStatusDenied is a ReviewStatus enum value + ReviewStatusDenied = "DENIED" +) + // The reason that the address was added to the suppression list for your account. // The value can be one of the following: // diff --git a/service/sesv2/errors.go b/service/sesv2/errors.go index ea0cabad6fe..903d463ec9b 100644 --- a/service/sesv2/errors.go +++ b/service/sesv2/errors.go @@ -33,6 +33,12 @@ const ( // The resource is being modified by another operation or thread. ErrCodeConcurrentModificationException = "ConcurrentModificationException" + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // If there is already an ongoing account details update under review. + ErrCodeConflictException = "ConflictException" + // ErrCodeInvalidNextTokenException for service response error code // "InvalidNextTokenException". // @@ -82,6 +88,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "AlreadyExistsException": newErrorAlreadyExistsException, "BadRequestException": newErrorBadRequestException, "ConcurrentModificationException": newErrorConcurrentModificationException, + "ConflictException": newErrorConflictException, "InvalidNextTokenException": newErrorInvalidNextTokenException, "LimitExceededException": newErrorLimitExceededException, "MailFromDomainNotVerifiedException": newErrorMailFromDomainNotVerifiedException, diff --git a/service/sesv2/sesv2iface/interface.go b/service/sesv2/sesv2iface/interface.go index cfb106bb486..6cbda3bedb2 100644 --- a/service/sesv2/sesv2iface/interface.go +++ b/service/sesv2/sesv2iface/interface.go @@ -68,6 +68,10 @@ type SESV2API interface { CreateConfigurationSetEventDestinationWithContext(aws.Context, *sesv2.CreateConfigurationSetEventDestinationInput, ...request.Option) (*sesv2.CreateConfigurationSetEventDestinationOutput, error) CreateConfigurationSetEventDestinationRequest(*sesv2.CreateConfigurationSetEventDestinationInput) (*request.Request, *sesv2.CreateConfigurationSetEventDestinationOutput) + CreateCustomVerificationEmailTemplate(*sesv2.CreateCustomVerificationEmailTemplateInput) (*sesv2.CreateCustomVerificationEmailTemplateOutput, error) + CreateCustomVerificationEmailTemplateWithContext(aws.Context, *sesv2.CreateCustomVerificationEmailTemplateInput, ...request.Option) (*sesv2.CreateCustomVerificationEmailTemplateOutput, error) + CreateCustomVerificationEmailTemplateRequest(*sesv2.CreateCustomVerificationEmailTemplateInput) (*request.Request, *sesv2.CreateCustomVerificationEmailTemplateOutput) + CreateDedicatedIpPool(*sesv2.CreateDedicatedIpPoolInput) (*sesv2.CreateDedicatedIpPoolOutput, error) CreateDedicatedIpPoolWithContext(aws.Context, *sesv2.CreateDedicatedIpPoolInput, ...request.Option) (*sesv2.CreateDedicatedIpPoolOutput, error) CreateDedicatedIpPoolRequest(*sesv2.CreateDedicatedIpPoolInput) (*request.Request, *sesv2.CreateDedicatedIpPoolOutput) @@ -80,6 +84,14 @@ type SESV2API interface { CreateEmailIdentityWithContext(aws.Context, *sesv2.CreateEmailIdentityInput, ...request.Option) (*sesv2.CreateEmailIdentityOutput, error) CreateEmailIdentityRequest(*sesv2.CreateEmailIdentityInput) (*request.Request, *sesv2.CreateEmailIdentityOutput) + CreateEmailIdentityPolicy(*sesv2.CreateEmailIdentityPolicyInput) (*sesv2.CreateEmailIdentityPolicyOutput, error) + CreateEmailIdentityPolicyWithContext(aws.Context, *sesv2.CreateEmailIdentityPolicyInput, ...request.Option) (*sesv2.CreateEmailIdentityPolicyOutput, error) + CreateEmailIdentityPolicyRequest(*sesv2.CreateEmailIdentityPolicyInput) (*request.Request, *sesv2.CreateEmailIdentityPolicyOutput) + + CreateEmailTemplate(*sesv2.CreateEmailTemplateInput) (*sesv2.CreateEmailTemplateOutput, error) + CreateEmailTemplateWithContext(aws.Context, *sesv2.CreateEmailTemplateInput, ...request.Option) (*sesv2.CreateEmailTemplateOutput, error) + CreateEmailTemplateRequest(*sesv2.CreateEmailTemplateInput) (*request.Request, *sesv2.CreateEmailTemplateOutput) + DeleteConfigurationSet(*sesv2.DeleteConfigurationSetInput) (*sesv2.DeleteConfigurationSetOutput, error) DeleteConfigurationSetWithContext(aws.Context, *sesv2.DeleteConfigurationSetInput, ...request.Option) (*sesv2.DeleteConfigurationSetOutput, error) DeleteConfigurationSetRequest(*sesv2.DeleteConfigurationSetInput) (*request.Request, *sesv2.DeleteConfigurationSetOutput) @@ -88,6 +100,10 @@ type SESV2API interface { DeleteConfigurationSetEventDestinationWithContext(aws.Context, *sesv2.DeleteConfigurationSetEventDestinationInput, ...request.Option) (*sesv2.DeleteConfigurationSetEventDestinationOutput, error) DeleteConfigurationSetEventDestinationRequest(*sesv2.DeleteConfigurationSetEventDestinationInput) (*request.Request, *sesv2.DeleteConfigurationSetEventDestinationOutput) + DeleteCustomVerificationEmailTemplate(*sesv2.DeleteCustomVerificationEmailTemplateInput) (*sesv2.DeleteCustomVerificationEmailTemplateOutput, error) + DeleteCustomVerificationEmailTemplateWithContext(aws.Context, *sesv2.DeleteCustomVerificationEmailTemplateInput, ...request.Option) (*sesv2.DeleteCustomVerificationEmailTemplateOutput, error) + DeleteCustomVerificationEmailTemplateRequest(*sesv2.DeleteCustomVerificationEmailTemplateInput) (*request.Request, *sesv2.DeleteCustomVerificationEmailTemplateOutput) + DeleteDedicatedIpPool(*sesv2.DeleteDedicatedIpPoolInput) (*sesv2.DeleteDedicatedIpPoolOutput, error) DeleteDedicatedIpPoolWithContext(aws.Context, *sesv2.DeleteDedicatedIpPoolInput, ...request.Option) (*sesv2.DeleteDedicatedIpPoolOutput, error) DeleteDedicatedIpPoolRequest(*sesv2.DeleteDedicatedIpPoolInput) (*request.Request, *sesv2.DeleteDedicatedIpPoolOutput) @@ -96,6 +112,14 @@ type SESV2API interface { DeleteEmailIdentityWithContext(aws.Context, *sesv2.DeleteEmailIdentityInput, ...request.Option) (*sesv2.DeleteEmailIdentityOutput, error) DeleteEmailIdentityRequest(*sesv2.DeleteEmailIdentityInput) (*request.Request, *sesv2.DeleteEmailIdentityOutput) + DeleteEmailIdentityPolicy(*sesv2.DeleteEmailIdentityPolicyInput) (*sesv2.DeleteEmailIdentityPolicyOutput, error) + DeleteEmailIdentityPolicyWithContext(aws.Context, *sesv2.DeleteEmailIdentityPolicyInput, ...request.Option) (*sesv2.DeleteEmailIdentityPolicyOutput, error) + DeleteEmailIdentityPolicyRequest(*sesv2.DeleteEmailIdentityPolicyInput) (*request.Request, *sesv2.DeleteEmailIdentityPolicyOutput) + + DeleteEmailTemplate(*sesv2.DeleteEmailTemplateInput) (*sesv2.DeleteEmailTemplateOutput, error) + DeleteEmailTemplateWithContext(aws.Context, *sesv2.DeleteEmailTemplateInput, ...request.Option) (*sesv2.DeleteEmailTemplateOutput, error) + DeleteEmailTemplateRequest(*sesv2.DeleteEmailTemplateInput) (*request.Request, *sesv2.DeleteEmailTemplateOutput) + DeleteSuppressedDestination(*sesv2.DeleteSuppressedDestinationInput) (*sesv2.DeleteSuppressedDestinationOutput, error) DeleteSuppressedDestinationWithContext(aws.Context, *sesv2.DeleteSuppressedDestinationInput, ...request.Option) (*sesv2.DeleteSuppressedDestinationOutput, error) DeleteSuppressedDestinationRequest(*sesv2.DeleteSuppressedDestinationInput) (*request.Request, *sesv2.DeleteSuppressedDestinationOutput) @@ -116,6 +140,10 @@ type SESV2API interface { GetConfigurationSetEventDestinationsWithContext(aws.Context, *sesv2.GetConfigurationSetEventDestinationsInput, ...request.Option) (*sesv2.GetConfigurationSetEventDestinationsOutput, error) GetConfigurationSetEventDestinationsRequest(*sesv2.GetConfigurationSetEventDestinationsInput) (*request.Request, *sesv2.GetConfigurationSetEventDestinationsOutput) + GetCustomVerificationEmailTemplate(*sesv2.GetCustomVerificationEmailTemplateInput) (*sesv2.GetCustomVerificationEmailTemplateOutput, error) + GetCustomVerificationEmailTemplateWithContext(aws.Context, *sesv2.GetCustomVerificationEmailTemplateInput, ...request.Option) (*sesv2.GetCustomVerificationEmailTemplateOutput, error) + GetCustomVerificationEmailTemplateRequest(*sesv2.GetCustomVerificationEmailTemplateInput) (*request.Request, *sesv2.GetCustomVerificationEmailTemplateOutput) + GetDedicatedIp(*sesv2.GetDedicatedIpInput) (*sesv2.GetDedicatedIpOutput, error) GetDedicatedIpWithContext(aws.Context, *sesv2.GetDedicatedIpInput, ...request.Option) (*sesv2.GetDedicatedIpOutput, error) GetDedicatedIpRequest(*sesv2.GetDedicatedIpInput) (*request.Request, *sesv2.GetDedicatedIpOutput) @@ -147,6 +175,14 @@ type SESV2API interface { GetEmailIdentityWithContext(aws.Context, *sesv2.GetEmailIdentityInput, ...request.Option) (*sesv2.GetEmailIdentityOutput, error) GetEmailIdentityRequest(*sesv2.GetEmailIdentityInput) (*request.Request, *sesv2.GetEmailIdentityOutput) + GetEmailIdentityPolicies(*sesv2.GetEmailIdentityPoliciesInput) (*sesv2.GetEmailIdentityPoliciesOutput, error) + GetEmailIdentityPoliciesWithContext(aws.Context, *sesv2.GetEmailIdentityPoliciesInput, ...request.Option) (*sesv2.GetEmailIdentityPoliciesOutput, error) + GetEmailIdentityPoliciesRequest(*sesv2.GetEmailIdentityPoliciesInput) (*request.Request, *sesv2.GetEmailIdentityPoliciesOutput) + + GetEmailTemplate(*sesv2.GetEmailTemplateInput) (*sesv2.GetEmailTemplateOutput, error) + GetEmailTemplateWithContext(aws.Context, *sesv2.GetEmailTemplateInput, ...request.Option) (*sesv2.GetEmailTemplateOutput, error) + GetEmailTemplateRequest(*sesv2.GetEmailTemplateInput) (*request.Request, *sesv2.GetEmailTemplateOutput) + GetSuppressedDestination(*sesv2.GetSuppressedDestinationInput) (*sesv2.GetSuppressedDestinationOutput, error) GetSuppressedDestinationWithContext(aws.Context, *sesv2.GetSuppressedDestinationInput, ...request.Option) (*sesv2.GetSuppressedDestinationOutput, error) GetSuppressedDestinationRequest(*sesv2.GetSuppressedDestinationInput) (*request.Request, *sesv2.GetSuppressedDestinationOutput) @@ -158,6 +194,13 @@ type SESV2API interface { ListConfigurationSetsPages(*sesv2.ListConfigurationSetsInput, func(*sesv2.ListConfigurationSetsOutput, bool) bool) error ListConfigurationSetsPagesWithContext(aws.Context, *sesv2.ListConfigurationSetsInput, func(*sesv2.ListConfigurationSetsOutput, bool) bool, ...request.Option) error + ListCustomVerificationEmailTemplates(*sesv2.ListCustomVerificationEmailTemplatesInput) (*sesv2.ListCustomVerificationEmailTemplatesOutput, error) + ListCustomVerificationEmailTemplatesWithContext(aws.Context, *sesv2.ListCustomVerificationEmailTemplatesInput, ...request.Option) (*sesv2.ListCustomVerificationEmailTemplatesOutput, error) + ListCustomVerificationEmailTemplatesRequest(*sesv2.ListCustomVerificationEmailTemplatesInput) (*request.Request, *sesv2.ListCustomVerificationEmailTemplatesOutput) + + ListCustomVerificationEmailTemplatesPages(*sesv2.ListCustomVerificationEmailTemplatesInput, func(*sesv2.ListCustomVerificationEmailTemplatesOutput, bool) bool) error + ListCustomVerificationEmailTemplatesPagesWithContext(aws.Context, *sesv2.ListCustomVerificationEmailTemplatesInput, func(*sesv2.ListCustomVerificationEmailTemplatesOutput, bool) bool, ...request.Option) error + ListDedicatedIpPools(*sesv2.ListDedicatedIpPoolsInput) (*sesv2.ListDedicatedIpPoolsOutput, error) ListDedicatedIpPoolsWithContext(aws.Context, *sesv2.ListDedicatedIpPoolsInput, ...request.Option) (*sesv2.ListDedicatedIpPoolsOutput, error) ListDedicatedIpPoolsRequest(*sesv2.ListDedicatedIpPoolsInput) (*request.Request, *sesv2.ListDedicatedIpPoolsOutput) @@ -186,6 +229,13 @@ type SESV2API interface { ListEmailIdentitiesPages(*sesv2.ListEmailIdentitiesInput, func(*sesv2.ListEmailIdentitiesOutput, bool) bool) error ListEmailIdentitiesPagesWithContext(aws.Context, *sesv2.ListEmailIdentitiesInput, func(*sesv2.ListEmailIdentitiesOutput, bool) bool, ...request.Option) error + ListEmailTemplates(*sesv2.ListEmailTemplatesInput) (*sesv2.ListEmailTemplatesOutput, error) + ListEmailTemplatesWithContext(aws.Context, *sesv2.ListEmailTemplatesInput, ...request.Option) (*sesv2.ListEmailTemplatesOutput, error) + ListEmailTemplatesRequest(*sesv2.ListEmailTemplatesInput) (*request.Request, *sesv2.ListEmailTemplatesOutput) + + ListEmailTemplatesPages(*sesv2.ListEmailTemplatesInput, func(*sesv2.ListEmailTemplatesOutput, bool) bool) error + ListEmailTemplatesPagesWithContext(aws.Context, *sesv2.ListEmailTemplatesInput, func(*sesv2.ListEmailTemplatesOutput, bool) bool, ...request.Option) error + ListSuppressedDestinations(*sesv2.ListSuppressedDestinationsInput) (*sesv2.ListSuppressedDestinationsOutput, error) ListSuppressedDestinationsWithContext(aws.Context, *sesv2.ListSuppressedDestinationsInput, ...request.Option) (*sesv2.ListSuppressedDestinationsOutput, error) ListSuppressedDestinationsRequest(*sesv2.ListSuppressedDestinationsInput) (*request.Request, *sesv2.ListSuppressedDestinationsOutput) @@ -201,6 +251,10 @@ type SESV2API interface { PutAccountDedicatedIpWarmupAttributesWithContext(aws.Context, *sesv2.PutAccountDedicatedIpWarmupAttributesInput, ...request.Option) (*sesv2.PutAccountDedicatedIpWarmupAttributesOutput, error) PutAccountDedicatedIpWarmupAttributesRequest(*sesv2.PutAccountDedicatedIpWarmupAttributesInput) (*request.Request, *sesv2.PutAccountDedicatedIpWarmupAttributesOutput) + PutAccountDetails(*sesv2.PutAccountDetailsInput) (*sesv2.PutAccountDetailsOutput, error) + PutAccountDetailsWithContext(aws.Context, *sesv2.PutAccountDetailsInput, ...request.Option) (*sesv2.PutAccountDetailsOutput, error) + PutAccountDetailsRequest(*sesv2.PutAccountDetailsInput) (*request.Request, *sesv2.PutAccountDetailsOutput) + PutAccountSendingAttributes(*sesv2.PutAccountSendingAttributesInput) (*sesv2.PutAccountSendingAttributesOutput, error) PutAccountSendingAttributesWithContext(aws.Context, *sesv2.PutAccountSendingAttributesInput, ...request.Option) (*sesv2.PutAccountSendingAttributesOutput, error) PutAccountSendingAttributesRequest(*sesv2.PutAccountSendingAttributesInput) (*request.Request, *sesv2.PutAccountSendingAttributesOutput) @@ -261,6 +315,14 @@ type SESV2API interface { PutSuppressedDestinationWithContext(aws.Context, *sesv2.PutSuppressedDestinationInput, ...request.Option) (*sesv2.PutSuppressedDestinationOutput, error) PutSuppressedDestinationRequest(*sesv2.PutSuppressedDestinationInput) (*request.Request, *sesv2.PutSuppressedDestinationOutput) + SendBulkEmail(*sesv2.SendBulkEmailInput) (*sesv2.SendBulkEmailOutput, error) + SendBulkEmailWithContext(aws.Context, *sesv2.SendBulkEmailInput, ...request.Option) (*sesv2.SendBulkEmailOutput, error) + SendBulkEmailRequest(*sesv2.SendBulkEmailInput) (*request.Request, *sesv2.SendBulkEmailOutput) + + SendCustomVerificationEmail(*sesv2.SendCustomVerificationEmailInput) (*sesv2.SendCustomVerificationEmailOutput, error) + SendCustomVerificationEmailWithContext(aws.Context, *sesv2.SendCustomVerificationEmailInput, ...request.Option) (*sesv2.SendCustomVerificationEmailOutput, error) + SendCustomVerificationEmailRequest(*sesv2.SendCustomVerificationEmailInput) (*request.Request, *sesv2.SendCustomVerificationEmailOutput) + SendEmail(*sesv2.SendEmailInput) (*sesv2.SendEmailOutput, error) SendEmailWithContext(aws.Context, *sesv2.SendEmailInput, ...request.Option) (*sesv2.SendEmailOutput, error) SendEmailRequest(*sesv2.SendEmailInput) (*request.Request, *sesv2.SendEmailOutput) @@ -269,6 +331,10 @@ type SESV2API interface { TagResourceWithContext(aws.Context, *sesv2.TagResourceInput, ...request.Option) (*sesv2.TagResourceOutput, error) TagResourceRequest(*sesv2.TagResourceInput) (*request.Request, *sesv2.TagResourceOutput) + TestRenderEmailTemplate(*sesv2.TestRenderEmailTemplateInput) (*sesv2.TestRenderEmailTemplateOutput, error) + TestRenderEmailTemplateWithContext(aws.Context, *sesv2.TestRenderEmailTemplateInput, ...request.Option) (*sesv2.TestRenderEmailTemplateOutput, error) + TestRenderEmailTemplateRequest(*sesv2.TestRenderEmailTemplateInput) (*request.Request, *sesv2.TestRenderEmailTemplateOutput) + UntagResource(*sesv2.UntagResourceInput) (*sesv2.UntagResourceOutput, error) UntagResourceWithContext(aws.Context, *sesv2.UntagResourceInput, ...request.Option) (*sesv2.UntagResourceOutput, error) UntagResourceRequest(*sesv2.UntagResourceInput) (*request.Request, *sesv2.UntagResourceOutput) @@ -276,6 +342,18 @@ type SESV2API interface { UpdateConfigurationSetEventDestination(*sesv2.UpdateConfigurationSetEventDestinationInput) (*sesv2.UpdateConfigurationSetEventDestinationOutput, error) UpdateConfigurationSetEventDestinationWithContext(aws.Context, *sesv2.UpdateConfigurationSetEventDestinationInput, ...request.Option) (*sesv2.UpdateConfigurationSetEventDestinationOutput, error) UpdateConfigurationSetEventDestinationRequest(*sesv2.UpdateConfigurationSetEventDestinationInput) (*request.Request, *sesv2.UpdateConfigurationSetEventDestinationOutput) + + UpdateCustomVerificationEmailTemplate(*sesv2.UpdateCustomVerificationEmailTemplateInput) (*sesv2.UpdateCustomVerificationEmailTemplateOutput, error) + UpdateCustomVerificationEmailTemplateWithContext(aws.Context, *sesv2.UpdateCustomVerificationEmailTemplateInput, ...request.Option) (*sesv2.UpdateCustomVerificationEmailTemplateOutput, error) + UpdateCustomVerificationEmailTemplateRequest(*sesv2.UpdateCustomVerificationEmailTemplateInput) (*request.Request, *sesv2.UpdateCustomVerificationEmailTemplateOutput) + + UpdateEmailIdentityPolicy(*sesv2.UpdateEmailIdentityPolicyInput) (*sesv2.UpdateEmailIdentityPolicyOutput, error) + UpdateEmailIdentityPolicyWithContext(aws.Context, *sesv2.UpdateEmailIdentityPolicyInput, ...request.Option) (*sesv2.UpdateEmailIdentityPolicyOutput, error) + UpdateEmailIdentityPolicyRequest(*sesv2.UpdateEmailIdentityPolicyInput) (*request.Request, *sesv2.UpdateEmailIdentityPolicyOutput) + + UpdateEmailTemplate(*sesv2.UpdateEmailTemplateInput) (*sesv2.UpdateEmailTemplateOutput, error) + UpdateEmailTemplateWithContext(aws.Context, *sesv2.UpdateEmailTemplateInput, ...request.Option) (*sesv2.UpdateEmailTemplateOutput, error) + UpdateEmailTemplateRequest(*sesv2.UpdateEmailTemplateInput) (*request.Request, *sesv2.UpdateEmailTemplateOutput) } var _ SESV2API = (*sesv2.SESV2)(nil)