diff --git a/CHANGELOG.md b/CHANGELOG.md index a0e882f237..e6e7dd9306 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,37 @@ +Release v1.34.3 (2020-08-12) +=== + +### Service Client Updates +* `service/cloud9`: Updates service API and documentation + * Add ConnectionType input parameter to CreateEnvironmentEC2 endpoint. New parameter enables creation of environments with SSM connection. +* `service/comprehend`: Updates service documentation +* `service/ec2`: Updates service API and documentation + * Introduces support for IPv6-in-IPv4 IPsec tunnels. A user can now send traffic from their on-premise IPv6 network to AWS VPCs that have IPv6 support enabled. +* `service/fsx`: Updates service API and documentation +* `service/iot`: Updates service API, documentation, and paginators + * Audit finding suppressions: Device Defender enables customers to turn off non-compliant findings for specific resources on a per check basis. +* `service/lambda`: Updates service API and examples + * Support for creating Lambda Functions using 'java8.al2' and 'provided.al2' +* `service/transfer`: Updates service API, documentation, and paginators + * Adds security policies to control cryptographic algorithms advertised by your server, additional characters in usernames and length increase, and FIPS compliant endpoints in the US and Canada regions. +* `service/workspaces`: Updates service API and documentation + * Adds optional EnableWorkDocs property to WorkspaceCreationProperties in the ModifyWorkspaceCreationProperties API + +### SDK Enhancements +* `codegen`: Add XXX_Values functions for getting slice of API enums by type. + * Fixes [#3441](https://github.com/aws/aws-sdk-go/issues/3441) by adding a new XXX_Values function for each API enum type that returns a slice of enum values, e.g `DomainStatus_Values`. +* `aws/request`: Update default retry to retry "use of closed network connection" errors ([#3476](https://github.com/aws/aws-sdk-go/pull/3476)) + * Fixes [#3406](https://github.com/aws/aws-sdk-go/issues/3406) + +### SDK Bugs +* `private/protocol/json/jsonutil`: Fixes a bug that truncated millisecond precision time in API response to seconds. ([#3474](https://github.com/aws/aws-sdk-go/pull/3474)) + * Fixes [#3464](https://github.com/aws/aws-sdk-go/issues/3464) + * Fixes [#3410](https://github.com/aws/aws-sdk-go/issues/3410) +* `codegen`: Export event stream constructor for easier mocking ([#3473](https://github.com/aws/aws-sdk-go/pull/3473)) + * Fixes [#3412](https://github.com/aws/aws-sdk-go/issues/3412) by exporting the operation's EventStream type's constructor function so it can be used to fully initialize fully when mocking out behavior for API operations with event streams. +* `service/ec2`: Fix max retries with client customizations ([#3465](https://github.com/aws/aws-sdk-go/pull/3465)) + * Fixes [#3374](https://github.com/aws/aws-sdk-go/issues/3374) by correcting the EC2 API client's customization for ModifyNetworkInterfaceAttribute and AssignPrivateIpAddresses operations to use the aws.Config.MaxRetries value if set. Previously the API client's customizations would ignore MaxRetries specified in the SDK's aws.Config.MaxRetries field. + Release v1.34.2 (2020-08-11) === diff --git a/CHANGELOG_PENDING.md b/CHANGELOG_PENDING.md index fdf85cdf10..8a1927a39c 100644 --- a/CHANGELOG_PENDING.md +++ b/CHANGELOG_PENDING.md @@ -1,16 +1,5 @@ ### SDK Features ### SDK Enhancements -* `codegen`: Add XXX_Values functions for getting slice of API enums by type. - * Fixes [#3441](https://github.com/aws/aws-sdk-go/issues/3441) by adding a new XXX_Values function for each API enum type that returns a slice of enum values, e.g `DomainStatus_Values`. -* `aws/request`: Update default retry to retry "use of closed network connection" errors ([#3476](https://github.com/aws/aws-sdk-go/pull/3476)) - * Fixes [#3406](https://github.com/aws/aws-sdk-go/issues/3406) ### SDK Bugs -* `private/protocol/json/jsonutil`: Fixes a bug that truncated millisecond precision time in API response to seconds. ([#3474](https://github.com/aws/aws-sdk-go/pull/3474)) - * Fixes [#3464](https://github.com/aws/aws-sdk-go/issues/3464) - * Fixes [#3410](https://github.com/aws/aws-sdk-go/issues/3410) -* `codegen`: Export event stream constructor for easier mocking ([#3473](https://github.com/aws/aws-sdk-go/pull/3473)) - * Fixes [#3412](https://github.com/aws/aws-sdk-go/issues/3412) by exporting the operation's EventStream type's constructor function so it can be used to fully initialize fully when mocking out behavior for API operations with event streams. -* `service/ec2`: Fix max retries with client customizations ([#3465](https://github.com/aws/aws-sdk-go/pull/3465)) - * Fixes [#3374](https://github.com/aws/aws-sdk-go/issues/3374) by correcting the EC2 API client's customization for ModifyNetworkInterfaceAttribute and AssignPrivateIpAddresses operations to use the aws.Config.MaxRetries value if set. Previously the API client's customizations would ignore MaxRetries specified in the SDK's aws.Config.MaxRetries field. diff --git a/aws/version.go b/aws/version.go index e7043a0810..93fbf9d636 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.34.2" +const SDKVersion = "1.34.3" diff --git a/models/apis/cloud9/2017-09-23/api-2.json b/models/apis/cloud9/2017-09-23/api-2.json index 243f979a89..9c4587c6ee 100644 --- a/models/apis/cloud9/2017-09-23/api-2.json +++ b/models/apis/cloud9/2017-09-23/api-2.json @@ -185,7 +185,8 @@ "errors":[ {"shape":"NotFoundException"}, {"shape":"InternalServerErrorException"}, - {"shape":"BadRequestException"} + {"shape":"BadRequestException"}, + {"shape":"ConcurrentAccessException"} ] }, "UntagResource":{ @@ -199,7 +200,8 @@ "errors":[ {"shape":"NotFoundException"}, {"shape":"InternalServerErrorException"}, - {"shape":"BadRequestException"} + {"shape":"BadRequestException"}, + {"shape":"ConcurrentAccessException"} ] }, "UpdateEnvironment":{ @@ -263,12 +265,25 @@ "type":"string", "pattern":"[\\x20-\\x7E]{10,128}" }, + "ConcurrentAccessException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, "ConflictException":{ "type":"structure", "members":{ }, "exception":true }, + "ConnectionType":{ + "type":"string", + "enum":[ + "CONNECT_SSH", + "CONNECT_SSM" + ] + }, "CreateEnvironmentEC2Request":{ "type":"structure", "required":[ @@ -283,7 +298,8 @@ "subnetId":{"shape":"SubnetId"}, "automaticStopTimeMinutes":{"shape":"AutomaticStopTimeMinutes"}, "ownerArn":{"shape":"UserArn"}, - "tags":{"shape":"TagList"} + "tags":{"shape":"TagList"}, + "connectionType":{"shape":"ConnectionType"} } }, "CreateEnvironmentEC2Result":{ @@ -390,6 +406,7 @@ "name":{"shape":"EnvironmentName"}, "description":{"shape":"EnvironmentDescription"}, "type":{"shape":"EnvironmentType"}, + "connectionType":{"shape":"ConnectionType"}, "arn":{"shape":"String"}, "ownerArn":{"shape":"String"}, "lifecycle":{"shape":"EnvironmentLifecycle"} diff --git a/models/apis/cloud9/2017-09-23/docs-2.json b/models/apis/cloud9/2017-09-23/docs-2.json index 34b9c66b2d..eeb207ab14 100644 --- a/models/apis/cloud9/2017-09-23/docs-2.json +++ b/models/apis/cloud9/2017-09-23/docs-2.json @@ -40,11 +40,23 @@ "CreateEnvironmentEC2Request$clientRequestToken": "

A unique, case-sensitive string that helps AWS Cloud9 to ensure this operation completes no more than one time.

For more information, see Client Tokens in the Amazon EC2 API Reference.

" } }, + "ConcurrentAccessException": { + "base": "

A concurrent access issue occurred.

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

A conflict occurred.

", "refs": { } }, + "ConnectionType": { + "base": null, + "refs": { + "CreateEnvironmentEC2Request$connectionType": "

The connection type used for connecting to an Amazon EC2 environment.

", + "Environment$connectionType": "

The connection type used for connecting to an Amazon EC2 environment.

" + } + }, "CreateEnvironmentEC2Request": { "base": null, "refs": { diff --git a/models/apis/comprehend/2017-11-27/docs-2.json b/models/apis/comprehend/2017-11-27/docs-2.json index 2a762d43cc..908eacddfc 100644 --- a/models/apis/comprehend/2017-11-27/docs-2.json +++ b/models/apis/comprehend/2017-11-27/docs-2.json @@ -765,7 +765,7 @@ "EntityTypesList": { "base": null, "refs": { - "EntityRecognizerInputDataConfig$EntityTypes": "

The entity types in the input data for an entity recognizer. A maximum of 12 entity types can be used at one time to train an entity recognizer.

" + "EntityRecognizerInputDataConfig$EntityTypes": "

The entity types in the input data for an entity recognizer. A maximum of 25 entity types can be used at one time to train an entity recognizer.

" } }, "EntityTypesListItem": { @@ -1034,7 +1034,7 @@ "BatchDetectKeyPhrasesRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

", "BatchDetectSentimentRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

", "CreateDocumentClassifierRequest$LanguageCode": "

The language of the input documents. You can specify any of the following languages supported by Amazon Comprehend: German (\"de\"), English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), or Portuguese (\"pt\"). All documents must be in the same language.

", - "CreateEntityRecognizerRequest$LanguageCode": "

The language of the input documents. All documents must be in the same language. Only English (\"en\") is currently supported.

", + "CreateEntityRecognizerRequest$LanguageCode": "

You can specify any of the following languages supported by Amazon Comprehend: English (\"en\"), Spanish (\"es\"), French (\"fr\"), Italian (\"it\"), German (\"de\"), or Portuguese (\"pt\"). All documents must be in the same language.

", "DetectEntitiesRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

If your request includes the endpoint for a custom entity recognition model, Amazon Comprehend uses the language of your custom model, and it ignores any language code that you specify here.

", "DetectKeyPhrasesRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

", "DetectSentimentRequest$LanguageCode": "

The language of the input documents. You can specify any of the primary languages supported by Amazon Comprehend. All documents must be in the same language.

", @@ -1675,7 +1675,7 @@ } }, "UnsupportedLanguageException": { - "base": "

Amazon Comprehend can't process the language of the input text. For all custom entity recognition APIs (such as CreateEntityRecognizer), only English is accepted. For most other APIs, such as those for Custom Classification, Amazon Comprehend accepts text in all supported languages. For a list of supported languages, see supported-languages.

", + "base": "

Amazon Comprehend can't process the language of the input text. For all custom entity recognition APIs (such as CreateEntityRecognizer), only English, Spanish, French, Italian, German, or Portuguese are accepted. For most other APIs, such as those for Custom Classification, Amazon Comprehend accepts text in all supported languages. For a list of supported languages, see supported-languages.

", "refs": { } }, diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index de9a851caa..7a1bfeb9e5 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -21558,6 +21558,7 @@ "type":"structure", "members":{ "TunnelInsideCidr":{"shape":"String"}, + "TunnelInsideIpv6Cidr":{"shape":"String"}, "PreSharedKey":{"shape":"String"}, "Phase1LifetimeSeconds":{"shape":"Integer"}, "Phase2LifetimeSeconds":{"shape":"Integer"}, @@ -28914,6 +28915,13 @@ "udp" ] }, + "TunnelInsideIpVersion":{ + "type":"string", + "enum":[ + "ipv4", + "ipv6" + ] + }, "TunnelOption":{ "type":"structure", "members":{ @@ -28925,6 +28933,10 @@ "shape":"String", "locationName":"tunnelInsideCidr" }, + "TunnelInsideIpv6Cidr":{ + "shape":"String", + "locationName":"tunnelInsideIpv6Cidr" + }, "PreSharedKey":{ "shape":"String", "locationName":"preSharedKey" @@ -30389,6 +30401,10 @@ "shape":"Boolean", "locationName":"staticRoutesOnly" }, + "TunnelInsideIpVersion":{ + "shape":"TunnelInsideIpVersion", + "locationName":"tunnelInsideIpVersion" + }, "TunnelOptions":{ "shape":"TunnelOptionsList", "locationName":"tunnelOptionSet" @@ -30403,6 +30419,7 @@ "shape":"Boolean", "locationName":"staticRoutesOnly" }, + "TunnelInsideIpVersion":{"shape":"TunnelInsideIpVersion"}, "TunnelOptions":{"shape":"VpnTunnelOptionsSpecificationsList"} } }, @@ -30506,6 +30523,7 @@ "type":"structure", "members":{ "TunnelInsideCidr":{"shape":"String"}, + "TunnelInsideIpv6Cidr":{"shape":"String"}, "PreSharedKey":{"shape":"String"}, "Phase1LifetimeSeconds":{"shape":"Integer"}, "Phase2LifetimeSeconds":{"shape":"Integer"}, diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 8eb9f0e64e..cedda49b07 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -95,7 +95,7 @@ "CreateVpcEndpointConnectionNotification": "

Creates a connection notification for a specified VPC endpoint or VPC endpoint service. A connection notification notifies you of specific endpoint events. You must create an SNS topic to receive notifications. For more information, see Create a Topic in the Amazon Simple Notification Service Developer Guide.

You can create a connection notification for interface endpoints only.

", "CreateVpcEndpointServiceConfiguration": "

Creates a VPC endpoint service configuration to which service consumers (AWS accounts, IAM users, and IAM roles) can connect. Service consumers can create an interface VPC endpoint to connect to your service.

To create an endpoint service configuration, you must first create a Network Load Balancer for your service. For more information, see VPC Endpoint Services in the Amazon Virtual Private Cloud User Guide.

If you set the private DNS name, you must prove that you own the private DNS domain name. For more information, see VPC Endpoint Service Private DNS Name Verification in the Amazon Virtual Private Cloud User Guide.

", "CreateVpcPeeringConnection": "

Requests a VPC peering connection between two VPCs: a requester VPC that you own and an accepter VPC with which to create the connection. The accepter VPC can belong to another AWS account and can be in a different Region to the requester VPC. The requester VPC and accepter VPC cannot have overlapping CIDR blocks.

Limitations and rules apply to a VPC peering connection. For more information, see the limitations section in the VPC Peering Guide.

The owner of the accepter VPC must accept the peering request to activate the peering connection. The VPC peering connection request expires after 7 days, after which it cannot be accepted or rejected.

If you create a VPC peering connection request between VPCs with overlapping CIDR blocks, the VPC peering connection has a status of failed.

", - "CreateVpnConnection": "

Creates a VPN connection between an existing virtual private gateway and a VPN customer gateway. The supported connection type is ipsec.1.

The response includes information that you need to give to your network administrator to configure your customer gateway.

We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

", + "CreateVpnConnection": "

Creates a VPN connection between an existing virtual private gateway or transit gateway and a customer gateway. The supported connection type is ipsec.1.

The response includes information that you need to give to your network administrator to configure your customer gateway.

We strongly recommend that you use HTTPS when calling this operation because the response contains sensitive cryptographic information for configuring your customer gateway device.

If you decide to shut down your VPN connection for any reason and later create a new VPN connection, you must reconfigure your customer gateway with the new information returned from this call.

This is an idempotent operation. If you perform the operation more than once, Amazon EC2 doesn't return an error.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

", "CreateVpnConnectionRoute": "

Creates a static route associated with a VPN connection between an existing virtual private gateway and a VPN customer gateway. The static route allows traffic to be routed from the virtual private gateway to the VPN customer gateway.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

", "CreateVpnGateway": "

Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.

For more information, see AWS Site-to-Site VPN in the AWS Site-to-Site VPN User Guide.

", "DeleteCarrierGateway": "

Deletes a carrier gateway.

If you do not delete the route that contains the carrier gateway as the Target, the route is a blackhole route. For information about how to delete a route, see DeleteRoute.

", @@ -10167,8 +10167,8 @@ "Phase1DHGroupNumbersRequestList": { "base": null, "refs": { - "ModifyVpnTunnelOptionsSpecification$Phase1DHGroupNumbers": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24

", - "VpnTunnelOptionsSpecification$Phase1DHGroupNumbers": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24

" + "ModifyVpnTunnelOptionsSpecification$Phase1DHGroupNumbers": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24

", + "VpnTunnelOptionsSpecification$Phase1DHGroupNumbers": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24

" } }, "Phase1DHGroupNumbersRequestListValue": { @@ -10192,8 +10192,8 @@ "Phase1EncryptionAlgorithmsRequestList": { "base": null, "refs": { - "ModifyVpnTunnelOptionsSpecification$Phase1EncryptionAlgorithms": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: AES128 | AES256

", - "VpnTunnelOptionsSpecification$Phase1EncryptionAlgorithms": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: AES128 | AES256

" + "ModifyVpnTunnelOptionsSpecification$Phase1EncryptionAlgorithms": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16

", + "VpnTunnelOptionsSpecification$Phase1EncryptionAlgorithms": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16

" } }, "Phase1EncryptionAlgorithmsRequestListValue": { @@ -10217,8 +10217,8 @@ "Phase1IntegrityAlgorithmsRequestList": { "base": null, "refs": { - "ModifyVpnTunnelOptionsSpecification$Phase1IntegrityAlgorithms": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: SHA1 | SHA2-256

", - "VpnTunnelOptionsSpecification$Phase1IntegrityAlgorithms": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: SHA1 | SHA2-256

" + "ModifyVpnTunnelOptionsSpecification$Phase1IntegrityAlgorithms": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512

", + "VpnTunnelOptionsSpecification$Phase1IntegrityAlgorithms": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 1 IKE negotiations.

Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512

" } }, "Phase1IntegrityAlgorithmsRequestListValue": { @@ -10242,8 +10242,8 @@ "Phase2DHGroupNumbersRequestList": { "base": null, "refs": { - "ModifyVpnTunnelOptionsSpecification$Phase2DHGroupNumbers": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24

", - "VpnTunnelOptionsSpecification$Phase2DHGroupNumbers": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24

" + "ModifyVpnTunnelOptionsSpecification$Phase2DHGroupNumbers": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24

", + "VpnTunnelOptionsSpecification$Phase2DHGroupNumbers": "

One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24

" } }, "Phase2DHGroupNumbersRequestListValue": { @@ -10267,8 +10267,8 @@ "Phase2EncryptionAlgorithmsRequestList": { "base": null, "refs": { - "ModifyVpnTunnelOptionsSpecification$Phase2EncryptionAlgorithms": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: AES128 | AES256

", - "VpnTunnelOptionsSpecification$Phase2EncryptionAlgorithms": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: AES128 | AES256

" + "ModifyVpnTunnelOptionsSpecification$Phase2EncryptionAlgorithms": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16

", + "VpnTunnelOptionsSpecification$Phase2EncryptionAlgorithms": "

One or more encryption algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16

" } }, "Phase2EncryptionAlgorithmsRequestListValue": { @@ -10292,8 +10292,8 @@ "Phase2IntegrityAlgorithmsRequestList": { "base": null, "refs": { - "ModifyVpnTunnelOptionsSpecification$Phase2IntegrityAlgorithms": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: SHA1 | SHA2-256

", - "VpnTunnelOptionsSpecification$Phase2IntegrityAlgorithms": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: SHA1 | SHA2-256

" + "ModifyVpnTunnelOptionsSpecification$Phase2IntegrityAlgorithms": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512

", + "VpnTunnelOptionsSpecification$Phase2IntegrityAlgorithms": "

One or more integrity algorithms that are permitted for the VPN tunnel for phase 2 IKE negotiations.

Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512

" } }, "Phase2IntegrityAlgorithmsRequestListValue": { @@ -13219,7 +13219,8 @@ "ModifyVpcEndpointServiceConfigurationRequest$PrivateDnsName": "

The private DNS name to assign to the endpoint service.

", "ModifyVpnTunnelCertificateRequest$VpnTunnelOutsideIpAddress": "

The external IP address of the VPN tunnel.

", "ModifyVpnTunnelOptionsRequest$VpnTunnelOutsideIpAddress": "

The external IP address of the VPN tunnel.

", - "ModifyVpnTunnelOptionsSpecification$TunnelInsideCidr": "

The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.

Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following CIDR blocks are reserved and cannot be used:

", + "ModifyVpnTunnelOptionsSpecification$TunnelInsideCidr": "

The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.

Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following CIDR blocks are reserved and cannot be used:

", + "ModifyVpnTunnelOptionsSpecification$TunnelInsideIpv6Cidr": "

The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.

Constraints: A size /126 CIDR block from the local fd00::/8 range.

", "ModifyVpnTunnelOptionsSpecification$PreSharedKey": "

The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and the customer gateway.

Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).

", "MoveAddressToVpcRequest$PublicIp": "

The Elastic IP address.

", "MoveAddressToVpcResult$AllocationId": "

The allocation ID for the Elastic IP address.

", @@ -13676,7 +13677,8 @@ "TransitGatewayVpcAttachment$VpcId": "

The ID of the VPC.

", "TransitGatewayVpcAttachment$VpcOwnerId": "

The ID of the AWS account that owns the VPC.

", "TunnelOption$OutsideIpAddress": "

The external IP address of the VPN tunnel.

", - "TunnelOption$TunnelInsideCidr": "

The range of inside IP addresses for the tunnel.

", + "TunnelOption$TunnelInsideCidr": "

The range of inside IPv4 addresses for the tunnel.

", + "TunnelOption$TunnelInsideIpv6Cidr": "

The range of inside IPv6 addresses for the tunnel.

", "TunnelOption$PreSharedKey": "

The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and the customer gateway.

", "UnassignIpv6AddressesResult$NetworkInterfaceId": "

The ID of the network interface.

", "UnsuccessfulInstanceCreditSpecificationItem$InstanceId": "

The ID of the instance.

", @@ -13765,7 +13767,8 @@ "VpnGateway$AvailabilityZone": "

The Availability Zone where the virtual private gateway was created, if applicable. This field may be empty or not returned.

", "VpnGateway$VpnGatewayId": "

The ID of the virtual private gateway.

", "VpnStaticRoute$DestinationCidrBlock": "

The CIDR block associated with the local subnet of the customer data center.

", - "VpnTunnelOptionsSpecification$TunnelInsideCidr": "

The range of inside IP addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.

Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following CIDR blocks are reserved and cannot be used:

", + "VpnTunnelOptionsSpecification$TunnelInsideCidr": "

The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same virtual private gateway.

Constraints: A size /30 CIDR block from the 169.254.0.0/16 range. The following CIDR blocks are reserved and cannot be used:

", + "VpnTunnelOptionsSpecification$TunnelInsideIpv6Cidr": "

The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks must be unique across all VPN connections that use the same transit gateway.

Constraints: A size /126 CIDR block from the local fd00::/8 range.

", "VpnTunnelOptionsSpecification$PreSharedKey": "

The pre-shared key (PSK) to establish initial authentication between the virtual private gateway and customer gateway.

Constraints: Allowed characters are alphanumeric characters, periods (.), and underscores (_). Must be between 8 and 64 characters in length and cannot start with zero (0).

", "WithdrawByoipCidrRequest$Cidr": "

The address range, in CIDR notation.

", "ZoneIdStringList$member": null, @@ -14868,6 +14871,13 @@ "CreateClientVpnEndpointRequest$TransportProtocol": "

The transport protocol to be used by the VPN session.

Default value: udp

" } }, + "TunnelInsideIpVersion": { + "base": null, + "refs": { + "VpnConnectionOptions$TunnelInsideIpVersion": "

Indicates whether the VPN tunnels process IPv4 or IPv6 traffic.

", + "VpnConnectionOptionsSpecification$TunnelInsideIpVersion": "

Indicate whether the VPN tunnels process IPv4 or IPv6 traffic.

Default: ipv4

" + } + }, "TunnelOption": { "base": "

The VPN tunnel options.

", "refs": { diff --git a/models/apis/fsx/2018-03-01/api-2.json b/models/apis/fsx/2018-03-01/api-2.json index 579253415a..f10e4a43ab 100644 --- a/models/apis/fsx/2018-03-01/api-2.json +++ b/models/apis/fsx/2018-03-01/api-2.json @@ -341,7 +341,7 @@ }, "AutomaticBackupRetentionDays":{ "type":"integer", - "max":35, + "max":90, "min":0 }, "Backup":{ @@ -396,6 +396,7 @@ "enum":[ "AVAILABLE", "CREATING", + "TRANSFERRING", "DELETED", "FAILED" ] @@ -545,7 +546,8 @@ "PerUnitStorageThroughput":{"shape":"PerUnitStorageThroughput"}, "DailyAutomaticBackupStartTime":{"shape":"DailyTime"}, "AutomaticBackupRetentionDays":{"shape":"AutomaticBackupRetentionDays"}, - "CopyTagsToBackups":{"shape":"Flag"} + "CopyTagsToBackups":{"shape":"Flag"}, + "DriveCacheType":{"shape":"DriveCacheType"} } }, "CreateFileSystemRequest":{ @@ -894,6 +896,13 @@ "max":2, "min":1 }, + "DriveCacheType":{ + "type":"string", + "enum":[ + "NONE", + "READ" + ] + }, "EndTime":{"type":"timestamp"}, "ErrorMessage":{ "type":"string", @@ -1115,7 +1124,8 @@ "MountName":{"shape":"LustreFileSystemMountName"}, "DailyAutomaticBackupStartTime":{"shape":"DailyTime"}, "AutomaticBackupRetentionDays":{"shape":"AutomaticBackupRetentionDays"}, - "CopyTagsToBackups":{"shape":"Flag"} + "CopyTagsToBackups":{"shape":"Flag"}, + "DriveCacheType":{"shape":"DriveCacheType"} } }, "LustreFileSystemMountName":{ @@ -1185,7 +1195,7 @@ "PerUnitStorageThroughput":{ "type":"integer", "max":200, - "min":50 + "min":12 }, "ProgressPercent":{ "type":"integer", diff --git a/models/apis/fsx/2018-03-01/docs-2.json b/models/apis/fsx/2018-03-01/docs-2.json index b4cc6ba05c..1346069b5c 100644 --- a/models/apis/fsx/2018-03-01/docs-2.json +++ b/models/apis/fsx/2018-03-01/docs-2.json @@ -3,7 +3,7 @@ "service": "

Amazon FSx is a fully managed service that makes it easy for storage and application administrators to launch and use shared file storage.

", "operations": { "CancelDataRepositoryTask": "

Cancels an existing Amazon FSx for Lustre data repository task if that task is in either the PENDING or EXECUTING state. When you cancel a task, Amazon FSx does the following.

", - "CreateBackup": "

Creates a backup of an existing Amazon FSx file system. Creating regular backups for your file system is a best practice, enabling you to restore a file system from a backup if an issue arises with the original file system.

For Amazon FSx for Lustre file systems, you can create a backup only for file systems with the following configuration:

For more information about backing up Amazon FSx for Lustre file systems, see Working with FSx for Lustre backups.

For more information about backing up Amazon FSx for Lustre file systems, see Working with FSx for Windows backups.

If a backup with the specified client request token exists, and the parameters match, this operation returns the description of the existing backup. If a backup specified client request token exists, and the parameters don't match, this operation returns IncompatibleParameterError. If a backup with the specified client request token doesn't exist, CreateBackup does the following:

By using the idempotent operation, you can retry a CreateBackup operation without the risk of creating an extra backup. This approach can be useful when an initial call fails in a way that makes it unclear whether a backup was created. If you use the same client request token and the initial call created a backup, the operation returns a successful result because all the parameters are the same.

The CreateBackup operation returns while the backup's lifecycle state is still CREATING. You can check the backup creation status by calling the DescribeBackups operation, which returns the backup state along with other information.

", + "CreateBackup": "

Creates a backup of an existing Amazon FSx file system. Creating regular backups for your file system is a best practice, enabling you to restore a file system from a backup if an issue arises with the original file system.

For Amazon FSx for Lustre file systems, you can create a backup only for file systems with the following configuration:

For more information about backing up Amazon FSx for Lustre file systems, see Working with FSx for Lustre backups.

For more information about backing up Amazon FSx for Lustre file systems, see Working with FSx for Windows backups.

If a backup with the specified client request token exists, and the parameters match, this operation returns the description of the existing backup. If a backup specified client request token exists, and the parameters don't match, this operation returns IncompatibleParameterError. If a backup with the specified client request token doesn't exist, CreateBackup does the following:

By using the idempotent operation, you can retry a CreateBackup operation without the risk of creating an extra backup. This approach can be useful when an initial call fails in a way that makes it unclear whether a backup was created. If you use the same client request token and the initial call created a backup, the operation returns a successful result because all the parameters are the same.

The CreateBackup operation returns while the backup's lifecycle state is still CREATING. You can check the backup creation status by calling the DescribeBackups operation, which returns the backup state along with other information.

", "CreateDataRepositoryTask": "

Creates an Amazon FSx for Lustre data repository task. You use data repository tasks to perform bulk operations between your Amazon FSx file system and its linked data repository. An example of a data repository task is exporting any data and metadata changes, including POSIX metadata, to files, directories, and symbolic links (symlinks) from your FSx file system to its linked data repository. A CreateDataRepositoryTask operation will fail if a data repository is not linked to the FSx file system. To learn more about data repository tasks, see Using Data Repository Tasks. To learn more about linking a data repository to your file system, see Setting the Export Prefix.

", "CreateFileSystem": "

Creates a new, empty Amazon FSx file system.

If a file system with the specified client request token exists and the parameters match, CreateFileSystem returns the description of the existing file system. If a file system specified client request token exists and the parameters don't match, this call returns IncompatibleParameterError. If a file system with the specified client request token doesn't exist, CreateFileSystem does the following:

This operation requires a client request token in the request that Amazon FSx uses to ensure idempotent creation. This means that calling the operation multiple times with the same client request token has no effect. By using the idempotent operation, you can retry a CreateFileSystem operation without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives success as long as the parameters are the same.

The CreateFileSystem call returns while the file system's lifecycle state is still CREATING. You can check the file-system creation status by calling the DescribeFileSystems operation, which returns the file system state along with other information.

", "CreateFileSystemFromBackup": "

Creates a new Amazon FSx file system from an existing Amazon FSx backup.

If a file system with the specified client request token exists and the parameters match, this operation returns the description of the file system. If a client request token specified by the file system exists and the parameters don't match, this call returns IncompatibleParameterError. If a file system with the specified client request token doesn't exist, this operation does the following:

Parameters like Active Directory, default share name, automatic backup, and backup settings default to the parameters of the file system that was backed up, unless overridden. You can explicitly supply other settings.

By using the idempotent operation, you can retry a CreateFileSystemFromBackup call without the risk of creating an extra file system. This approach can be useful when an initial call fails in a way that makes it unclear whether a file system was created. Examples are if a transport level timeout occurred, or your connection was reset. If you use the same client request token and the initial call created a file system, the client receives success as long as the parameters are the same.

The CreateFileSystemFromBackup call returns while the file system's lifecycle state is still CREATING. You can check the file-system creation status by calling the DescribeFileSystems operation, which returns the file system state along with other information.

", @@ -86,20 +86,20 @@ "AutoImportPolicyType": { "base": null, "refs": { - "CreateFileSystemLustreConfiguration$AutoImportPolicy": "

(Optional) When you create your file system, your existing S3 objects appear as file and directory listings. Use this property to choose how Amazon FSx keeps your file and directory listings up to date as you add or modify objects in your linked S3 bucket. AutoImportPolicy can have the following values:

For more information, see Automatically import updates from your S3 bucket.

", - "DataRepositoryConfiguration$AutoImportPolicy": "

Describes the file system's linked S3 data repository's AutoImportPolicy. The AutoImportPolicy configures how Amazon FSx keeps your file and directory listings up to date as you add or modify objects in your linked S3 bucket. AutoImportPolicy can have the following values:

For more information, see Automatically import updates from your S3 bucket.

", - "UpdateFileSystemLustreConfiguration$AutoImportPolicy": "

(Optional) When you create your file system, your existing S3 objects appear as file and directory listings. Use this property to choose how Amazon FSx keeps your file and directory listing up to date as you add or modify objects in your linked S3 bucket. AutoImportPolicy can have the following values:

For more information, see Automatically import updates from your S3 bucket.

" + "CreateFileSystemLustreConfiguration$AutoImportPolicy": "

(Optional) Use this property to configure the AutoImport feature on the file system's linked Amazon S3 data repository. You use AutoImport to update the contents of your FSx for Lustre file system automatically with changes that occur in the linked S3 data repository. AutoImportPolicy can have the following values:

For more information, see Automatically import updates from your S3 bucket.

", + "DataRepositoryConfiguration$AutoImportPolicy": "

Describes the file system's linked S3 data repository's AutoImportPolicy. The AutoImportPolicy configures how your FSx for Lustre file system automatically updates its contents with changes that occur in the linked S3 data repository. AutoImportPolicy can have the following values:

For more information, see Automatically import updates from your S3 bucket.

", + "UpdateFileSystemLustreConfiguration$AutoImportPolicy": "

(Optional) Use this property to configure the AutoImport feature on the file system's linked Amazon S3 data repository. You use AutoImport to update the contents of your FSx for Lustre file system automatically with changes that occur in the linked S3 data repository. AutoImportPolicy can have the following values:

For more information, see Automatically import updates from your S3 bucket.

" } }, "AutomaticBackupRetentionDays": { - "base": "

The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 35 days. The default is 0.

", + "base": "

The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. The default is 0.

", "refs": { "CreateFileSystemLustreConfiguration$AutomaticBackupRetentionDays": null, - "CreateFileSystemWindowsConfiguration$AutomaticBackupRetentionDays": "

The number of days to retain automatic backups. The default is to retain backups for 7 days. Setting this value to 0 disables the creation of automatic backups. The maximum retention period for backups is 35 days.

", + "CreateFileSystemWindowsConfiguration$AutomaticBackupRetentionDays": "

The number of days to retain automatic backups. The default is to retain backups for 7 days. Setting this value to 0 disables the creation of automatic backups. The maximum retention period for backups is 90 days.

", "LustreFileSystemConfiguration$AutomaticBackupRetentionDays": null, "UpdateFileSystemLustreConfiguration$AutomaticBackupRetentionDays": null, - "UpdateFileSystemWindowsConfiguration$AutomaticBackupRetentionDays": "

The number of days to retain automatic daily backups. Setting this to zero (0) disables automatic daily backups. You can retain automatic daily backups for a maximum of 35 days. For more information, see Working with Automatic Daily Backups.

", - "WindowsFileSystemConfiguration$AutomaticBackupRetentionDays": "

The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 35 days.

" + "UpdateFileSystemWindowsConfiguration$AutomaticBackupRetentionDays": "

The number of days to retain automatic daily backups. Setting this to zero (0) disables automatic daily backups. You can retain automatic daily backups for a maximum of 90 days. For more information, see Working with Automatic Daily Backups.

", + "WindowsFileSystemConfiguration$AutomaticBackupRetentionDays": "

The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days.

" } }, "Backup": { @@ -185,7 +185,7 @@ "ClientRequestToken": { "base": "

(Optional) An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.

", "refs": { - "CreateBackupRequest$ClientRequestToken": "

(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.

", + "CreateBackupRequest$ClientRequestToken": "

A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.

", "CreateDataRepositoryTaskRequest$ClientRequestToken": null, "CreateFileSystemFromBackupRequest$ClientRequestToken": "

A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.

", "CreateFileSystemRequest$ClientRequestToken": "

A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK.

", @@ -502,6 +502,13 @@ "SelfManagedActiveDirectoryConfigurationUpdates$DnsIps": "

A list of up to two IP addresses of DNS servers or domain controllers in the self-managed AD directory.

" } }, + "DriveCacheType": { + "base": null, + "refs": { + "CreateFileSystemLustreConfiguration$DriveCacheType": "

The type of drive cache used by PERSISTENT_1 file systems that are provisioned with HDD storage devices. This parameter is required when storage type is HDD. Set to READ, improve the performance for frequently accessed files and allows 20% of the total storage capacity of the file system to be cached.

This parameter is required when StorageType is set to HDD.

", + "LustreFileSystemConfiguration$DriveCacheType": "

The type of drive cache used by PERSISTENT_1 file systems that are provisioned with HDD storage devices. This parameter is required when storage type is HDD. Set to READ, improve the performance for frequently accessed files and allows 20% of the total storage capacity of the file system to be cached.

This parameter is required when StorageType is set to HDD.

" + } + }, "EndTime": { "base": null, "refs": { @@ -660,7 +667,7 @@ "base": null, "refs": { "CompletionReport$Enabled": "

Set Enabled to True to generate a CompletionReport when the task completes. If set to true, then you need to provide a report Scope, Path, and Format. Set Enabled to False if you do not want a CompletionReport generated when the task completes.

", - "CreateFileSystemLustreConfiguration$CopyTagsToBackups": "

(Optional) Not available to use with file systems that are linked to a data repository. A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false. If it's set to true, all file system tags are copied to all automatic and user-initiated backups when the user doesn't specify any backup-specific tags. If this value is true, and you specify one or more backup tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.

For more information, see Working with backups.

", + "CreateFileSystemLustreConfiguration$CopyTagsToBackups": "

A boolean flag indicating whether tags for the file system should be copied to backups. This value defaults to false. If it's set to true, all tags for the file system are copied to all automatic and user-initiated backups where the user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.

For more information, see Working with backups.

", "CreateFileSystemWindowsConfiguration$CopyTagsToBackups": "

A boolean flag indicating whether tags for the file system should be copied to backups. This value defaults to false. If it's set to true, all tags for the file system are copied to all automatic and user-initiated backups where the user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.

", "DeleteFileSystemLustreConfiguration$SkipFinalBackup": "

Set SkipFinalBackup to false if you want to take a final backup of the file system you are deleting. By default, Amazon FSx will not take a final backup on your behalf when the DeleteFileSystem operation is invoked. (Default = true)

", "DeleteFileSystemWindowsConfiguration$SkipFinalBackup": "

By default, Amazon FSx for Windows takes a final backup on your behalf when the DeleteFileSystem operation is invoked. Doing this helps protect you from data loss, and we highly recommend taking the final backup. If you want to skip this backup, use this flag to do so.

", @@ -823,8 +830,8 @@ "PerUnitStorageThroughput": { "base": null, "refs": { - "CreateFileSystemLustreConfiguration$PerUnitStorageThroughput": "

Required for the PERSISTENT_1 deployment type, describes the amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB. File system throughput capacity is calculated by multiplying file system storage capacity (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4 TiB file system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 117 MB/s of file system throughput. You pay for the amount of throughput that you provision.

Valid values are 50, 100, 200.

", - "LustreFileSystemConfiguration$PerUnitStorageThroughput": "

Per unit storage throughput represents the megabytes per second of read or write throughput per 1 tebibyte of storage provisioned. File system throughput capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput (MB/s/TiB). This option is only valid for PERSISTENT_1 deployment types. Valid values are 50, 100, 200.

" + "CreateFileSystemLustreConfiguration$PerUnitStorageThroughput": "

Required for the PERSISTENT_1 deployment type, describes the amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB. File system throughput capacity is calculated by multiplying file system storage capacity (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4 TiB file system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 117 MB/s of file system throughput. You pay for the amount of throughput that you provision.

Valid values for SSD storage: 50, 100, 200. Valid values for HDD storage: 12, 40.

", + "LustreFileSystemConfiguration$PerUnitStorageThroughput": "

Per unit storage throughput represents the megabytes per second of read or write throughput per 1 tebibyte of storage provisioned. File system throughput capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput (MB/s/TiB). This option is only valid for PERSISTENT_1 deployment types.

Valid values for SSD storage: 50, 100, 200. Valid values for HDD storage: 12, 40.

" } }, "ProgressPercent": { @@ -934,7 +941,7 @@ "StorageCapacity": { "base": "

The storage capacity for your Amazon FSx file system, in gibibytes.

", "refs": { - "CreateFileSystemRequest$StorageCapacity": "

Sets the storage capacity of the file system that you're creating.

For Lustre file systems:

For Windows file systems:

", + "CreateFileSystemRequest$StorageCapacity": "

Sets the storage capacity of the file system that you're creating.

For Lustre file systems:

For Windows file systems:

", "FileSystem$StorageCapacity": "

The storage capacity of the file system in gigabytes (GB).

", "UpdateFileSystemRequest$StorageCapacity": "

Use this parameter to increase the storage capacity of an Amazon FSx for Windows File Server file system. Specifies the storage capacity target value, GiB, for the file system you're updating. The storage capacity target value must be at least 10 percent (%) greater than the current storage capacity value. In order to increase storage capacity, the file system needs to have at least 16 MB/s of throughput capacity. You cannot make a storage capacity increase request if there is an existing storage capacity increase request in progress. For more information, see Managing Storage Capacity.

" } @@ -1009,7 +1016,7 @@ "base": "

A list of Tag values, with a maximum of 50 elements.

", "refs": { "Backup$Tags": "

Tags associated with a particular file system.

", - "CreateBackupRequest$Tags": "

(Optional) The tags to apply to the backup at backup creation. The key value of the Name tag appears in the console as the backup name. If you have set CopyTagsToBackups to true, and you specify one or more tags using the CreateBackup action, no existing file system tags are copied from the file system to the backup.

", + "CreateBackupRequest$Tags": "

The tags to apply to the backup at backup creation. The key value of the Name tag appears in the console as the backup name. If you have set CopyTagsToBackups to true, and you specify one or more tags using the CreateBackup action, no existing tags on the file system are copied from the file system to the backup.

", "CreateDataRepositoryTaskRequest$Tags": null, "CreateFileSystemFromBackupRequest$Tags": "

The tags to be applied to the file system at file system creation. The key value of the Name tag appears in the console as the file system name.

", "CreateFileSystemRequest$Tags": "

The tags to apply to the file system being created. The key value of the Name tag appears in the console as the file system name.

", @@ -1090,10 +1097,10 @@ "WeeklyTime": { "base": "

A recurring weekly time, in the format D:HH:MM.

D is the day of the week, for which 1 represents Monday and 7 represents Sunday. For further details, see the ISO-8601 spec as described on Wikipedia.

HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour.

For example, 1:05:00 specifies maintenance at 5 AM Monday.

", "refs": { - "CreateFileSystemLustreConfiguration$WeeklyMaintenanceStartTime": "

(Optional) The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

", + "CreateFileSystemLustreConfiguration$WeeklyMaintenanceStartTime": "

The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

", "CreateFileSystemWindowsConfiguration$WeeklyMaintenanceStartTime": "

The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

", "LustreFileSystemConfiguration$WeeklyMaintenanceStartTime": "

The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

", - "UpdateFileSystemLustreConfiguration$WeeklyMaintenanceStartTime": "

(Optional) The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

", + "UpdateFileSystemLustreConfiguration$WeeklyMaintenanceStartTime": "

The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

", "UpdateFileSystemWindowsConfiguration$WeeklyMaintenanceStartTime": "

The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. Where d is the weekday number, from 1 through 7, with 1 = Monday and 7 = Sunday.

", "WindowsFileSystemConfiguration$WeeklyMaintenanceStartTime": "

The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

" } diff --git a/models/apis/iot/2015-05-28/api-2.json b/models/apis/iot/2015-05-28/api-2.json index 6312d73cd0..bab61fc71f 100644 --- a/models/apis/iot/2015-05-28/api-2.json +++ b/models/apis/iot/2015-05-28/api-2.json @@ -254,6 +254,22 @@ {"shape":"ConflictingResourceUpdateException"} ] }, + "CreateAuditSuppression":{ + "name":"CreateAuditSuppression", + "http":{ + "method":"POST", + "requestUri":"/audit/suppressions/create" + }, + "input":{"shape":"CreateAuditSuppressionRequest"}, + "output":{"shape":"CreateAuditSuppressionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceAlreadyExistsException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"}, + {"shape":"LimitExceededException"} + ] + }, "CreateAuthorizer":{ "name":"CreateAuthorizer", "http":{ @@ -678,6 +694,20 @@ {"shape":"InternalFailureException"} ] }, + "DeleteAuditSuppression":{ + "name":"DeleteAuditSuppression", + "http":{ + "method":"POST", + "requestUri":"/audit/suppressions/delete" + }, + "input":{"shape":"DeleteAuditSuppressionRequest"}, + "output":{"shape":"DeleteAuditSuppressionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "DeleteAuthorizer":{ "name":"DeleteAuthorizer", "http":{ @@ -1160,6 +1190,21 @@ {"shape":"InternalFailureException"} ] }, + "DescribeAuditSuppression":{ + "name":"DescribeAuditSuppression", + "http":{ + "method":"POST", + "requestUri":"/audit/suppressions/describe" + }, + "input":{"shape":"DescribeAuditSuppressionRequest"}, + "output":{"shape":"DescribeAuditSuppressionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "DescribeAuditTask":{ "name":"DescribeAuditTask", "http":{ @@ -1945,6 +1990,20 @@ {"shape":"InternalFailureException"} ] }, + "ListAuditSuppressions":{ + "name":"ListAuditSuppressions", + "http":{ + "method":"POST", + "requestUri":"/audit/suppressions/list" + }, + "input":{"shape":"ListAuditSuppressionsRequest"}, + "output":{"shape":"ListAuditSuppressionsResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "ListAuditTasks":{ "name":"ListAuditTasks", "http":{ @@ -3005,6 +3064,21 @@ {"shape":"InternalFailureException"} ] }, + "UpdateAuditSuppression":{ + "name":"UpdateAuditSuppression", + "http":{ + "method":"PATCH", + "requestUri":"/audit/suppressions/update" + }, + "input":{"shape":"UpdateAuditSuppressionRequest"}, + "output":{"shape":"UpdateAuditSuppressionResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalFailureException"} + ] + }, "UpdateAuthorizer":{ "name":"UpdateAuthorizer", "http":{ @@ -3746,6 +3820,7 @@ "checkCompliant":{"shape":"CheckCompliant"}, "totalResourcesCount":{"shape":"TotalResourcesCount"}, "nonCompliantResourcesCount":{"shape":"NonCompliantResourcesCount"}, + "suppressedNonCompliantResourcesCount":{"shape":"SuppressedNonCompliantResourcesCount"}, "errorCode":{"shape":"ErrorCode"}, "message":{"shape":"ErrorMessage"} } @@ -3772,6 +3847,11 @@ "key":{"shape":"AuditCheckName"}, "value":{"shape":"ReasonForNonComplianceCodes"} }, + "AuditDescription":{ + "type":"string", + "max":1000, + "pattern":"[\\p{Graph}\\x20]*" + }, "AuditDetails":{ "type":"map", "key":{"shape":"AuditCheckName"}, @@ -3789,7 +3869,8 @@ "nonCompliantResource":{"shape":"NonCompliantResource"}, "relatedResources":{"shape":"RelatedResources"}, "reasonForNonCompliance":{"shape":"ReasonForNonCompliance"}, - "reasonForNonComplianceCode":{"shape":"ReasonForNonComplianceCode"} + "reasonForNonComplianceCode":{"shape":"ReasonForNonComplianceCode"}, + "isSuppressed":{"shape":"IsSuppressed"} } }, "AuditFindingSeverity":{ @@ -3900,6 +3981,24 @@ "type":"string", "enum":["SNS"] }, + "AuditSuppression":{ + "type":"structure", + "required":[ + "checkName", + "resourceIdentifier" + ], + "members":{ + "checkName":{"shape":"AuditCheckName"}, + "resourceIdentifier":{"shape":"ResourceIdentifier"}, + "expirationDate":{"shape":"Timestamp"}, + "suppressIndefinitely":{"shape":"SuppressIndefinitely"}, + "description":{"shape":"AuditDescription"} + } + }, + "AuditSuppressionList":{ + "type":"list", + "member":{"shape":"AuditSuppression"} + }, "AuditTaskId":{ "type":"string", "max":40, @@ -4619,6 +4718,30 @@ "min":1 }, "Count":{"type":"integer"}, + "CreateAuditSuppressionRequest":{ + "type":"structure", + "required":[ + "checkName", + "resourceIdentifier", + "clientRequestToken" + ], + "members":{ + "checkName":{"shape":"AuditCheckName"}, + "resourceIdentifier":{"shape":"ResourceIdentifier"}, + "expirationDate":{"shape":"Timestamp"}, + "suppressIndefinitely":{"shape":"SuppressIndefinitely"}, + "description":{"shape":"AuditDescription"}, + "clientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "CreateAuditSuppressionResponse":{ + "type":"structure", + "members":{ + } + }, "CreateAuthorizerRequest":{ "type":"structure", "required":[ @@ -5272,6 +5395,22 @@ }, "DeleteAdditionalMetricsToRetain":{"type":"boolean"}, "DeleteAlertTargets":{"type":"boolean"}, + "DeleteAuditSuppressionRequest":{ + "type":"structure", + "required":[ + "checkName", + "resourceIdentifier" + ], + "members":{ + "checkName":{"shape":"AuditCheckName"}, + "resourceIdentifier":{"shape":"ResourceIdentifier"} + } + }, + "DeleteAuditSuppressionResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteAuthorizerRequest":{ "type":"structure", "required":["authorizerName"], @@ -5825,6 +5964,27 @@ "actionsDefinition":{"shape":"MitigationActionList"} } }, + "DescribeAuditSuppressionRequest":{ + "type":"structure", + "required":[ + "checkName", + "resourceIdentifier" + ], + "members":{ + "checkName":{"shape":"AuditCheckName"}, + "resourceIdentifier":{"shape":"ResourceIdentifier"} + } + }, + "DescribeAuditSuppressionResponse":{ + "type":"structure", + "members":{ + "checkName":{"shape":"AuditCheckName"}, + "resourceIdentifier":{"shape":"ResourceIdentifier"}, + "expirationDate":{"shape":"Timestamp"}, + "suppressIndefinitely":{"shape":"SuppressIndefinitely"}, + "description":{"shape":"AuditDescription"} + } + }, "DescribeAuditTaskRequest":{ "type":"structure", "required":["taskId"], @@ -7258,6 +7418,7 @@ "IsAuthenticated":{"type":"boolean"}, "IsDefaultVersion":{"type":"boolean"}, "IsDisabled":{"type":"boolean"}, + "IsSuppressed":{"type":"boolean"}, "Job":{ "type":"structure", "members":{ @@ -7555,7 +7716,8 @@ "maxResults":{"shape":"MaxResults"}, "nextToken":{"shape":"NextToken"}, "startTime":{"shape":"Timestamp"}, - "endTime":{"shape":"Timestamp"} + "endTime":{"shape":"Timestamp"}, + "listSuppressedFindings":{"shape":"ListSuppressedFindings"} } }, "ListAuditFindingsResponse":{ @@ -7657,6 +7819,23 @@ "nextToken":{"shape":"NextToken"} } }, + "ListAuditSuppressionsRequest":{ + "type":"structure", + "members":{ + "checkName":{"shape":"AuditCheckName"}, + "resourceIdentifier":{"shape":"ResourceIdentifier"}, + "ascendingOrder":{"shape":"AscendingOrder"}, + "nextToken":{"shape":"NextToken"}, + "maxResults":{"shape":"MaxResults"} + } + }, + "ListAuditSuppressionsResponse":{ + "type":"structure", + "members":{ + "suppressions":{"shape":"AuditSuppressionList"}, + "nextToken":{"shape":"NextToken"} + } + }, "ListAuditTasksRequest":{ "type":"structure", "required":[ @@ -8433,6 +8612,7 @@ "nextToken":{"shape":"NextToken"} } }, + "ListSuppressedFindings":{"type":"boolean"}, "ListTagsForResourceRequest":{ "type":"structure", "required":["resourceArn"], @@ -10402,6 +10582,8 @@ "SucceededThings":{"type":"integer"}, "Sum":{"type":"double"}, "SumOfSquares":{"type":"double"}, + "SuppressIndefinitely":{"type":"boolean"}, + "SuppressedNonCompliantResourcesCount":{"type":"long"}, "TableName":{"type":"string"}, "Tag":{ "type":"structure", @@ -10991,6 +11173,25 @@ "members":{ } }, + "UpdateAuditSuppressionRequest":{ + "type":"structure", + "required":[ + "checkName", + "resourceIdentifier" + ], + "members":{ + "checkName":{"shape":"AuditCheckName"}, + "resourceIdentifier":{"shape":"ResourceIdentifier"}, + "expirationDate":{"shape":"Timestamp"}, + "suppressIndefinitely":{"shape":"SuppressIndefinitely"}, + "description":{"shape":"AuditDescription"} + } + }, + "UpdateAuditSuppressionResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateAuthorizerRequest":{ "type":"structure", "required":["authorizerName"], diff --git a/models/apis/iot/2015-05-28/docs-2.json b/models/apis/iot/2015-05-28/docs-2.json index d865fa1b6a..faa00e17ef 100644 --- a/models/apis/iot/2015-05-28/docs-2.json +++ b/models/apis/iot/2015-05-28/docs-2.json @@ -17,6 +17,7 @@ "CancelJobExecution": "

Cancels the execution of a job for a given thing.

", "ClearDefaultAuthorizer": "

Clears the default authorizer.

", "ConfirmTopicRuleDestination": "

Confirms a topic rule destination. When you create a rule requiring a destination, AWS IoT sends a confirmation message to the endpoint or base address you specify. The message includes a token which you pass back when calling ConfirmTopicRuleDestination to confirm that you own or have access to the endpoint.

", + "CreateAuditSuppression": "

Creates a Device Defender audit suppression.

", "CreateAuthorizer": "

Creates an authorizer.

", "CreateBillingGroup": "

Creates a billing group.

", "CreateCertificateFromCsr": "

Creates an X.509 certificate using the specified certificate signing request.

Note: The CSR must include a public key that is either an RSA key with a length of at least 2048 bits or an ECC key from NIST P-256 or NIST P-384 curves.

Note: Reusing the same certificate signing request (CSR) results in a distinct certificate.

You can create multiple certificates in a batch by creating a directory, copying multiple .csr files into that directory, and then specifying that directory on the command line. The following commands show how to create a batch of certificates given a batch of CSRs.

Assuming a set of CSRs are located inside of the directory my-csr-directory:

On Linux and OS X, the command is:

$ ls my-csr-directory/ | xargs -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

This command lists all of the CSRs in my-csr-directory and pipes each CSR file name to the aws iot create-certificate-from-csr AWS CLI command to create a certificate for the corresponding CSR.

The aws iot create-certificate-from-csr part of the command can also be run in parallel to speed up the certificate creation process:

$ ls my-csr-directory/ | xargs -P 10 -I {} aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/{}

On Windows PowerShell, the command to create certificates for all CSRs in my-csr-directory is:

> ls -Name my-csr-directory | %{aws iot create-certificate-from-csr --certificate-signing-request file://my-csr-directory/$_}

On a Windows command prompt, the command to create certificates for all CSRs in my-csr-directory is:

> forfiles /p my-csr-directory /c \"cmd /c aws iot create-certificate-from-csr --certificate-signing-request file://@path\"

", @@ -25,7 +26,7 @@ "CreateDynamicThingGroup": "

Creates a dynamic thing group.

", "CreateJob": "

Creates a job.

", "CreateKeysAndCertificate": "

Creates a 2048-bit RSA key pair and issues an X.509 certificate using the issued public key. You can also call CreateKeysAndCertificate over MQTT from a device, for more information, see Provisioning MQTT API.

Note This is the only time AWS IoT issues the private key for this certificate, so it is important to keep it in a secure location.

", - "CreateMitigationAction": "

Defines an action that can be applied to audit findings by using StartAuditMitigationActionsTask. Each mitigation action can apply only one type of change.

", + "CreateMitigationAction": "

Defines an action that can be applied to audit findings by using StartAuditMitigationActionsTask. Only certain types of mitigation actions can be applied to specific check names. For more information, see Mitigation actions. Each mitigation action can apply only one type of change.

", "CreateOTAUpdate": "

Creates an AWS IoT OTAUpdate on a target group of things or groups.

", "CreatePolicy": "

Creates an AWS IoT policy.

The created policy is the default version for the policy. This operation creates a policy version with a version identifier of 1 and sets 1 as the policy's default version.

", "CreatePolicyVersion": "

Creates a new version of the specified AWS IoT policy. To update a policy, create a new policy version. A managed policy can have up to five versions. If the policy has five versions, you must use DeletePolicyVersion to delete an existing version before you create a new one.

Optionally, you can set the new version as the policy's default version. The default version is the operative version (that is, the version that is in effect for the certificates to which the policy is attached).

", @@ -42,6 +43,7 @@ "CreateTopicRule": "

Creates a rule. Creating rules is an administrator-level action. Any user who has permission to create rules will be able to access data processed by the rule.

", "CreateTopicRuleDestination": "

Creates a topic rule destination. The destination must be confirmed prior to use.

", "DeleteAccountAuditConfiguration": "

Restores the default settings for Device Defender audits for this account. Any configuration data you entered is deleted and all audit checks are reset to disabled.

", + "DeleteAuditSuppression": "

Deletes a Device Defender audit suppression.

", "DeleteAuthorizer": "

Deletes an authorizer.

", "DeleteBillingGroup": "

Deletes the billing group.

", "DeleteCACertificate": "

Deletes a registered CA certificate.

", @@ -72,6 +74,7 @@ "DescribeAccountAuditConfiguration": "

Gets information about the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled.

", "DescribeAuditFinding": "

Gets information about a single audit finding. Properties include the reason for noncompliance, the severity of the issue, and when the audit that returned the finding was started.

", "DescribeAuditMitigationActionsTask": "

Gets information about an audit mitigation task that is used to apply mitigation actions to a set of audit findings. Properties include the actions being applied, the audit checks to which they're being applied, the task status, and aggregated task statistics.

", + "DescribeAuditSuppression": "

Gets information about a Device Defender audit suppression.

", "DescribeAuditTask": "

Gets information about a Device Defender audit.

", "DescribeAuthorizer": "

Describes an authorizer.

", "DescribeBillingGroup": "

Returns information about a billing group.

", @@ -121,6 +124,7 @@ "ListAuditFindings": "

Lists the findings (results) of a Device Defender audit or of the audits performed during a specified time period. (Findings are retained for 180 days.)

", "ListAuditMitigationActionsExecutions": "

Gets the status of audit mitigation action tasks that were executed.

", "ListAuditMitigationActionsTasks": "

Gets a list of audit mitigation action tasks that match the specified filters.

", + "ListAuditSuppressions": "

Lists your Device Defender audit listings.

", "ListAuditTasks": "

Lists the Device Defender audits that have been performed during a given time period.

", "ListAuthorizers": "

Lists the authorizers registered in your account.

", "ListBillingGroups": "

Lists the billing groups you have created.

", @@ -157,7 +161,7 @@ "ListThingRegistrationTaskReports": "

Information about the thing registration tasks.

", "ListThingRegistrationTasks": "

List bulk thing provisioning tasks.

", "ListThingTypes": "

Lists the existing thing types.

", - "ListThings": "

Lists your things. Use the attributeName and attributeValue parameters to filter your things. For example, calling ListThings with attributeName=Color and attributeValue=Red retrieves all things in the registry that contain an attribute Color with the value Red.

", + "ListThings": "

Lists your things. Use the attributeName and attributeValue parameters to filter your things. For example, calling ListThings with attributeName=Color and attributeValue=Red retrieves all things in the registry that contain an attribute Color with the value Red.

You will not be charged for calling this API if an Access denied error is returned. You will also not be charged if no attributes or pagination token was provided in request and no pagination token and no results were returned.

", "ListThingsInBillingGroup": "

Lists the things you have added to the given billing group.

", "ListThingsInThingGroup": "

Lists the things in the specified group.

", "ListTopicRuleDestinations": "

Lists all the topic rule destinations in your AWS account.

", @@ -188,10 +192,11 @@ "TransferCertificate": "

Transfers the specified certificate to the specified AWS account.

You can cancel the transfer until it is acknowledged by the recipient.

No notification is sent to the transfer destination's account. It is up to the caller to notify the transfer target.

The certificate being transferred must not be in the ACTIVE state. You can use the UpdateCertificate API to deactivate it.

The certificate must not have any policies attached to it. You can use the DetachPrincipalPolicy API to detach them.

", "UntagResource": "

Removes the given tags (metadata) from the resource.

", "UpdateAccountAuditConfiguration": "

Configures or reconfigures the Device Defender audit settings for this account. Settings include how audit notifications are sent and which audit checks are enabled or disabled.

", + "UpdateAuditSuppression": "

Updates a Device Defender audit suppression.

", "UpdateAuthorizer": "

Updates an authorizer.

", "UpdateBillingGroup": "

Updates information about the billing group.

", "UpdateCACertificate": "

Updates a registered CA certificate.

", - "UpdateCertificate": "

Updates the status of the specified certificate. This operation is idempotent.

Moving a certificate from the ACTIVE state (including REVOKED) will not disconnect currently connected devices, but these devices will be unable to reconnect.

The ACTIVE state is required to authenticate devices connecting to AWS IoT using a certificate.

", + "UpdateCertificate": "

Updates the status of the specified certificate. This operation is idempotent.

Certificates must be in the ACTIVE state to authenticate devices that use a certificate to connect to AWS IoT.

Within a few minutes of updating a certificate from the ACTIVE state to any other state, AWS IoT disconnects all devices that used that certificate to connect. Devices cannot use a certificate that is not in the ACTIVE state to reconnect.

", "UpdateDimension": "

Updates the definition for a dimension. You cannot change the type of a dimension after it is created (you can delete it and re-create it).

", "UpdateDomainConfiguration": "

Updates values stored in the domain configuration. Domain configurations for default endpoints can't be updated.

The domain configuration feature is in public preview and is subject to change.

", "UpdateDynamicThingGroup": "

Updates a dynamic thing group.

", @@ -408,6 +413,7 @@ "AscendingOrder": { "base": null, "refs": { + "ListAuditSuppressionsRequest$ascendingOrder": "

Determines whether suppressions are listed in ascending order by expiration date or not. If parameter isn't provided, ascendingOrder=true.

", "ListAuthorizersRequest$ascendingOrder": "

Return the list of authorizers in ascending alphabetical order.

", "ListCACertificatesRequest$ascendingOrder": "

Determines the order of the results.

", "ListCertificatesByCARequest$ascendingOrder": "

Specifies the order for results. If True, the results are returned in ascending order, based on the creation date.

", @@ -624,8 +630,15 @@ "AuditDetails$key": null, "AuditFinding$checkName": "

The audit check that generated this result.

", "AuditMitigationActionsTaskStatistics$key": null, + "AuditSuppression$checkName": null, + "CreateAuditSuppressionRequest$checkName": null, + "DeleteAuditSuppressionRequest$checkName": null, + "DescribeAuditSuppressionRequest$checkName": null, + "DescribeAuditSuppressionResponse$checkName": null, "ListAuditFindingsRequest$checkName": "

A filter to limit results to the findings for the specified audit check.

", - "TargetAuditCheckNames$member": null + "ListAuditSuppressionsRequest$checkName": null, + "TargetAuditCheckNames$member": null, + "UpdateAuditSuppressionRequest$checkName": null } }, "AuditCheckRunStatus": { @@ -647,6 +660,15 @@ "AuditMitigationActionsTaskTarget$auditCheckToReasonCodeFilter": "

Specifies a filter in the form of an audit check and set of reason codes that identify the findings from the audit to which the audit mitigation actions task apply.

" } }, + "AuditDescription": { + "base": null, + "refs": { + "AuditSuppression$description": "

The description of the audit suppression.

", + "CreateAuditSuppressionRequest$description": "

The description of the audit suppression.

", + "DescribeAuditSuppressionResponse$description": "

The description of the audit suppression.

", + "UpdateAuditSuppressionRequest$description": "

The description of the audit suppression.

" + } + }, "AuditDetails": { "base": null, "refs": { @@ -764,6 +786,18 @@ "AuditNotificationTargetConfigurations$key": null } }, + "AuditSuppression": { + "base": "

Filters out specific findings of a Device Defender audit.

", + "refs": { + "AuditSuppressionList$member": null + } + }, + "AuditSuppressionList": { + "base": null, + "refs": { + "ListAuditSuppressionsResponse$suppressions": "

List of audit suppressions.

" + } + }, "AuditTaskId": { "base": null, "refs": { @@ -1482,6 +1516,7 @@ "ClientRequestToken": { "base": null, "refs": { + "CreateAuditSuppressionRequest$clientRequestToken": "

The epoch timestamp in seconds at which this suppression expires.

", "CreateDimensionRequest$clientRequestToken": "

Each dimension must have a unique client request token. If you try to create a new dimension with the same token as a dimension that already exists, an exception occurs. If you omit this value, AWS SDKs will automatically generate a unique client request.

", "StartAuditMitigationActionsTaskRequest$clientRequestToken": "

Each audit mitigation task must have a unique client request token. If you try to start a new task with the same token as a task that already exists, an exception occurs. If you omit this value, a unique client request token is generated automatically.

" } @@ -1610,6 +1645,16 @@ "Statistics$count": "

The count of things that match the query.

" } }, + "CreateAuditSuppressionRequest": { + "base": null, + "refs": { + } + }, + "CreateAuditSuppressionResponse": { + "base": null, + "refs": { + } + }, "CreateAuthorizerRequest": { "base": null, "refs": { @@ -1974,6 +2019,16 @@ "UpdateSecurityProfileRequest$deleteAlertTargets": "

If true, delete all alertTargets defined for this security profile. If any alertTargets are defined in the current invocation, an exception occurs.

" } }, + "DeleteAuditSuppressionRequest": { + "base": null, + "refs": { + } + }, + "DeleteAuditSuppressionResponse": { + "base": null, + "refs": { + } + }, "DeleteAuthorizerRequest": { "base": null, "refs": { @@ -2280,6 +2335,16 @@ "refs": { } }, + "DescribeAuditSuppressionRequest": { + "base": null, + "refs": { + } + }, + "DescribeAuditSuppressionResponse": { + "base": null, + "refs": { + } + }, "DescribeAuditTaskRequest": { "base": null, "refs": { @@ -3467,6 +3532,12 @@ "TopicRulePayload$ruleDisabled": "

Specifies whether the rule is disabled.

" } }, + "IsSuppressed": { + "base": null, + "refs": { + "AuditFinding$isSuppressed": "

Indicates whether the audit finding was suppressed or not during reporting.

" + } + }, "Job": { "base": "

The Job object contains details about a job.

", "refs": { @@ -3744,6 +3815,16 @@ "refs": { } }, + "ListAuditSuppressionsRequest": { + "base": null, + "refs": { + } + }, + "ListAuditSuppressionsResponse": { + "base": null, + "refs": { + } + }, "ListAuditTasksRequest": { "base": null, "refs": { @@ -4014,6 +4095,12 @@ "refs": { } }, + "ListSuppressedFindings": { + "base": null, + "refs": { + "ListAuditFindingsRequest$listSuppressedFindings": "

Boolean flag indicating whether only the suppressed findings or the unsuppressed findings should be listed. If this parameter isn't provided, the response will list both suppressed and unsuppressed findings.

" + } + }, "ListTagsForResourceRequest": { "base": null, "refs": { @@ -4279,6 +4366,7 @@ "ListAuditFindingsRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

", "ListAuditMitigationActionsExecutionsRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

", "ListAuditMitigationActionsTasksRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

", + "ListAuditSuppressionsRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

", "ListAuditTasksRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

", "ListDimensionsRequest$maxResults": "

The maximum number of results to retrieve at one time.

", "ListMitigationActionsRequest$maxResults": "

The maximum number of results to return at one time. The default is 25.

", @@ -4486,6 +4574,8 @@ "ListAuditMitigationActionsExecutionsResponse$nextToken": "

The token for the next set of results.

", "ListAuditMitigationActionsTasksRequest$nextToken": "

The token for the next set of results.

", "ListAuditMitigationActionsTasksResponse$nextToken": "

The token for the next set of results.

", + "ListAuditSuppressionsRequest$nextToken": "

The token for the next set of results.

", + "ListAuditSuppressionsResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", "ListAuditTasksRequest$nextToken": "

The token for the next set of results.

", "ListAuditTasksResponse$nextToken": "

A token that can be used to retrieve the next set of results, or null if there are no additional results.

", "ListBillingGroupsRequest$nextToken": "

The token to retrieve the next set of results.

", @@ -4525,19 +4615,19 @@ "ListThingGroupsForThingRequest$nextToken": "

The token to retrieve the next set of results.

", "ListThingGroupsForThingResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", "ListThingGroupsRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListThingGroupsResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", + "ListThingGroupsResponse$nextToken": "

The token used to get the next set of results. Will not be returned if operation has returned all results.

", "ListThingRegistrationTaskReportsRequest$nextToken": "

The token to retrieve the next set of results.

", "ListThingRegistrationTaskReportsResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", "ListThingRegistrationTasksRequest$nextToken": "

The token to retrieve the next set of results.

", "ListThingRegistrationTasksResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", "ListThingTypesRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListThingTypesResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", + "ListThingTypesResponse$nextToken": "

The token for the next set of results. Will not be returned if operation has returned all results.

", "ListThingsInBillingGroupRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListThingsInBillingGroupResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", + "ListThingsInBillingGroupResponse$nextToken": "

The token used to get the next set of results. Will not be returned if operation has returned all results.

", "ListThingsInThingGroupRequest$nextToken": "

The token to retrieve the next set of results.

", "ListThingsInThingGroupResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", "ListThingsRequest$nextToken": "

The token to retrieve the next set of results.

", - "ListThingsResponse$nextToken": "

The token used to get the next set of results, or null if there are no additional results.

", + "ListThingsResponse$nextToken": "

The token used to get the next set of results. Will not be returned if operation has returned all results.

", "ListTopicRuleDestinationsRequest$nextToken": "

The token to retrieve the next set of results.

", "ListTopicRuleDestinationsResponse$nextToken": "

The token to retrieve the next set of results.

", "ListTopicRulesRequest$nextToken": "

A token used to retrieve the next value.

", @@ -4867,7 +4957,7 @@ "refs": { "AttachPolicyRequest$target": "

The identity to which the policy is attached.

", "DetachPolicyRequest$target": "

The target from which the policy will be detached.

", - "ListAttachedPoliciesRequest$target": "

The group or principal for which the policies will be listed.

", + "ListAttachedPoliciesRequest$target": "

The group or principal for which the policies will be listed. Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id).

", "PolicyTargets$member": null } }, @@ -4946,12 +5036,12 @@ "refs": { "AttachPrincipalPolicyRequest$principal": "

The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID.

", "AttachThingPrincipalRequest$principal": "

The principal, which can be a certificate ARN (as returned from the CreateCertificate operation) or an Amazon Cognito ID.

", - "DetachPrincipalPolicyRequest$principal": "

The principal.

If the principal is a certificate, specify the certificate ARN. If the principal is an Amazon Cognito identity, specify the identity ID.

", + "DetachPrincipalPolicyRequest$principal": "

The principal.

Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id).

", "DetachThingPrincipalRequest$principal": "

If the principal is a certificate, this value must be ARN of the certificate. If the principal is an Amazon Cognito identity, this value must be the ID of the Amazon Cognito identity.

", - "GetEffectivePoliciesRequest$principal": "

The principal.

", - "ListPrincipalPoliciesRequest$principal": "

The principal.

", + "GetEffectivePoliciesRequest$principal": "

The principal. Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id).

", + "ListPrincipalPoliciesRequest$principal": "

The principal. Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id).

", "ListPrincipalThingsRequest$principal": "

The principal.

", - "TestAuthorizationRequest$principal": "

The principal.

" + "TestAuthorizationRequest$principal": "

The principal. Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id).

" } }, "PrincipalArn": { @@ -5407,9 +5497,16 @@ "ResourceIdentifier": { "base": "

Information that identifies the noncompliant resource.

", "refs": { + "AuditSuppression$resourceIdentifier": null, + "CreateAuditSuppressionRequest$resourceIdentifier": null, + "DeleteAuditSuppressionRequest$resourceIdentifier": null, + "DescribeAuditSuppressionRequest$resourceIdentifier": null, + "DescribeAuditSuppressionResponse$resourceIdentifier": null, "ListAuditFindingsRequest$resourceIdentifier": "

Information identifying the noncompliant resource.

", + "ListAuditSuppressionsRequest$resourceIdentifier": null, "NonCompliantResource$resourceIdentifier": "

Information that identifies the noncompliant resource.

", - "RelatedResource$resourceIdentifier": "

Information that identifies the resource.

" + "RelatedResource$resourceIdentifier": "

Information that identifies the resource.

", + "UpdateAuditSuppressionRequest$resourceIdentifier": null } }, "ResourceLogicalId": { @@ -6159,6 +6256,21 @@ "Statistics$sumOfSquares": "

The sum of the squares of the aggregated field values.

" } }, + "SuppressIndefinitely": { + "base": null, + "refs": { + "AuditSuppression$suppressIndefinitely": "

Indicates whether a suppression should exist indefinitely or not.

", + "CreateAuditSuppressionRequest$suppressIndefinitely": "

Indicates whether a suppression should exist indefinitely or not.

", + "DescribeAuditSuppressionResponse$suppressIndefinitely": "

Indicates whether a suppression should exist indefinitely or not.

", + "UpdateAuditSuppressionRequest$suppressIndefinitely": "

Indicates whether a suppression should exist indefinitely or not.

" + } + }, + "SuppressedNonCompliantResourcesCount": { + "base": null, + "refs": { + "AuditCheckDetails$suppressedNonCompliantResourcesCount": "

Describes how many of the non-compliant resources created during the evaluation of an audit check were marked as suppressed.

" + } + }, "TableName": { "base": null, "refs": { @@ -6711,8 +6823,11 @@ "AuditMitigationActionExecutionMetadata$startTime": "

The date and time when the task was started.

", "AuditMitigationActionExecutionMetadata$endTime": "

The date and time when the task was completed or canceled. Blank if the task is still running.

", "AuditMitigationActionsTaskMetadata$startTime": "

The time at which the audit mitigation actions task was started.

", + "AuditSuppression$expirationDate": "

The expiration date (epoch timestamp in seconds) that you want the suppression to adhere to.

", + "CreateAuditSuppressionRequest$expirationDate": "

The epoch timestamp in seconds at which this suppression expires.

", "DescribeAuditMitigationActionsTaskResponse$startTime": "

The date and time when the task was started.

", "DescribeAuditMitigationActionsTaskResponse$endTime": "

The date and time when the task was completed or canceled.

", + "DescribeAuditSuppressionResponse$expirationDate": "

The epoch timestamp in seconds at which this suppression expires.

", "DescribeAuditTaskResponse$taskStartTime": "

The time the audit started.

", "DescribeDimensionResponse$creationDate": "

The date the dimension was created.

", "DescribeDimensionResponse$lastModifiedDate": "

The date the dimension was last modified.

", @@ -6729,6 +6844,7 @@ "ListViolationEventsRequest$startTime": "

The start time for the alerts to be listed.

", "ListViolationEventsRequest$endTime": "

The end time for the alerts to be listed.

", "MitigationActionIdentifier$creationDate": "

The date when this mitigation action was created.

", + "UpdateAuditSuppressionRequest$expirationDate": "

The expiration date (epoch timestamp in seconds) that you want the suppression to adhere to.

", "UpdateDimensionResponse$creationDate": "

The date and time, in milliseconds since epoch, when the dimension was initially created.

", "UpdateDimensionResponse$lastModifiedDate": "

The date and time, in milliseconds since epoch, when the dimension was most recently updated.

", "UpdateSecurityProfileResponse$creationDate": "

The time the security profile was created.

", @@ -6926,6 +7042,16 @@ "refs": { } }, + "UpdateAuditSuppressionRequest": { + "base": null, + "refs": { + } + }, + "UpdateAuditSuppressionResponse": { + "base": null, + "refs": { + } + }, "UpdateAuthorizerRequest": { "base": null, "refs": { diff --git a/models/apis/iot/2015-05-28/paginators-1.json b/models/apis/iot/2015-05-28/paginators-1.json index 5677bd8e4a..ad854f2b1a 100644 --- a/models/apis/iot/2015-05-28/paginators-1.json +++ b/models/apis/iot/2015-05-28/paginators-1.json @@ -1,4 +1,288 @@ { "pagination": { + "ListActiveViolations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "activeViolations" + }, + "ListAttachedPolicies": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "policies" + }, + "ListAuditFindings": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "findings" + }, + "ListAuditMitigationActionsExecutions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "actionsExecutions" + }, + "ListAuditMitigationActionsTasks": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "tasks" + }, + "ListAuditSuppressions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "suppressions" + }, + "ListAuditTasks": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "tasks" + }, + "ListAuthorizers": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "authorizers" + }, + "ListBillingGroups": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "billingGroups" + }, + "ListCACertificates": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "certificates" + }, + "ListCertificates": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "certificates" + }, + "ListCertificatesByCA": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "certificates" + }, + "ListDimensions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "dimensionNames" + }, + "ListDomainConfigurations": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "domainConfigurations" + }, + "ListIndices": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "indexNames" + }, + "ListJobExecutionsForJob": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "executionSummaries" + }, + "ListJobExecutionsForThing": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "executionSummaries" + }, + "ListJobs": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "jobs" + }, + "ListMitigationActions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "actionIdentifiers" + }, + "ListOTAUpdates": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "otaUpdates" + }, + "ListOutgoingCertificates": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "outgoingCertificates" + }, + "ListPolicies": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "policies" + }, + "ListPolicyPrincipals": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "principals" + }, + "ListPrincipalPolicies": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "policies" + }, + "ListPrincipalThings": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "things" + }, + "ListProvisioningTemplateVersions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "versions" + }, + "ListProvisioningTemplates": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "templates" + }, + "ListRoleAliases": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "roleAliases" + }, + "ListScheduledAudits": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "scheduledAudits" + }, + "ListSecurityProfiles": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "securityProfileIdentifiers" + }, + "ListSecurityProfilesForTarget": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "securityProfileTargetMappings" + }, + "ListStreams": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "streams" + }, + "ListTagsForResource": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "tags" + }, + "ListTargetsForPolicy": { + "input_token": "marker", + "limit_key": "pageSize", + "output_token": "nextMarker", + "result_key": "targets" + }, + "ListTargetsForSecurityProfile": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "securityProfileTargets" + }, + "ListThingGroups": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "thingGroups" + }, + "ListThingGroupsForThing": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "thingGroups" + }, + "ListThingRegistrationTaskReports": { + "input_token": "nextToken", + "limit_key": "maxResults", + "non_aggregate_keys": [ + "reportType" + ], + "output_token": "nextToken", + "result_key": "resourceLinks" + }, + "ListThingRegistrationTasks": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "taskIds" + }, + "ListThingTypes": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "thingTypes" + }, + "ListThings": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "things" + }, + "ListThingsInBillingGroup": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "things" + }, + "ListThingsInThingGroup": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "things" + }, + "ListTopicRuleDestinations": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "destinationSummaries" + }, + "ListTopicRules": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "rules" + }, + "ListV2LoggingLevels": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "logTargetConfigurations" + }, + "ListViolationEvents": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "violationEvents" + } } -} +} \ No newline at end of file diff --git a/models/apis/lambda/2015-03-31/api-2.json b/models/apis/lambda/2015-03-31/api-2.json index 395d12868d..9660c9e17e 100644 --- a/models/apis/lambda/2015-03-31/api-2.json +++ b/models/apis/lambda/2015-03-31/api-2.json @@ -2672,6 +2672,7 @@ "nodejs10.x", "nodejs12.x", "java8", + "java8.al2", "java11", "python2.7", "python3.6", @@ -2685,7 +2686,8 @@ "go1.x", "ruby2.5", "ruby2.7", - "provided" + "provided", + "provided.al2" ] }, "S3Bucket":{ diff --git a/models/apis/lambda/2015-03-31/examples-1.json b/models/apis/lambda/2015-03-31/examples-1.json index a60fc3bd04..b2902df011 100644 --- a/models/apis/lambda/2015-03-31/examples-1.json +++ b/models/apis/lambda/2015-03-31/examples-1.json @@ -649,9 +649,9 @@ "output": { } }, - "description": "The following example returns details for the provisioned concurrency configuration for the BLUE alias of the specified function.", - "id": "to-get-a-provisioned-concurrency-configuration-1586490192690", - "title": "To get a provisioned concurrency configuration" + "description": "The following example displays details for the provisioned concurrency configuration for the BLUE alias of the specified function.", + "id": "to-view-a-provisioned-concurrency-configuration-1586490192690", + "title": "To view a provisioned concurrency configuration" }, { "input": { @@ -671,9 +671,9 @@ "output": { } }, - "description": "The following example displays details for the provisioned concurrency configuration for the BLUE alias of the specified function.", - "id": "to-view-a-provisioned-concurrency-configuration-1586490192690", - "title": "To view a provisioned concurrency configuration" + "description": "The following example returns details for the provisioned concurrency configuration for the BLUE alias of the specified function.", + "id": "to-get-a-provisioned-concurrency-configuration-1586490192690", + "title": "To get a provisioned concurrency configuration" } ], "Invoke": [ diff --git a/models/apis/transfer/2018-11-05/api-2.json b/models/apis/transfer/2018-11-05/api-2.json index b2afc0f577..20f8677da7 100644 --- a/models/apis/transfer/2018-11-05/api-2.json +++ b/models/apis/transfer/2018-11-05/api-2.json @@ -91,6 +91,21 @@ {"shape":"ResourceNotFoundException"} ] }, + "DescribeSecurityPolicy":{ + "name":"DescribeSecurityPolicy", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSecurityPolicyRequest"}, + "output":{"shape":"DescribeSecurityPolicyResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "DescribeServer":{ "name":"DescribeServer", "http":{ @@ -138,6 +153,21 @@ {"shape":"ThrottlingException"} ] }, + "ListSecurityPolicies":{ + "name":"ListSecurityPolicies", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSecurityPoliciesRequest"}, + "output":{"shape":"ListSecurityPoliciesResponse"}, + "errors":[ + {"shape":"ServiceUnavailableException"}, + {"shape":"InternalServiceError"}, + {"shape":"InvalidNextTokenException"}, + {"shape":"InvalidRequestException"} + ] + }, "ListServers":{ "name":"ListServers", "http":{ @@ -336,6 +366,7 @@ "IdentityProviderType":{"shape":"IdentityProviderType"}, "LoggingRole":{"shape":"Role"}, "Protocols":{"shape":"Protocols"}, + "SecurityPolicyName":{"shape":"SecurityPolicyName"}, "Tags":{"shape":"Tags"} } }, @@ -408,6 +439,20 @@ "UserName":{"shape":"UserName"} } }, + "DescribeSecurityPolicyRequest":{ + "type":"structure", + "required":["SecurityPolicyName"], + "members":{ + "SecurityPolicyName":{"shape":"SecurityPolicyName"} + } + }, + "DescribeSecurityPolicyResponse":{ + "type":"structure", + "required":["SecurityPolicy"], + "members":{ + "SecurityPolicy":{"shape":"DescribedSecurityPolicy"} + } + }, "DescribeServerRequest":{ "type":"structure", "required":["ServerId"], @@ -444,6 +489,18 @@ "User":{"shape":"DescribedUser"} } }, + "DescribedSecurityPolicy":{ + "type":"structure", + "required":["SecurityPolicyName"], + "members":{ + "Fips":{"shape":"Fips"}, + "SecurityPolicyName":{"shape":"SecurityPolicyName"}, + "SshCiphers":{"shape":"SecurityPolicyOptions"}, + "SshKexs":{"shape":"SecurityPolicyOptions"}, + "SshMacs":{"shape":"SecurityPolicyOptions"}, + "TlsCiphers":{"shape":"SecurityPolicyOptions"} + } + }, "DescribedServer":{ "type":"structure", "required":["Arn"], @@ -457,6 +514,7 @@ "IdentityProviderType":{"shape":"IdentityProviderType"}, "LoggingRole":{"shape":"Role"}, "Protocols":{"shape":"Protocols"}, + "SecurityPolicyName":{"shape":"SecurityPolicyName"}, "ServerId":{"shape":"ServerId"}, "State":{"shape":"State"}, "Tags":{"shape":"Tags"}, @@ -495,6 +553,7 @@ "VPC_ENDPOINT" ] }, + "Fips":{"type":"boolean"}, "HomeDirectory":{ "type":"string", "max":1024, @@ -595,6 +654,21 @@ }, "exception":true }, + "ListSecurityPoliciesRequest":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListSecurityPoliciesResponse":{ + "type":"structure", + "required":["SecurityPolicyNames"], + "members":{ + "NextToken":{"shape":"NextToken"}, + "SecurityPolicyNames":{"shape":"SecurityPolicyNames"} + } + }, "ListServersRequest":{ "type":"structure", "members":{ @@ -763,6 +837,23 @@ "min":20, "pattern":"arn:.*role/.*" }, + "SecurityPolicyName":{ + "type":"string", + "max":100, + "pattern":"TransferSecurityPolicy-.+" + }, + "SecurityPolicyNames":{ + "type":"list", + "member":{"shape":"SecurityPolicyName"} + }, + "SecurityPolicyOption":{ + "type":"string", + "max":50 + }, + "SecurityPolicyOptions":{ + "type":"list", + "member":{"shape":"SecurityPolicyOption"} + }, "ServerId":{ "type":"string", "max":19, @@ -943,6 +1034,7 @@ "IdentityProviderDetails":{"shape":"IdentityProviderDetails"}, "LoggingRole":{"shape":"NullableRole"}, "Protocols":{"shape":"Protocols"}, + "SecurityPolicyName":{"shape":"SecurityPolicyName"}, "ServerId":{"shape":"ServerId"} } }, @@ -987,9 +1079,9 @@ "UserCount":{"type":"integer"}, "UserName":{ "type":"string", - "max":32, + "max":100, "min":3, - "pattern":"^[a-zA-Z0-9_][a-zA-Z0-9_-]{2,31}$" + "pattern":"^[\\w][\\w@.-]{2,99}$" }, "UserPassword":{ "type":"string", diff --git a/models/apis/transfer/2018-11-05/docs-2.json b/models/apis/transfer/2018-11-05/docs-2.json index 783f3d1e1a..390c8c6624 100644 --- a/models/apis/transfer/2018-11-05/docs-2.json +++ b/models/apis/transfer/2018-11-05/docs-2.json @@ -1,15 +1,17 @@ { "version": "2.0", - "service": "

AWS Transfer Family is a fully managed service that enables the transfer of files over the the File Transfer Protocol (FTP), File Transfer Protocol over SSL (FTPS), or Secure Shell (SSH) File Transfer Protocol (SFTP) directly into and out of Amazon Simple Storage Service (Amazon S3). AWS helps you seamlessly migrate your file transfer workflows to AWS Transfer Family by integrating with existing authentication systems, and providing DNS routing with Amazon Route 53 so nothing changes for your customers and partners, or their applications. With your data in Amazon S3, you can use it with AWS services for processing, analytics, machine learning, and archiving. Getting started with AWS Transfer Family is easy since there is no infrastructure to buy and set up.

", + "service": "

AWS Transfer Family is a fully managed service that enables the transfer of files over the File Transfer Protocol (FTP), File Transfer Protocol over SSL (FTPS), or Secure Shell (SSH) File Transfer Protocol (SFTP) directly into and out of Amazon Simple Storage Service (Amazon S3). AWS helps you seamlessly migrate your file transfer workflows to AWS Transfer Family by integrating with existing authentication systems, and providing DNS routing with Amazon Route 53 so nothing changes for your customers and partners, or their applications. With your data in Amazon S3, you can use it with AWS services for processing, analytics, machine learning, and archiving. Getting started with AWS Transfer Family is easy since there is no infrastructure to buy and set up.

", "operations": { "CreateServer": "

Instantiates an autoscaling virtual server based on the selected file transfer protocol in AWS. When you make updates to your file transfer protocol-enabled server or when you work with users, use the service-generated ServerId property that is assigned to the newly created server.

", "CreateUser": "

Creates a user and associates them with an existing file transfer protocol-enabled server. You can only create and associate users with servers that have the IdentityProviderType set to SERVICE_MANAGED. Using parameters for CreateUser, you can specify the user name, set the home directory, store the user's public key, and assign the user's AWS Identity and Access Management (IAM) role. You can also optionally add a scope-down policy, and assign metadata with tags that can be used to group and search for users.

", "DeleteServer": "

Deletes the file transfer protocol-enabled server that you specify.

No response returns from this operation.

", "DeleteSshPublicKey": "

Deletes a user's Secure Shell (SSH) public key.

No response is returned from this operation.

", "DeleteUser": "

Deletes the user belonging to a file transfer protocol-enabled server you specify.

No response returns from this operation.

When you delete a user from a server, the user's information is lost.

", + "DescribeSecurityPolicy": "

Describes the security policy that is attached to your file transfer protocol-enabled server. The response contains a description of the security policy's properties. For more information about security policies, see Working with security policies.

", "DescribeServer": "

Describes a file transfer protocol-enabled server that you specify by passing the ServerId parameter.

The response contains a description of a server's properties. When you set EndpointType to VPC, the response will contain the EndpointDetails.

", "DescribeUser": "

Describes the user assigned to the specific file transfer protocol-enabled server, as identified by its ServerId property.

The response from this call returns the properties of the user associated with the ServerId value that was specified.

", "ImportSshPublicKey": "

Adds a Secure Shell (SSH) public key to a user account identified by a UserName value assigned to the specific file transfer protocol-enabled server, identified by ServerId.

The response returns the UserName value, the ServerId value, and the name of the SshPublicKeyId.

", + "ListSecurityPolicies": "

Lists the security policies that are attached to your file transfer protocol-enabled servers.

", "ListServers": "

Lists the file transfer protocol-enabled servers that are associated with your AWS account.

", "ListTagsForResource": "

Lists all of the tags associated with the Amazon Resource Number (ARN) you specify. The resource can be a user, server, or role.

", "ListUsers": "

Lists the users for a file transfer protocol-enabled server that you specify by passing the ServerId parameter.

", @@ -42,7 +44,7 @@ "Arn": { "base": null, "refs": { - "DescribedServer$Arn": "

Specifies the unique Amazon Resource Name (ARN) for a file transfer protocol-enabled server to be described.

", + "DescribedServer$Arn": "

Specifies the unique Amazon Resource Name (ARN) of the file transfer protocol-enabled server.

", "DescribedUser$Arn": "

Specifies the unique Amazon Resource Name (ARN) for the user that was requested to be described.

", "ListTagsForResourceRequest$Arn": "

Requests the tags associated with a particular Amazon Resource Name (ARN). An ARN is an identifier for a specific AWS resource, such as a server, user, or role.

", "ListTagsForResourceResponse$Arn": "

The ARN you specified to list the tags of.

", @@ -106,6 +108,16 @@ "refs": { } }, + "DescribeSecurityPolicyRequest": { + "base": null, + "refs": { + } + }, + "DescribeSecurityPolicyResponse": { + "base": null, + "refs": { + } + }, "DescribeServerRequest": { "base": null, "refs": { @@ -126,14 +138,20 @@ "refs": { } }, + "DescribedSecurityPolicy": { + "base": "

Describes the properties of a security policy that was specified. For more information about security policies, see Working with security policies.

", + "refs": { + "DescribeSecurityPolicyResponse$SecurityPolicy": "

An array containing the properties of the security policy.

" + } + }, "DescribedServer": { - "base": "

Describes the properties of a file transfer protocol-enabled server that was specified. Information returned includes the following: the server Amazon Resource Name (ARN), the certificate ARN (if the FTPS protocol was selected), the endpoint type and details, the authentication configuration and type, the logging role, the file transfer protocol or protocols, the server ID and state, and assigned tags or metadata.

", + "base": "

Describes the properties of a file transfer protocol-enabled server that was specified.

", "refs": { "DescribeServerResponse$Server": "

An array containing the properties of a file transfer protocol-enabled server with the ServerID you specified.

" } }, "DescribedUser": { - "base": "

Returns properties of the user that you want to describe.

", + "base": "

Describes the properties of a user that was specified.

", "refs": { "DescribeUserResponse$User": "

An array containing the properties of the user account for the ServerID value that you specified.

" } @@ -155,6 +173,12 @@ "UpdateServerRequest$EndpointType": "

The type of endpoint that you want your file transfer protocol-enabled server to connect to. You can choose to connect to the public internet or a VPC endpoint. With a VPC endpoint, you can restrict access to your server and resources only within your VPC.

It is recommended that you use VPC as the EndpointType. With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with EndpointType set to VPC_ENDPOINT.

" } }, + "Fips": { + "base": null, + "refs": { + "DescribedSecurityPolicy$Fips": "

Specifies whether this policy enables Federal Information Processing Standards (FIPS).

" + } + }, "HomeDirectory": { "base": null, "refs": { @@ -165,7 +189,7 @@ } }, "HomeDirectoryMapEntry": { - "base": "

Represents an object that contains entries and a targets for HomeDirectoryMappings.

", + "base": "

Represents an object that contains entries and targets for HomeDirectoryMappings.

", "refs": { "HomeDirectoryMappings$member": null } @@ -173,9 +197,9 @@ "HomeDirectoryMappings": { "base": null, "refs": { - "CreateUserRequest$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 paths and keys should be visible to your user and how you want to make them visible. You will need to specify the \"Entry\" and \"Target\" pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 path. If you only specify a target, it will be displayed as is. You will need to also make sure that your IAM role provides access to paths in Target. The following is an example.

'[ \"/bucket2/documentation\", { \"Entry\": \"your-personal-report.pdf\", \"Target\": \"/bucket3/customized-reports/${transfer:UserName}.pdf\" } ]'

In most cases, you can use this value instead of the scope-down policy to lock your user down to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value.

If the target of a logical directory entry does not exist in Amazon S3, the entry will be ignored. As a workaround, you can use the Amazon S3 api to create 0 byte objects as place holders for your directory. If using the CLI, use the s3api call instead of s3 so you can use the put-object operation. For example, you use the following: aws s3api put-object --bucket bucketname --key path/to/folder/. Make sure that the end of the key name ends in a '/' for it to be considered a folder.

", + "CreateUserRequest$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 paths and keys should be visible to your user and how you want to make them visible. You will need to specify the \"Entry\" and \"Target\" pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 path. If you only specify a target, it will be displayed as is. You will need to also make sure that your IAM role provides access to paths in Target. The following is an example.

'[ \"/bucket2/documentation\", { \"Entry\": \"your-personal-report.pdf\", \"Target\": \"/bucket3/customized-reports/${transfer:UserName}.pdf\" } ]'

In most cases, you can use this value instead of the scope-down policy to lock your user down to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value.

If the target of a logical directory entry does not exist in Amazon S3, the entry will be ignored. As a workaround, you can use the Amazon S3 API to create 0 byte objects as place holders for your directory. If using the CLI, use the s3api call instead of s3 so you can use the put-object operation. For example, you use the following: aws s3api put-object --bucket bucketname --key path/to/folder/. Make sure that the end of the key name ends in a '/' for it to be considered a folder.

", "DescribedUser$HomeDirectoryMappings": "

Specifies the logical directory mappings that specify what Amazon S3 paths and keys should be visible to your user and how you want to make them visible. You will need to specify the \"Entry\" and \"Target\" pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 path. If you only specify a target, it will be displayed as is. You will need to also make sure that your AWS Identity and Access Management (IAM) role provides access to paths in Target.

In most cases, you can use this value instead of the scope-down policy to lock your user down to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value.

", - "UpdateUserRequest$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 paths and keys should be visible to your user and how you want to make them visible. You will need to specify the \"Entry\" and \"Target\" pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 path. If you only specify a target, it will be displayed as is. You will need to also make sure that your IAM role provides access to paths in Target. The following is an example.

'[ \"/bucket2/documentation\", { \"Entry\": \"your-personal-report.pdf\", \"Target\": \"/bucket3/customized-reports/${transfer:UserName}.pdf\" } ]'

In most cases, you can use this value instead of the scope-down policy to lock your user down to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value.

If the target of a logical directory entry does not exist in Amazon S3, the entry will be ignored. As a workaround, you can use the Amazon S3 api to create 0 byte objects as place holders for your directory. If using the CLI, use the s3api call instead of s3 so you can use the put-object operation. For example, you use the following: aws s3api put-object --bucket bucketname --key path/to/folder/. Make sure that the end of the key name ends in a / for it to be considered a folder.

" + "UpdateUserRequest$HomeDirectoryMappings": "

Logical directory mappings that specify what Amazon S3 paths and keys should be visible to your user and how you want to make them visible. You will need to specify the \"Entry\" and \"Target\" pair, where Entry shows how the path is made visible and Target is the actual Amazon S3 path. If you only specify a target, it will be displayed as is. You will need to also make sure that your IAM role provides access to paths in Target. The following is an example.

'[ \"/bucket2/documentation\", { \"Entry\": \"your-personal-report.pdf\", \"Target\": \"/bucket3/customized-reports/${transfer:UserName}.pdf\" } ]'

In most cases, you can use this value instead of the scope-down policy to lock your user down to the designated home directory (\"chroot\"). To do this, you can set Entry to '/' and set Target to the HomeDirectory parameter value.

If the target of a logical directory entry does not exist in Amazon S3, the entry will be ignored. As a workaround, you can use the Amazon S3 API to create 0 byte objects as place holders for your directory. If using the CLI, use the s3api call instead of s3 so you can use the put-object operation. For example, you use the following: aws s3api put-object --bucket bucketname --key path/to/folder/. Make sure that the end of the key name ends in a / for it to be considered a folder.

" } }, "HomeDirectoryType": { @@ -241,6 +265,16 @@ "refs": { } }, + "ListSecurityPoliciesRequest": { + "base": null, + "refs": { + } + }, + "ListSecurityPoliciesResponse": { + "base": null, + "refs": { + } + }, "ListServersRequest": { "base": null, "refs": { @@ -310,6 +344,7 @@ "MaxResults": { "base": null, "refs": { + "ListSecurityPoliciesRequest$MaxResults": "

Specifies the number of security policies to return as a response to the ListSecurityPolicies query.

", "ListServersRequest$MaxResults": "

Specifies the number of file transfer protocol-enabled servers to return as a response to the ListServers query.

", "ListTagsForResourceRequest$MaxResults": "

Specifies the number of tags to return as a response to the ListTagsForResource request.

", "ListUsersRequest$MaxResults": "

Specifies the number of users to return as a response to the ListUsers request.

" @@ -330,7 +365,9 @@ "NextToken": { "base": null, "refs": { - "ListServersRequest$NextToken": "

When additional results are obtained from theListServers command, a NextToken parameter is returned in the output. You can then pass the NextToken parameter in a subsequent command to continue listing additional file transfer protocol-enabled servers.

", + "ListSecurityPoliciesRequest$NextToken": "

When additional results are obtained from the ListSecurityPolicies command, a NextToken parameter is returned in the output. You can then pass the NextToken parameter in a subsequent command to continue listing additional security policies.

", + "ListSecurityPoliciesResponse$NextToken": "

When you can get additional results from the ListSecurityPolicies operation, a NextToken parameter is returned in the output. In a following command, you can pass in the NextToken parameter to continue listing security policies.

", + "ListServersRequest$NextToken": "

When additional results are obtained from the ListServers command, a NextToken parameter is returned in the output. You can then pass the NextToken parameter in a subsequent command to continue listing additional file transfer protocol-enabled servers.

", "ListServersResponse$NextToken": "

When you can get additional results from the ListServers operation, a NextToken parameter is returned in the output. In a following command, you can pass in the NextToken parameter to continue listing additional file transfer protocol-enabled servers.

", "ListTagsForResourceRequest$NextToken": "

When you request additional results from the ListTagsForResource operation, a NextToken parameter is returned in the input. You can then pass in a subsequent command to the NextToken parameter to continue listing additional tags.

", "ListTagsForResourceResponse$NextToken": "

When you can get additional results from the ListTagsForResource call, a NextToken parameter is returned in the output. You can then pass in a subsequent command to the NextToken parameter to continue listing additional tags.

", @@ -362,7 +399,7 @@ "Protocols": { "base": null, "refs": { - "CreateServerRequest$Protocols": "

Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:

If you select FTPS, you must choose a certificate stored in AWS Certificate Manager (ACM) which will be used to identify your server when clients connect to it over FTPS.

If Protocol includes either FTP or FTPS, then the EndpointType must be VPC and the IdentityProviderType must be API_GATEWAY.

If Protocol includes FTP, then AddressAllocationIds cannot be associated.

If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and the IdentityProviderType can be set to SERVICE_MANAGED.

", + "CreateServerRequest$Protocols": "

Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:

If you select FTPS, you must choose a certificate stored in AWS Certificate Manager (ACM) which will be used to identify your file transfer protocol-enabled server when clients connect to it over FTPS.

If Protocol includes either FTP or FTPS, then the EndpointType must be VPC and the IdentityProviderType must be API_GATEWAY.

If Protocol includes FTP, then AddressAllocationIds cannot be associated.

If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and the IdentityProviderType can be set to SERVICE_MANAGED.

", "DescribedServer$Protocols": "

Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:

", "UpdateServerRequest$Protocols": "

Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are:

If you select FTPS, you must choose a certificate stored in AWS Certificate Manager (ACM) which will be used to identify your server when clients connect to it over FTPS.

If Protocol includes either FTP or FTPS, then the EndpointType must be VPC and the IdentityProviderType must be API_GATEWAY.

If Protocol includes FTP, then AddressAllocationIds cannot be associated.

If Protocol is set only to SFTP, the EndpointType can be set to PUBLIC and the IdentityProviderType can be set to SERVICE_MANAGED.

" } @@ -416,6 +453,38 @@ "UpdateUserRequest$Role": "

The IAM role that controls your users' access to your Amazon S3 bucket. The policies attached to this role will determine the level of access you want to provide your users when transferring files into and out of your Amazon S3 bucket or buckets. The IAM role should also contain a trust relationship that allows the file transfer protocol-enabled server to access your resources when servicing your users' transfer requests.

" } }, + "SecurityPolicyName": { + "base": null, + "refs": { + "CreateServerRequest$SecurityPolicyName": "

Specifies the name of the security policy that is attached to the server.

", + "DescribeSecurityPolicyRequest$SecurityPolicyName": "

Specifies the name of the security policy that is attached to the server.

", + "DescribedSecurityPolicy$SecurityPolicyName": "

Specifies the name of the security policy that is attached to the server.

", + "DescribedServer$SecurityPolicyName": "

Specifies the name of the security policy that is attached to the server.

", + "SecurityPolicyNames$member": null, + "UpdateServerRequest$SecurityPolicyName": "

Specifies the name of the security policy that is attached to the server.

" + } + }, + "SecurityPolicyNames": { + "base": null, + "refs": { + "ListSecurityPoliciesResponse$SecurityPolicyNames": "

An array of security policies that were listed.

" + } + }, + "SecurityPolicyOption": { + "base": null, + "refs": { + "SecurityPolicyOptions$member": null + } + }, + "SecurityPolicyOptions": { + "base": null, + "refs": { + "DescribedSecurityPolicy$SshCiphers": "

Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in the security policy that is attached to the server.

", + "DescribedSecurityPolicy$SshKexs": "

Specifies the enabled SSH key exchange (KEX) encryption algorithms in the security policy that is attached to the server.

", + "DescribedSecurityPolicy$SshMacs": "

Specifies the enabled SSH message authentication code (MAC) encryption algorithms in the security policy that is attached to the server.

", + "DescribedSecurityPolicy$TlsCiphers": "

Specifies the enabled Transport Layer Security (TLS) cipher encryption algorithms in the security policy that is attached to the server.

" + } + }, "ServerId": { "base": null, "refs": { @@ -628,7 +697,7 @@ "UserName": { "base": null, "refs": { - "CreateUserRequest$UserName": "

A unique string that identifies a user and is associated with a file transfer protocol-enabled server as specified by the ServerId. This user name must be a minimum of 3 and a maximum of 32 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name can't start with a hyphen.

", + "CreateUserRequest$UserName": "

A unique string that identifies a user and is associated with a file transfer protocol-enabled server as specified by the ServerId. This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, and at sign.

", "CreateUserResponse$UserName": "

A unique string that identifies a user account associated with a file transfer protocol-enabled server.

", "DeleteSshPublicKeyRequest$UserName": "

A unique string that identifies a user whose public key is being deleted.

", "DeleteUserRequest$UserName": "

A unique string that identifies a user that is being deleted from a file transfer protocol-enabled server.

", @@ -638,7 +707,7 @@ "ImportSshPublicKeyResponse$UserName": "

A user name assigned to the ServerID value that you specified.

", "ListedUser$UserName": "

Specifies the name of the user whose ARN was specified. User names are used for authentication purposes.

", "TestIdentityProviderRequest$UserName": "

The name of the user account to be tested.

", - "UpdateUserRequest$UserName": "

A unique string that identifies a user and is associated with a file transfer protocol-enabled server as specified by the ServerId. This is the string that will be used by your user when they log in to your server. This user name is a minimum of 3 and a maximum of 32 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name can't start with a hyphen.

", + "UpdateUserRequest$UserName": "

A unique string that identifies a user and is associated with a file transfer protocol-enabled server as specified by the ServerId. This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, and at sign.

", "UpdateUserResponse$UserName": "

The unique identifier for a user that is assigned to a file transfer protocol-enabled server instance that was specified in the request.

" } }, diff --git a/models/apis/transfer/2018-11-05/paginators-1.json b/models/apis/transfer/2018-11-05/paginators-1.json index fabd7975e6..fb07bd5c63 100644 --- a/models/apis/transfer/2018-11-05/paginators-1.json +++ b/models/apis/transfer/2018-11-05/paginators-1.json @@ -1,5 +1,10 @@ { "pagination": { + "ListSecurityPolicies": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListServers": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/workspaces/2015-04-08/api-2.json b/models/apis/workspaces/2015-04-08/api-2.json index 6f44dafde8..e977d26107 100644 --- a/models/apis/workspaces/2015-04-08/api-2.json +++ b/models/apis/workspaces/2015-04-08/api-2.json @@ -446,7 +446,8 @@ "errors":[ {"shape":"AccessDeniedException"}, {"shape":"InvalidParameterValuesException"}, - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"OperationNotSupportedException"} ] }, "ModifyWorkspaceProperties":{ @@ -1913,6 +1914,7 @@ "WorkspaceCreationProperties":{ "type":"structure", "members":{ + "EnableWorkDocs":{"shape":"BooleanObject"}, "EnableInternetAccess":{"shape":"BooleanObject"}, "DefaultOu":{"shape":"DefaultOu"}, "CustomSecurityGroupId":{"shape":"SecurityGroupId"}, diff --git a/models/apis/workspaces/2015-04-08/docs-2.json b/models/apis/workspaces/2015-04-08/docs-2.json index 7370271914..2a53cb6fd1 100644 --- a/models/apis/workspaces/2015-04-08/docs-2.json +++ b/models/apis/workspaces/2015-04-08/docs-2.json @@ -128,6 +128,7 @@ "UpdateWorkspaceImagePermissionRequest$AllowCopyImage": "

The permission to copy the image. This permission can be revoked only after an image has been shared.

", "Workspace$UserVolumeEncryptionEnabled": "

Indicates whether the data stored on the user volume is encrypted.

", "Workspace$RootVolumeEncryptionEnabled": "

Indicates whether the data stored on the root volume is encrypted.

", + "WorkspaceCreationProperties$EnableWorkDocs": "

Indicates whether Amazon WorkDocs is enabled for your WorkSpaces.

If WorkDocs is already enabled for a WorkSpaces directory and you disable it, new WorkSpaces launched in the directory will not have WorkDocs enabled. However, WorkDocs remains enabled for any existing WorkSpaces, unless you either disable users' access to WorkDocs or you delete the WorkDocs site. To disable users' access to WorkDocs, see Disabling Users in the Amazon WorkDocs Administration Guide. To delete a WorkDocs site, see Deleting a Site in the Amazon WorkDocs Administration Guide.

If you enable WorkDocs on a directory that already has existing WorkSpaces, the existing WorkSpaces and any new WorkSpaces that are launched in the directory will have WorkDocs enabled.

", "WorkspaceCreationProperties$EnableInternetAccess": "

Indicates whether internet access is enabled for your WorkSpaces.

", "WorkspaceCreationProperties$UserEnabledAsLocalAdministrator": "

Indicates whether users are local administrators of their WorkSpaces.

", "WorkspaceCreationProperties$EnableMaintenanceMode": "

Indicates whether maintenance mode is enabled for your WorkSpaces. For more information, see WorkSpace Maintenance.

", @@ -200,7 +201,7 @@ "ComputerName": { "base": null, "refs": { - "Workspace$ComputerName": "

The name of the WorkSpace, as seen by the operating system.

" + "Workspace$ComputerName": "

The name of the WorkSpace, as seen by the operating system. The format of this name varies. For more information, see Launch a WorkSpace.

" } }, "ConnectionState": { diff --git a/service/cloud9/api.go b/service/cloud9/api.go index b9e5623595..df2c680ef5 100644 --- a/service/cloud9/api.go +++ b/service/cloud9/api.go @@ -1063,6 +1063,9 @@ func (c *Cloud9) TagResourceRequest(input *TagResourceInput) (req *request.Reque // * BadRequestException // The target request is invalid. // +// * ConcurrentAccessException +// A concurrent access issue occurred. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/TagResource func (c *Cloud9) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { req, out := c.TagResourceRequest(input) @@ -1149,6 +1152,9 @@ func (c *Cloud9) UntagResourceRequest(input *UntagResourceInput) (req *request.R // * BadRequestException // The target request is invalid. // +// * ConcurrentAccessException +// A concurrent access issue occurred. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/cloud9-2017-09-23/UntagResource func (c *Cloud9) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { req, out := c.UntagResourceRequest(input) @@ -1423,6 +1429,62 @@ func (s *BadRequestException) RequestID() string { return s.RespMetadata.RequestID } +// A concurrent access issue occurred. +type ConcurrentAccessException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ConcurrentAccessException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConcurrentAccessException) GoString() string { + return s.String() +} + +func newErrorConcurrentAccessException(v protocol.ResponseMetadata) error { + return &ConcurrentAccessException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConcurrentAccessException) Code() string { + return "ConcurrentAccessException" +} + +// Message returns the exception's message. +func (s *ConcurrentAccessException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConcurrentAccessException) OrigErr() error { + return nil +} + +func (s *ConcurrentAccessException) 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 *ConcurrentAccessException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConcurrentAccessException) RequestID() string { + return s.RespMetadata.RequestID +} + // A conflict occurred. type ConflictException struct { _ struct{} `type:"structure"` @@ -1493,6 +1555,9 @@ type CreateEnvironmentEC2Input struct { // in the Amazon EC2 API Reference. ClientRequestToken *string `locationName:"clientRequestToken" type:"string"` + // The connection type used for connecting to an Amazon EC2 environment. + ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"` + // The description of the environment to create. Description *string `locationName:"description" type:"string" sensitive:"true"` @@ -1579,6 +1644,12 @@ func (s *CreateEnvironmentEC2Input) SetClientRequestToken(v string) *CreateEnvir return s } +// SetConnectionType sets the ConnectionType field's value. +func (s *CreateEnvironmentEC2Input) SetConnectionType(v string) *CreateEnvironmentEC2Input { + s.ConnectionType = &v + return s +} + // SetDescription sets the Description field's value. func (s *CreateEnvironmentEC2Input) SetDescription(v string) *CreateEnvironmentEC2Input { s.Description = &v @@ -2117,6 +2188,9 @@ type Environment struct { // The Amazon Resource Name (ARN) of the environment. Arn *string `locationName:"arn" type:"string"` + // The connection type used for connecting to an Amazon EC2 environment. + ConnectionType *string `locationName:"connectionType" type:"string" enum:"ConnectionType"` + // The description for the environment. Description *string `locationName:"description" type:"string" sensitive:"true"` @@ -2157,6 +2231,12 @@ func (s *Environment) SetArn(v string) *Environment { return s } +// SetConnectionType sets the ConnectionType field's value. +func (s *Environment) SetConnectionType(v string) *Environment { + s.ConnectionType = &v + return s +} + // SetDescription sets the Description field's value. func (s *Environment) SetDescription(v string) *Environment { s.Description = &v @@ -3104,6 +3184,22 @@ func (s UpdateEnvironmentOutput) GoString() string { return s.String() } +const ( + // ConnectionTypeConnectSsh is a ConnectionType enum value + ConnectionTypeConnectSsh = "CONNECT_SSH" + + // ConnectionTypeConnectSsm is a ConnectionType enum value + ConnectionTypeConnectSsm = "CONNECT_SSM" +) + +// ConnectionType_Values returns all elements of the ConnectionType enum +func ConnectionType_Values() []string { + return []string{ + ConnectionTypeConnectSsh, + ConnectionTypeConnectSsm, + } +} + const ( // EnvironmentLifecycleStatusCreating is a EnvironmentLifecycleStatus enum value EnvironmentLifecycleStatusCreating = "CREATING" diff --git a/service/cloud9/errors.go b/service/cloud9/errors.go index 0318a99b30..308ab4f0b0 100644 --- a/service/cloud9/errors.go +++ b/service/cloud9/errors.go @@ -14,6 +14,12 @@ const ( // The target request is invalid. ErrCodeBadRequestException = "BadRequestException" + // ErrCodeConcurrentAccessException for service response error code + // "ConcurrentAccessException". + // + // A concurrent access issue occurred. + ErrCodeConcurrentAccessException = "ConcurrentAccessException" + // ErrCodeConflictException for service response error code // "ConflictException". // @@ -53,6 +59,7 @@ const ( var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "BadRequestException": newErrorBadRequestException, + "ConcurrentAccessException": newErrorConcurrentAccessException, "ConflictException": newErrorConflictException, "ForbiddenException": newErrorForbiddenException, "InternalServerErrorException": newErrorInternalServerErrorException, diff --git a/service/comprehend/api.go b/service/comprehend/api.go index 91addd9eff..aad805512a 100644 --- a/service/comprehend/api.go +++ b/service/comprehend/api.go @@ -167,10 +167,10 @@ func (c *Comprehend) BatchDetectEntitiesRequest(input *BatchDetectEntitiesInput) // // * UnsupportedLanguageException // Amazon Comprehend can't process the language of the input text. For all custom -// entity recognition APIs (such as CreateEntityRecognizer), only English is -// accepted. For most other APIs, such as those for Custom Classification, Amazon -// Comprehend accepts text in all supported languages. For a list of supported -// languages, see supported-languages. +// entity recognition APIs (such as CreateEntityRecognizer), only English, Spanish, +// French, Italian, German, or Portuguese are accepted. For most other APIs, +// such as those for Custom Classification, Amazon Comprehend accepts text in +// all supported languages. For a list of supported languages, see supported-languages. // // * BatchSizeLimitExceededException // The number of documents in the request exceeds the limit of 25. Try your @@ -263,10 +263,10 @@ func (c *Comprehend) BatchDetectKeyPhrasesRequest(input *BatchDetectKeyPhrasesIn // // * UnsupportedLanguageException // Amazon Comprehend can't process the language of the input text. For all custom -// entity recognition APIs (such as CreateEntityRecognizer), only English is -// accepted. For most other APIs, such as those for Custom Classification, Amazon -// Comprehend accepts text in all supported languages. For a list of supported -// languages, see supported-languages. +// entity recognition APIs (such as CreateEntityRecognizer), only English, Spanish, +// French, Italian, German, or Portuguese are accepted. For most other APIs, +// such as those for Custom Classification, Amazon Comprehend accepts text in +// all supported languages. For a list of supported languages, see supported-languages. // // * BatchSizeLimitExceededException // The number of documents in the request exceeds the limit of 25. Try your @@ -360,10 +360,10 @@ func (c *Comprehend) BatchDetectSentimentRequest(input *BatchDetectSentimentInpu // // * UnsupportedLanguageException // Amazon Comprehend can't process the language of the input text. For all custom -// entity recognition APIs (such as CreateEntityRecognizer), only English is -// accepted. For most other APIs, such as those for Custom Classification, Amazon -// Comprehend accepts text in all supported languages. For a list of supported -// languages, see supported-languages. +// entity recognition APIs (such as CreateEntityRecognizer), only English, Spanish, +// French, Italian, German, or Portuguese are accepted. For most other APIs, +// such as those for Custom Classification, Amazon Comprehend accepts text in +// all supported languages. For a list of supported languages, see supported-languages. // // * BatchSizeLimitExceededException // The number of documents in the request exceeds the limit of 25. Try your @@ -458,10 +458,10 @@ func (c *Comprehend) BatchDetectSyntaxRequest(input *BatchDetectSyntaxInput) (re // // * UnsupportedLanguageException // Amazon Comprehend can't process the language of the input text. For all custom -// entity recognition APIs (such as CreateEntityRecognizer), only English is -// accepted. For most other APIs, such as those for Custom Classification, Amazon -// Comprehend accepts text in all supported languages. For a list of supported -// languages, see supported-languages. +// entity recognition APIs (such as CreateEntityRecognizer), only English, Spanish, +// French, Italian, German, or Portuguese are accepted. For most other APIs, +// such as those for Custom Classification, Amazon Comprehend accepts text in +// all supported languages. For a list of supported languages, see supported-languages. // // * BatchSizeLimitExceededException // The number of documents in the request exceeds the limit of 25. Try your @@ -662,10 +662,10 @@ func (c *Comprehend) CreateDocumentClassifierRequest(input *CreateDocumentClassi // // * UnsupportedLanguageException // Amazon Comprehend can't process the language of the input text. For all custom -// entity recognition APIs (such as CreateEntityRecognizer), only English is -// accepted. For most other APIs, such as those for Custom Classification, Amazon -// Comprehend accepts text in all supported languages. For a list of supported -// languages, see supported-languages. +// entity recognition APIs (such as CreateEntityRecognizer), only English, Spanish, +// French, Italian, German, or Portuguese are accepted. For most other APIs, +// such as those for Custom Classification, Amazon Comprehend accepts text in +// all supported languages. For a list of supported languages, see supported-languages. // // * KmsKeyValidationException // The KMS customer managed key (CMK) entered cannot be validated. Verify the @@ -879,10 +879,10 @@ func (c *Comprehend) CreateEntityRecognizerRequest(input *CreateEntityRecognizer // // * UnsupportedLanguageException // Amazon Comprehend can't process the language of the input text. For all custom -// entity recognition APIs (such as CreateEntityRecognizer), only English is -// accepted. For most other APIs, such as those for Custom Classification, Amazon -// Comprehend accepts text in all supported languages. For a list of supported -// languages, see supported-languages. +// entity recognition APIs (such as CreateEntityRecognizer), only English, Spanish, +// French, Italian, German, or Portuguese are accepted. For most other APIs, +// such as those for Custom Classification, Amazon Comprehend accepts text in +// all supported languages. For a list of supported languages, see supported-languages. // // * KmsKeyValidationException // The KMS customer managed key (CMK) entered cannot be validated. Verify the @@ -2177,10 +2177,10 @@ func (c *Comprehend) DetectEntitiesRequest(input *DetectEntitiesInput) (req *req // // * UnsupportedLanguageException // Amazon Comprehend can't process the language of the input text. For all custom -// entity recognition APIs (such as CreateEntityRecognizer), only English is -// accepted. For most other APIs, such as those for Custom Classification, Amazon -// Comprehend accepts text in all supported languages. For a list of supported -// languages, see supported-languages. +// entity recognition APIs (such as CreateEntityRecognizer), only English, Spanish, +// French, Italian, German, or Portuguese are accepted. For most other APIs, +// such as those for Custom Classification, Amazon Comprehend accepts text in +// all supported languages. For a list of supported languages, see supported-languages. // // * InternalServerException // An internal server error occurred. Retry your request. @@ -2269,10 +2269,10 @@ func (c *Comprehend) DetectKeyPhrasesRequest(input *DetectKeyPhrasesInput) (req // // * UnsupportedLanguageException // Amazon Comprehend can't process the language of the input text. For all custom -// entity recognition APIs (such as CreateEntityRecognizer), only English is -// accepted. For most other APIs, such as those for Custom Classification, Amazon -// Comprehend accepts text in all supported languages. For a list of supported -// languages, see supported-languages. +// entity recognition APIs (such as CreateEntityRecognizer), only English, Spanish, +// French, Italian, German, or Portuguese are accepted. For most other APIs, +// such as those for Custom Classification, Amazon Comprehend accepts text in +// all supported languages. For a list of supported languages, see supported-languages. // // * InternalServerException // An internal server error occurred. Retry your request. @@ -2362,10 +2362,10 @@ func (c *Comprehend) DetectSentimentRequest(input *DetectSentimentInput) (req *r // // * UnsupportedLanguageException // Amazon Comprehend can't process the language of the input text. For all custom -// entity recognition APIs (such as CreateEntityRecognizer), only English is -// accepted. For most other APIs, such as those for Custom Classification, Amazon -// Comprehend accepts text in all supported languages. For a list of supported -// languages, see supported-languages. +// entity recognition APIs (such as CreateEntityRecognizer), only English, Spanish, +// French, Italian, German, or Portuguese are accepted. For most other APIs, +// such as those for Custom Classification, Amazon Comprehend accepts text in +// all supported languages. For a list of supported languages, see supported-languages. // // * InternalServerException // An internal server error occurred. Retry your request. @@ -2455,10 +2455,10 @@ func (c *Comprehend) DetectSyntaxRequest(input *DetectSyntaxInput) (req *request // // * UnsupportedLanguageException // Amazon Comprehend can't process the language of the input text. For all custom -// entity recognition APIs (such as CreateEntityRecognizer), only English is -// accepted. For most other APIs, such as those for Custom Classification, Amazon -// Comprehend accepts text in all supported languages. For a list of supported -// languages, see supported-languages. +// entity recognition APIs (such as CreateEntityRecognizer), only English, Spanish, +// French, Italian, German, or Portuguese are accepted. For most other APIs, +// such as those for Custom Classification, Amazon Comprehend accepts text in +// all supported languages. For a list of supported languages, see supported-languages. // // * InternalServerException // An internal server error occurred. Retry your request. @@ -6689,8 +6689,9 @@ type CreateEntityRecognizerInput struct { // InputDataConfig is a required field InputDataConfig *EntityRecognizerInputDataConfig `type:"structure" required:"true"` - // The language of the input documents. All documents must be in the same language. - // Only English ("en") is currently supported. + // You can specify any of the following languages supported by Amazon Comprehend: + // English ("en"), Spanish ("es"), French ("fr"), Italian ("it"), German ("de"), + // or Portuguese ("pt"). All documents must be in the same language. // // LanguageCode is a required field LanguageCode *string `type:"string" required:"true" enum:"LanguageCode"` @@ -9519,7 +9520,7 @@ type EntityRecognizerInputDataConfig struct { EntityList *EntityRecognizerEntityList `type:"structure"` // The entity types in the input data for an entity recognizer. A maximum of - // 12 entity types can be used at one time to train an entity recognizer. + // 25 entity types can be used at one time to train an entity recognizer. // // EntityTypes is a required field EntityTypes []*EntityTypesListItem `type:"list" required:"true"` @@ -14272,10 +14273,10 @@ func (s *TopicsDetectionJobProperties) SetVpcConfig(v *VpcConfig) *TopicsDetecti } // Amazon Comprehend can't process the language of the input text. For all custom -// entity recognition APIs (such as CreateEntityRecognizer), only English is -// accepted. For most other APIs, such as those for Custom Classification, Amazon -// Comprehend accepts text in all supported languages. For a list of supported -// languages, see supported-languages. +// entity recognition APIs (such as CreateEntityRecognizer), only English, Spanish, +// French, Italian, German, or Portuguese are accepted. For most other APIs, +// such as those for Custom Classification, Amazon Comprehend accepts text in +// all supported languages. For a list of supported languages, see supported-languages. type UnsupportedLanguageException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` diff --git a/service/comprehend/errors.go b/service/comprehend/errors.go index da2fd5c181..ac11828e53 100644 --- a/service/comprehend/errors.go +++ b/service/comprehend/errors.go @@ -112,10 +112,10 @@ const ( // "UnsupportedLanguageException". // // Amazon Comprehend can't process the language of the input text. For all custom - // entity recognition APIs (such as CreateEntityRecognizer), only English is - // accepted. For most other APIs, such as those for Custom Classification, Amazon - // Comprehend accepts text in all supported languages. For a list of supported - // languages, see supported-languages. + // entity recognition APIs (such as CreateEntityRecognizer), only English, Spanish, + // French, Italian, German, or Portuguese are accepted. For most other APIs, + // such as those for Custom Classification, Amazon Comprehend accepts text in + // all supported languages. For a list of supported languages, see supported-languages. ErrCodeUnsupportedLanguageException = "UnsupportedLanguageException" ) diff --git a/service/ec2/api.go b/service/ec2/api.go index a7838fbac1..de1c626786 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -7779,15 +7779,15 @@ func (c *EC2) CreateVpnConnectionRequest(input *CreateVpnConnectionInput) (req * // CreateVpnConnection API operation for Amazon Elastic Compute Cloud. // -// Creates a VPN connection between an existing virtual private gateway and -// a VPN customer gateway. The supported connection type is ipsec.1. +// Creates a VPN connection between an existing virtual private gateway or transit +// gateway and a customer gateway. The supported connection type is ipsec.1. // // The response includes information that you need to give to your network administrator // to configure your customer gateway. // // We strongly recommend that you use HTTPS when calling this operation because // the response contains sensitive cryptographic information for configuring -// your customer gateway. +// your customer gateway device. // // If you decide to shut down your VPN connection for any reason and later create // a new VPN connection, you must reconfigure your customer gateway with the @@ -92581,19 +92581,19 @@ type ModifyVpnTunnelOptionsSpecification struct { // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel // for phase 1 IKE negotiations. // - // Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24 + // Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 Phase1DHGroupNumbers []*Phase1DHGroupNumbersRequestListValue `locationName:"Phase1DHGroupNumber" locationNameList:"item" type:"list"` // One or more encryption algorithms that are permitted for the VPN tunnel for // phase 1 IKE negotiations. // - // Valid values: AES128 | AES256 + // Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16 Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsRequestListValue `locationName:"Phase1EncryptionAlgorithm" locationNameList:"item" type:"list"` // One or more integrity algorithms that are permitted for the VPN tunnel for // phase 1 IKE negotiations. // - // Valid values: SHA1 | SHA2-256 + // Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512 Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsRequestListValue `locationName:"Phase1IntegrityAlgorithm" locationNameList:"item" type:"list"` // The lifetime for phase 1 of the IKE negotiation, in seconds. @@ -92606,19 +92606,19 @@ type ModifyVpnTunnelOptionsSpecification struct { // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel // for phase 2 IKE negotiations. // - // Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24 + // Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 Phase2DHGroupNumbers []*Phase2DHGroupNumbersRequestListValue `locationName:"Phase2DHGroupNumber" locationNameList:"item" type:"list"` // One or more encryption algorithms that are permitted for the VPN tunnel for // phase 2 IKE negotiations. // - // Valid values: AES128 | AES256 + // Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16 Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsRequestListValue `locationName:"Phase2EncryptionAlgorithm" locationNameList:"item" type:"list"` // One or more integrity algorithms that are permitted for the VPN tunnel for // phase 2 IKE negotiations. // - // Valid values: SHA1 | SHA2-256 + // Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512 Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsRequestListValue `locationName:"Phase2IntegrityAlgorithm" locationNameList:"item" type:"list"` // The lifetime for phase 2 of the IKE negotiation, in seconds. @@ -92661,7 +92661,7 @@ type ModifyVpnTunnelOptionsSpecification struct { // Default: 1024 ReplayWindowSize *int64 `type:"integer"` - // The range of inside IP addresses for the tunnel. Any specified CIDR blocks + // The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks // must be unique across all VPN connections that use the same virtual private // gateway. // @@ -92682,6 +92682,12 @@ type ModifyVpnTunnelOptionsSpecification struct { // // * 169.254.169.252/30 TunnelInsideCidr *string `type:"string"` + + // The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks + // must be unique across all VPN connections that use the same transit gateway. + // + // Constraints: A size /126 CIDR block from the local fd00::/8 range. + TunnelInsideIpv6Cidr *string `type:"string"` } // String returns the string representation @@ -92784,6 +92790,12 @@ func (s *ModifyVpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *Mod return s } +// SetTunnelInsideIpv6Cidr sets the TunnelInsideIpv6Cidr field's value. +func (s *ModifyVpnTunnelOptionsSpecification) SetTunnelInsideIpv6Cidr(v string) *ModifyVpnTunnelOptionsSpecification { + s.TunnelInsideIpv6Cidr = &v + return s +} + type MonitorInstancesInput struct { _ struct{} `type:"structure"` @@ -109860,8 +109872,11 @@ type TunnelOption struct { // The number of packets in an IKE replay window. ReplayWindowSize *int64 `locationName:"replayWindowSize" type:"integer"` - // The range of inside IP addresses for the tunnel. + // The range of inside IPv4 addresses for the tunnel. TunnelInsideCidr *string `locationName:"tunnelInsideCidr" type:"string"` + + // The range of inside IPv6 addresses for the tunnel. + TunnelInsideIpv6Cidr *string `locationName:"tunnelInsideIpv6Cidr" type:"string"` } // String returns the string representation @@ -109970,6 +109985,12 @@ func (s *TunnelOption) SetTunnelInsideCidr(v string) *TunnelOption { return s } +// SetTunnelInsideIpv6Cidr sets the TunnelInsideIpv6Cidr field's value. +func (s *TunnelOption) SetTunnelInsideIpv6Cidr(v string) *TunnelOption { + s.TunnelInsideIpv6Cidr = &v + return s +} + type UnassignIpv6AddressesInput struct { _ struct{} `type:"structure"` @@ -112530,6 +112551,9 @@ type VpnConnectionOptions struct { // must be used for devices that don't support BGP. StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"` + // Indicates whether the VPN tunnels process IPv4 or IPv6 traffic. + TunnelInsideIpVersion *string `locationName:"tunnelInsideIpVersion" type:"string" enum:"TunnelInsideIpVersion"` + // Indicates the VPN tunnel options. TunnelOptions []*TunnelOption `locationName:"tunnelOptionSet" locationNameList:"item" type:"list"` } @@ -112556,6 +112580,12 @@ func (s *VpnConnectionOptions) SetStaticRoutesOnly(v bool) *VpnConnectionOptions return s } +// SetTunnelInsideIpVersion sets the TunnelInsideIpVersion field's value. +func (s *VpnConnectionOptions) SetTunnelInsideIpVersion(v string) *VpnConnectionOptions { + s.TunnelInsideIpVersion = &v + return s +} + // SetTunnelOptions sets the TunnelOptions field's value. func (s *VpnConnectionOptions) SetTunnelOptions(v []*TunnelOption) *VpnConnectionOptions { s.TunnelOptions = v @@ -112578,6 +112608,11 @@ type VpnConnectionOptionsSpecification struct { // Default: false StaticRoutesOnly *bool `locationName:"staticRoutesOnly" type:"boolean"` + // Indicate whether the VPN tunnels process IPv4 or IPv6 traffic. + // + // Default: ipv4 + TunnelInsideIpVersion *string `type:"string" enum:"TunnelInsideIpVersion"` + // The tunnel options for the VPN connection. TunnelOptions []*VpnTunnelOptionsSpecification `type:"list"` } @@ -112604,6 +112639,12 @@ func (s *VpnConnectionOptionsSpecification) SetStaticRoutesOnly(v bool) *VpnConn return s } +// SetTunnelInsideIpVersion sets the TunnelInsideIpVersion field's value. +func (s *VpnConnectionOptionsSpecification) SetTunnelInsideIpVersion(v string) *VpnConnectionOptionsSpecification { + s.TunnelInsideIpVersion = &v + return s +} + // SetTunnelOptions sets the TunnelOptions field's value. func (s *VpnConnectionOptionsSpecification) SetTunnelOptions(v []*VpnTunnelOptionsSpecification) *VpnConnectionOptionsSpecification { s.TunnelOptions = v @@ -112750,19 +112791,19 @@ type VpnTunnelOptionsSpecification struct { // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel // for phase 1 IKE negotiations. // - // Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24 + // Valid values: 2 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 Phase1DHGroupNumbers []*Phase1DHGroupNumbersRequestListValue `locationName:"Phase1DHGroupNumber" locationNameList:"item" type:"list"` // One or more encryption algorithms that are permitted for the VPN tunnel for // phase 1 IKE negotiations. // - // Valid values: AES128 | AES256 + // Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16 Phase1EncryptionAlgorithms []*Phase1EncryptionAlgorithmsRequestListValue `locationName:"Phase1EncryptionAlgorithm" locationNameList:"item" type:"list"` // One or more integrity algorithms that are permitted for the VPN tunnel for // phase 1 IKE negotiations. // - // Valid values: SHA1 | SHA2-256 + // Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512 Phase1IntegrityAlgorithms []*Phase1IntegrityAlgorithmsRequestListValue `locationName:"Phase1IntegrityAlgorithm" locationNameList:"item" type:"list"` // The lifetime for phase 1 of the IKE negotiation, in seconds. @@ -112775,19 +112816,19 @@ type VpnTunnelOptionsSpecification struct { // One or more Diffie-Hellman group numbers that are permitted for the VPN tunnel // for phase 2 IKE negotiations. // - // Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 22 | 23 | 24 + // Valid values: 2 | 5 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 Phase2DHGroupNumbers []*Phase2DHGroupNumbersRequestListValue `locationName:"Phase2DHGroupNumber" locationNameList:"item" type:"list"` // One or more encryption algorithms that are permitted for the VPN tunnel for // phase 2 IKE negotiations. // - // Valid values: AES128 | AES256 + // Valid values: AES128 | AES256 | AES128-GCM-16 | AES256-GCM-16 Phase2EncryptionAlgorithms []*Phase2EncryptionAlgorithmsRequestListValue `locationName:"Phase2EncryptionAlgorithm" locationNameList:"item" type:"list"` // One or more integrity algorithms that are permitted for the VPN tunnel for // phase 2 IKE negotiations. // - // Valid values: SHA1 | SHA2-256 + // Valid values: SHA1 | SHA2-256 | SHA2-384 | SHA2-512 Phase2IntegrityAlgorithms []*Phase2IntegrityAlgorithmsRequestListValue `locationName:"Phase2IntegrityAlgorithm" locationNameList:"item" type:"list"` // The lifetime for phase 2 of the IKE negotiation, in seconds. @@ -112830,7 +112871,7 @@ type VpnTunnelOptionsSpecification struct { // Default: 1024 ReplayWindowSize *int64 `type:"integer"` - // The range of inside IP addresses for the tunnel. Any specified CIDR blocks + // The range of inside IPv4 addresses for the tunnel. Any specified CIDR blocks // must be unique across all VPN connections that use the same virtual private // gateway. // @@ -112851,6 +112892,12 @@ type VpnTunnelOptionsSpecification struct { // // * 169.254.169.252/30 TunnelInsideCidr *string `type:"string"` + + // The range of inside IPv6 addresses for the tunnel. Any specified CIDR blocks + // must be unique across all VPN connections that use the same transit gateway. + // + // Constraints: A size /126 CIDR block from the local fd00::/8 range. + TunnelInsideIpv6Cidr *string `type:"string"` } // String returns the string representation @@ -112953,6 +113000,12 @@ func (s *VpnTunnelOptionsSpecification) SetTunnelInsideCidr(v string) *VpnTunnel return s } +// SetTunnelInsideIpv6Cidr sets the TunnelInsideIpv6Cidr field's value. +func (s *VpnTunnelOptionsSpecification) SetTunnelInsideIpv6Cidr(v string) *VpnTunnelOptionsSpecification { + s.TunnelInsideIpv6Cidr = &v + return s +} + type WithdrawByoipCidrInput struct { _ struct{} `type:"structure"` @@ -118334,6 +118387,22 @@ func TransportProtocol_Values() []string { } } +const ( + // TunnelInsideIpVersionIpv4 is a TunnelInsideIpVersion enum value + TunnelInsideIpVersionIpv4 = "ipv4" + + // TunnelInsideIpVersionIpv6 is a TunnelInsideIpVersion enum value + TunnelInsideIpVersionIpv6 = "ipv6" +) + +// TunnelInsideIpVersion_Values returns all elements of the TunnelInsideIpVersion enum +func TunnelInsideIpVersion_Values() []string { + return []string{ + TunnelInsideIpVersionIpv4, + TunnelInsideIpVersionIpv6, + } +} + const ( // UnlimitedSupportedInstanceFamilyT2 is a UnlimitedSupportedInstanceFamily enum value UnlimitedSupportedInstanceFamilyT2 = "t2" diff --git a/service/fsx/api.go b/service/fsx/api.go index e8ad07c216..12c80deb9f 100644 --- a/service/fsx/api.go +++ b/service/fsx/api.go @@ -167,7 +167,7 @@ func (c *FSx) CreateBackupRequest(input *CreateBackupInput) (req *request.Reques // // * a Persistent deployment type // -// * is not linked to a data respository. +// * is not linked to an Amazon S3 data respository. // // For more information about backing up Amazon FSx for Lustre file systems, // see Working with FSx for Lustre backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html). @@ -2564,9 +2564,9 @@ func (s *CompletionReport) SetScope(v string) *CompletionReport { type CreateBackupInput struct { _ struct{} `type:"structure"` - // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to - // ensure idempotent creation. This string is automatically filled on your behalf - // when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK. + // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent + // creation. This string is automatically filled on your behalf when you use + // the AWS Command Line Interface (AWS CLI) or an AWS SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` // The ID of the file system to back up. @@ -2574,10 +2574,10 @@ type CreateBackupInput struct { // FileSystemId is a required field FileSystemId *string `min:"11" type:"string" required:"true"` - // (Optional) The tags to apply to the backup at backup creation. The key value - // of the Name tag appears in the console as the backup name. If you have set - // CopyTagsToBackups to true, and you specify one or more tags using the CreateBackup - // action, no existing file system tags are copied from the file system to the + // The tags to apply to the backup at backup creation. The key value of the + // Name tag appears in the console as the backup name. If you have set CopyTagsToBackups + // to true, and you specify one or more tags using the CreateBackup action, + // no existing tags on the file system are copied from the file system to the // backup. Tags []*Tag `min:"1" type:"list"` } @@ -3041,11 +3041,11 @@ type CreateFileSystemInput struct { // // For Lustre file systems: // - // * For SCRATCH_2 and PERSISTENT_1 deployment types, valid values are 1200 - // GiB, 2400 GiB, and increments of 2400 GiB. + // * For SCRATCH_2 and PERSISTENT_1 deployment types, valid values are 1.2, + // 2.4, and increments of 2.4 TiB. // - // * For SCRATCH_1 deployment type, valid values are 1200 GiB, 2400 GiB, - // and increments of 3600 GiB. + // * For SCRATCH_1 deployment type, valid values are 1.2, 2.4, and increments + // of 3.6 TiB. // // For Windows file systems: // @@ -3212,42 +3212,43 @@ func (s *CreateFileSystemInput) SetWindowsConfiguration(v *CreateFileSystemWindo type CreateFileSystemLustreConfiguration struct { _ struct{} `type:"structure"` - // (Optional) When you create your file system, your existing S3 objects appear - // as file and directory listings. Use this property to choose how Amazon FSx - // keeps your file and directory listings up to date as you add or modify objects - // in your linked S3 bucket. AutoImportPolicy can have the following values: + // (Optional) Use this property to configure the AutoImport feature on the file + // system's linked Amazon S3 data repository. You use AutoImport to update the + // contents of your FSx for Lustre file system automatically with changes that + // occur in the linked S3 data repository. AutoImportPolicy can have the following + // values: // - // * NONE - (Default) AutoImport is off. Amazon FSx only updates file and - // directory listings from the linked S3 bucket when the file system is created. - // FSx does not update file and directory listings for any new or changed - // objects after choosing this option. + // * NONE - (Default) AutoImport is off. Changes in the linked data repository + // are not reflected on the FSx file system. // - // * NEW - AutoImport is on. Amazon FSx automatically imports directory listings - // of any new objects added to the linked S3 bucket that do not currently - // exist in the FSx file system. + // * NEW - AutoImport is on. New files in the linked data repository that + // do not currently exist in the FSx file system are automatically imported. + // Updates to existing FSx files are not imported to the FSx file system. + // Files deleted from the linked data repository are not deleted from the + // FSx file system. // - // * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file - // and directory listings of any new objects added to the S3 bucket and any - // existing objects that are changed in the S3 bucket after you choose this - // option. + // * NEW_CHANGED - AutoImport is on. New files in the linked S3 data repository + // that do not currently exist in the FSx file system are automatically imported. + // Changes to existing FSx files in the linked repository are also automatically + // imported to the FSx file system. Files deleted from the linked data repository + // are not deleted from the FSx file system. // // For more information, see Automatically import updates from your S3 bucket // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` // The number of days to retain automatic backups. Setting this to 0 disables - // automatic backups. You can retain automatic backups for a maximum of 35 days. + // automatic backups. You can retain automatic backups for a maximum of 90 days. // The default is 0. AutomaticBackupRetentionDays *int64 `type:"integer"` - // (Optional) Not available to use with file systems that are linked to a data - // repository. A boolean flag indicating whether tags for the file system should - // be copied to backups. The default value is false. If it's set to true, all - // file system tags are copied to all automatic and user-initiated backups when - // the user doesn't specify any backup-specific tags. If this value is true, - // and you specify one or more backup tags, only the specified tags are copied - // to backups. If you specify one or more tags when creating a user-initiated - // backup, no tags are copied from the file system, regardless of this value. + // A boolean flag indicating whether tags for the file system should be copied + // to backups. This value defaults to false. If it's set to true, all tags for + // the file system are copied to all automatic and user-initiated backups where + // the user doesn't specify tags. If this value is true, and you specify one + // or more tags, only the specified tags are copied to backups. If you specify + // one or more tags when creating a user-initiated backup, no tags are copied + // from the file system, regardless of this value. // // For more information, see Working with backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html). CopyTagsToBackups *bool `type:"boolean"` @@ -3275,6 +3276,14 @@ type CreateFileSystemLustreConfiguration struct { // Regions. To learn more, Encrypting Data in Transit (https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html). DeploymentType *string `type:"string" enum:"LustreDeploymentType"` + // The type of drive cache used by PERSISTENT_1 file systems that are provisioned + // with HDD storage devices. This parameter is required when storage type is + // HDD. Set to READ, improve the performance for frequently accessed files and + // allows 20% of the total storage capacity of the file system to be cached. + // + // This parameter is required when StorageType is set to HDD. + DriveCacheType *string `type:"string" enum:"DriveCacheType"` + // (Optional) The path in Amazon S3 where the root of your Amazon FSx file system // is exported. The path must use the same Amazon S3 bucket as specified in // ImportPath. You can provide an optional prefix to which new and changed data @@ -3316,12 +3325,13 @@ type CreateFileSystemLustreConfiguration struct { // provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 117 MB/s of file // system throughput. You pay for the amount of throughput that you provision. // - // Valid values are 50, 100, 200. - PerUnitStorageThroughput *int64 `min:"50" type:"integer"` + // Valid values for SSD storage: 50, 100, 200. Valid values for HDD storage: + // 12, 40. + PerUnitStorageThroughput *int64 `min:"12" type:"integer"` - // (Optional) The preferred start time to perform weekly maintenance, formatted - // d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through - // 7, beginning with Monday and ending with Sunday. + // The preferred start time to perform weekly maintenance, formatted d:HH:MM + // in the UTC time zone, where d is the weekday number, from 1 through 7, beginning + // with Monday and ending with Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -3350,8 +3360,8 @@ func (s *CreateFileSystemLustreConfiguration) Validate() error { if s.ImportedFileChunkSize != nil && *s.ImportedFileChunkSize < 1 { invalidParams.Add(request.NewErrParamMinValue("ImportedFileChunkSize", 1)) } - if s.PerUnitStorageThroughput != nil && *s.PerUnitStorageThroughput < 50 { - invalidParams.Add(request.NewErrParamMinValue("PerUnitStorageThroughput", 50)) + if s.PerUnitStorageThroughput != nil && *s.PerUnitStorageThroughput < 12 { + invalidParams.Add(request.NewErrParamMinValue("PerUnitStorageThroughput", 12)) } if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) @@ -3393,6 +3403,12 @@ func (s *CreateFileSystemLustreConfiguration) SetDeploymentType(v string) *Creat return s } +// SetDriveCacheType sets the DriveCacheType field's value. +func (s *CreateFileSystemLustreConfiguration) SetDriveCacheType(v string) *CreateFileSystemLustreConfiguration { + s.DriveCacheType = &v + return s +} + // SetExportPath sets the ExportPath field's value. func (s *CreateFileSystemLustreConfiguration) SetExportPath(v string) *CreateFileSystemLustreConfiguration { s.ExportPath = &v @@ -3458,7 +3474,7 @@ type CreateFileSystemWindowsConfiguration struct { // The number of days to retain automatic backups. The default is to retain // backups for 7 days. Setting this value to 0 disables the creation of automatic - // backups. The maximum retention period for backups is 35 days. + // backups. The maximum retention period for backups is 90 days. AutomaticBackupRetentionDays *int64 `type:"integer"` // A boolean flag indicating whether tags for the file system should be copied @@ -3619,23 +3635,24 @@ type DataRepositoryConfiguration struct { _ struct{} `type:"structure"` // Describes the file system's linked S3 data repository's AutoImportPolicy. - // The AutoImportPolicy configures how Amazon FSx keeps your file and directory - // listings up to date as you add or modify objects in your linked S3 bucket. + // The AutoImportPolicy configures how your FSx for Lustre file system automatically + // updates its contents with changes that occur in the linked S3 data repository. // AutoImportPolicy can have the following values: // - // * NONE - (Default) AutoImport is off. Amazon FSx only updates file and - // directory listings from the linked S3 bucket when the file system is created. - // FSx does not update file and directory listings for any new or changed - // objects after choosing this option. + // * NONE - (Default) AutoImport is off. Changes in the linked data repository + // are not reflected on the FSx file system. // - // * NEW - AutoImport is on. Amazon FSx automatically imports directory listings - // of any new objects added to the linked S3 bucket that do not currently - // exist in the FSx file system. + // * NEW - AutoImport is on. New files in the linked data repository that + // do not currently exist in the FSx file system are automatically imported. + // Updates to existing FSx files are not imported to the FSx file system. + // Files deleted from the linked data repository are not deleted from the + // FSx file system. // - // * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file - // and directory listings of any new objects added to the S3 bucket and any - // existing objects that are changed in the S3 bucket after you choose this - // option. + // * NEW_CHANGED - AutoImport is on. New files in the linked S3 data repository + // that do not currently exist in the FSx file system are automatically imported. + // Changes to existing FSx files in the linked repository are also automatically + // imported to the FSx file system. Files deleted from the linked data repository + // are not deleted from the FSx file system. // // For more information, see Automatically import updates from your S3 bucket // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). @@ -5787,7 +5804,7 @@ type LustreFileSystemConfiguration struct { _ struct{} `type:"structure"` // The number of days to retain automatic backups. Setting this to 0 disables - // automatic backups. You can retain automatic backups for a maximum of 35 days. + // automatic backups. You can retain automatic backups for a maximum of 90 days. // The default is 0. AutomaticBackupRetentionDays *int64 `type:"integer"` @@ -5823,6 +5840,14 @@ type LustreFileSystemConfiguration struct { // (Default = SCRATCH_1) DeploymentType *string `type:"string" enum:"LustreDeploymentType"` + // The type of drive cache used by PERSISTENT_1 file systems that are provisioned + // with HDD storage devices. This parameter is required when storage type is + // HDD. Set to READ, improve the performance for frequently accessed files and + // allows 20% of the total storage capacity of the file system to be cached. + // + // This parameter is required when StorageType is set to HDD. + DriveCacheType *string `type:"string" enum:"DriveCacheType"` + // You use the MountName value when mounting the file system. // // For the SCRATCH_1 deployment type, this value is always "fsx". For SCRATCH_2 @@ -5833,9 +5858,11 @@ type LustreFileSystemConfiguration struct { // Per unit storage throughput represents the megabytes per second of read or // write throughput per 1 tebibyte of storage provisioned. File system throughput // capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput (MB/s/TiB). - // This option is only valid for PERSISTENT_1 deployment types. Valid values - // are 50, 100, 200. - PerUnitStorageThroughput *int64 `min:"50" type:"integer"` + // This option is only valid for PERSISTENT_1 deployment types. + // + // Valid values for SSD storage: 50, 100, 200. Valid values for HDD storage: + // 12, 40. + PerUnitStorageThroughput *int64 `min:"12" type:"integer"` // The preferred start time to perform weekly maintenance, formatted d:HH:MM // in the UTC time zone. d is the weekday number, from 1 through 7, beginning @@ -5883,6 +5910,12 @@ func (s *LustreFileSystemConfiguration) SetDeploymentType(v string) *LustreFileS return s } +// SetDriveCacheType sets the DriveCacheType field's value. +func (s *LustreFileSystemConfiguration) SetDriveCacheType(v string) *LustreFileSystemConfiguration { + s.DriveCacheType = &v + return s +} + // SetMountName sets the MountName field's value. func (s *LustreFileSystemConfiguration) SetMountName(v string) *LustreFileSystemConfiguration { s.MountName = &v @@ -6875,31 +6908,33 @@ func (s *UpdateFileSystemInput) SetWindowsConfiguration(v *UpdateFileSystemWindo type UpdateFileSystemLustreConfiguration struct { _ struct{} `type:"structure"` - // (Optional) When you create your file system, your existing S3 objects appear - // as file and directory listings. Use this property to choose how Amazon FSx - // keeps your file and directory listing up to date as you add or modify objects - // in your linked S3 bucket. AutoImportPolicy can have the following values: + // (Optional) Use this property to configure the AutoImport feature on the file + // system's linked Amazon S3 data repository. You use AutoImport to update the + // contents of your FSx for Lustre file system automatically with changes that + // occur in the linked S3 data repository. AutoImportPolicy can have the following + // values: // - // * NONE - (Default) AutoImport is off. Amazon FSx only updates file and - // directory listings from the linked S3 bucket when the file system is created. - // FSx does not update the file and directory listing for any new or changed - // objects after choosing this option. + // * NONE - (Default) AutoImport is off. Changes in the linked data repository + // are not reflected on the FSx file system. // - // * NEW - AutoImport is on. Amazon FSx automatically imports directory listings - // of any new objects added to the linked S3 bucket that do not currently - // exist in the FSx file system. + // * NEW - AutoImport is on. New files in the linked data repository that + // do not currently exist in the FSx file system are automatically imported. + // Updates to existing FSx files are not imported to the FSx file system. + // Files deleted from the linked data repository are not deleted from the + // FSx file system. // - // * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file - // and directory listings of any new objects added to the S3 bucket and any - // existing objects that are changed in the S3 bucket after you choose this - // option. + // * NEW_CHANGED - AutoImport is on. New files in the linked S3 data repository + // that do not currently exist in the FSx file system are automatically imported. + // Changes to existing FSx files in the linked repository are also automatically + // imported to the FSx file system. Files deleted from the linked data repository + // are not deleted from the FSx file system. // // For more information, see Automatically import updates from your S3 bucket // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` // The number of days to retain automatic backups. Setting this to 0 disables - // automatic backups. You can retain automatic backups for a maximum of 35 days. + // automatic backups. You can retain automatic backups for a maximum of 90 days. // The default is 0. AutomaticBackupRetentionDays *int64 `type:"integer"` @@ -6908,9 +6943,9 @@ type UpdateFileSystemLustreConfiguration struct { // 05:00 specifies 5 AM daily. DailyAutomaticBackupStartTime *string `min:"5" type:"string"` - // (Optional) The preferred start time to perform weekly maintenance, formatted - // d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7, - // beginning with Monday and ending with Sunday. + // The preferred start time to perform weekly maintenance, formatted d:HH:MM + // in the UTC time zone. d is the weekday number, from 1 through 7, beginning + // with Monday and ending with Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -6996,7 +7031,7 @@ type UpdateFileSystemWindowsConfiguration struct { // The number of days to retain automatic daily backups. Setting this to zero // (0) disables automatic daily backups. You can retain automatic daily backups - // for a maximum of 35 days. For more information, see Working with Automatic + // for a maximum of 90 days. For more information, see Working with Automatic // Daily Backups (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#automatic-backups). AutomaticBackupRetentionDays *int64 `type:"integer"` @@ -7096,7 +7131,7 @@ type WindowsFileSystemConfiguration struct { ActiveDirectoryId *string `min:"12" type:"string"` // The number of days to retain automatic backups. Setting this to 0 disables - // automatic backups. You can retain automatic backups for a maximum of 35 days. + // automatic backups. You can retain automatic backups for a maximum of 90 days. AutomaticBackupRetentionDays *int64 `type:"integer"` // A boolean flag indicating whether tags on the file system should be copied @@ -7344,6 +7379,9 @@ const ( // BackupLifecycleCreating is a BackupLifecycle enum value BackupLifecycleCreating = "CREATING" + // BackupLifecycleTransferring is a BackupLifecycle enum value + BackupLifecycleTransferring = "TRANSFERRING" + // BackupLifecycleDeleted is a BackupLifecycle enum value BackupLifecycleDeleted = "DELETED" @@ -7356,6 +7394,7 @@ func BackupLifecycle_Values() []string { return []string{ BackupLifecycleAvailable, BackupLifecycleCreating, + BackupLifecycleTransferring, BackupLifecycleDeleted, BackupLifecycleFailed, } @@ -7466,6 +7505,22 @@ func DataRepositoryTaskType_Values() []string { } } +const ( + // DriveCacheTypeNone is a DriveCacheType enum value + DriveCacheTypeNone = "NONE" + + // DriveCacheTypeRead is a DriveCacheType enum value + DriveCacheTypeRead = "READ" +) + +// DriveCacheType_Values returns all elements of the DriveCacheType enum +func DriveCacheType_Values() []string { + return []string{ + DriveCacheTypeNone, + DriveCacheTypeRead, + } +} + // The lifecycle status of the file system. const ( // FileSystemLifecycleAvailable is a FileSystemLifecycle enum value diff --git a/service/iot/api.go b/service/iot/api.go index 5acdc1f3f2..0c4177de47 100644 --- a/service/iot/api.go +++ b/service/iot/api.go @@ -1417,6 +1417,95 @@ func (c *IoT) ConfirmTopicRuleDestinationWithContext(ctx aws.Context, input *Con return out, req.Send() } +const opCreateAuditSuppression = "CreateAuditSuppression" + +// CreateAuditSuppressionRequest generates a "aws/request.Request" representing the +// client's request for the CreateAuditSuppression operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateAuditSuppression for more information on using the CreateAuditSuppression +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateAuditSuppressionRequest method. +// req, resp := client.CreateAuditSuppressionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) CreateAuditSuppressionRequest(input *CreateAuditSuppressionInput) (req *request.Request, output *CreateAuditSuppressionOutput) { + op := &request.Operation{ + Name: opCreateAuditSuppression, + HTTPMethod: "POST", + HTTPPath: "/audit/suppressions/create", + } + + if input == nil { + input = &CreateAuditSuppressionInput{} + } + + output = &CreateAuditSuppressionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreateAuditSuppression API operation for AWS IoT. +// +// Creates a Device Defender audit suppression. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation CreateAuditSuppression for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ResourceAlreadyExistsException +// The resource already exists. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +// * LimitExceededException +// A limit has been exceeded. +// +func (c *IoT) CreateAuditSuppression(input *CreateAuditSuppressionInput) (*CreateAuditSuppressionOutput, error) { + req, out := c.CreateAuditSuppressionRequest(input) + return out, req.Send() +} + +// CreateAuditSuppressionWithContext is the same as CreateAuditSuppression with the addition of +// the ability to pass a context and additional request options. +// +// See CreateAuditSuppression for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) CreateAuditSuppressionWithContext(ctx aws.Context, input *CreateAuditSuppressionInput, opts ...request.Option) (*CreateAuditSuppressionOutput, error) { + req, out := c.CreateAuditSuppressionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateAuthorizer = "CreateAuthorizer" // CreateAuthorizerRequest generates a "aws/request.Request" representing the @@ -2236,6 +2325,8 @@ func (c *IoT) CreateMitigationActionRequest(input *CreateMitigationActionInput) // CreateMitigationAction API operation for AWS IoT. // // Defines an action that can be applied to audit findings by using StartAuditMitigationActionsTask. +// Only certain types of mitigation actions can be applied to specific check +// names. For more information, see Mitigation actions (https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-mitigation-actions.html). // Each mitigation action can apply only one type of change. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -3776,6 +3867,89 @@ func (c *IoT) DeleteAccountAuditConfigurationWithContext(ctx aws.Context, input return out, req.Send() } +const opDeleteAuditSuppression = "DeleteAuditSuppression" + +// DeleteAuditSuppressionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAuditSuppression operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteAuditSuppression for more information on using the DeleteAuditSuppression +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteAuditSuppressionRequest method. +// req, resp := client.DeleteAuditSuppressionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DeleteAuditSuppressionRequest(input *DeleteAuditSuppressionInput) (req *request.Request, output *DeleteAuditSuppressionOutput) { + op := &request.Operation{ + Name: opDeleteAuditSuppression, + HTTPMethod: "POST", + HTTPPath: "/audit/suppressions/delete", + } + + if input == nil { + input = &DeleteAuditSuppressionInput{} + } + + output = &DeleteAuditSuppressionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteAuditSuppression API operation for AWS IoT. +// +// Deletes a Device Defender audit suppression. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation DeleteAuditSuppression for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +func (c *IoT) DeleteAuditSuppression(input *DeleteAuditSuppressionInput) (*DeleteAuditSuppressionOutput, error) { + req, out := c.DeleteAuditSuppressionRequest(input) + return out, req.Send() +} + +// DeleteAuditSuppressionWithContext is the same as DeleteAuditSuppression with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAuditSuppression for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) DeleteAuditSuppressionWithContext(ctx aws.Context, input *DeleteAuditSuppressionInput, opts ...request.Option) (*DeleteAuditSuppressionOutput, error) { + req, out := c.DeleteAuditSuppressionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteAuthorizer = "DeleteAuthorizer" // DeleteAuthorizerRequest generates a "aws/request.Request" representing the @@ -6524,6 +6698,91 @@ func (c *IoT) DescribeAuditMitigationActionsTaskWithContext(ctx aws.Context, inp return out, req.Send() } +const opDescribeAuditSuppression = "DescribeAuditSuppression" + +// DescribeAuditSuppressionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAuditSuppression operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeAuditSuppression for more information on using the DescribeAuditSuppression +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeAuditSuppressionRequest method. +// req, resp := client.DescribeAuditSuppressionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) DescribeAuditSuppressionRequest(input *DescribeAuditSuppressionInput) (req *request.Request, output *DescribeAuditSuppressionOutput) { + op := &request.Operation{ + Name: opDescribeAuditSuppression, + HTTPMethod: "POST", + HTTPPath: "/audit/suppressions/describe", + } + + if input == nil { + input = &DescribeAuditSuppressionInput{} + } + + output = &DescribeAuditSuppressionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeAuditSuppression API operation for AWS IoT. +// +// Gets information about a Device Defender audit suppression. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation DescribeAuditSuppression for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource does not exist. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +func (c *IoT) DescribeAuditSuppression(input *DescribeAuditSuppressionInput) (*DescribeAuditSuppressionOutput, error) { + req, out := c.DescribeAuditSuppressionRequest(input) + return out, req.Send() +} + +// DescribeAuditSuppressionWithContext is the same as DescribeAuditSuppression with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAuditSuppression for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) DescribeAuditSuppressionWithContext(ctx aws.Context, input *DescribeAuditSuppressionInput, opts ...request.Option) (*DescribeAuditSuppressionOutput, error) { + req, out := c.DescribeAuditSuppressionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeAuditTask = "DescribeAuditTask" // DescribeAuditTaskRequest generates a "aws/request.Request" representing the @@ -10494,6 +10753,12 @@ func (c *IoT) ListActiveViolationsRequest(input *ListActiveViolationsInput) (req Name: opListActiveViolations, HTTPMethod: "GET", HTTPPath: "/active-violations", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -10550,6 +10815,58 @@ func (c *IoT) ListActiveViolationsWithContext(ctx aws.Context, input *ListActive return out, req.Send() } +// ListActiveViolationsPages iterates over the pages of a ListActiveViolations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListActiveViolations 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 ListActiveViolations operation. +// pageNum := 0 +// err := client.ListActiveViolationsPages(params, +// func(page *iot.ListActiveViolationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListActiveViolationsPages(input *ListActiveViolationsInput, fn func(*ListActiveViolationsOutput, bool) bool) error { + return c.ListActiveViolationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListActiveViolationsPagesWithContext same as ListActiveViolationsPages 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 *IoT) ListActiveViolationsPagesWithContext(ctx aws.Context, input *ListActiveViolationsInput, fn func(*ListActiveViolationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListActiveViolationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListActiveViolationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListActiveViolationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListAttachedPolicies = "ListAttachedPolicies" // ListAttachedPoliciesRequest generates a "aws/request.Request" representing the @@ -10579,6 +10896,12 @@ func (c *IoT) ListAttachedPoliciesRequest(input *ListAttachedPoliciesInput) (req Name: opListAttachedPolicies, HTTPMethod: "POST", HTTPPath: "/attached-policies/{target}", + Paginator: &request.Paginator{ + InputTokens: []string{"marker"}, + OutputTokens: []string{"nextMarker"}, + LimitToken: "pageSize", + TruncationToken: "", + }, } if input == nil { @@ -10644,6 +10967,58 @@ func (c *IoT) ListAttachedPoliciesWithContext(ctx aws.Context, input *ListAttach return out, req.Send() } +// ListAttachedPoliciesPages iterates over the pages of a ListAttachedPolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAttachedPolicies 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 ListAttachedPolicies operation. +// pageNum := 0 +// err := client.ListAttachedPoliciesPages(params, +// func(page *iot.ListAttachedPoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListAttachedPoliciesPages(input *ListAttachedPoliciesInput, fn func(*ListAttachedPoliciesOutput, bool) bool) error { + return c.ListAttachedPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAttachedPoliciesPagesWithContext same as ListAttachedPoliciesPages 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 *IoT) ListAttachedPoliciesPagesWithContext(ctx aws.Context, input *ListAttachedPoliciesInput, fn func(*ListAttachedPoliciesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAttachedPoliciesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAttachedPoliciesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAttachedPoliciesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListAuditFindings = "ListAuditFindings" // ListAuditFindingsRequest generates a "aws/request.Request" representing the @@ -10673,6 +11048,12 @@ func (c *IoT) ListAuditFindingsRequest(input *ListAuditFindingsInput) (req *requ Name: opListAuditFindings, HTTPMethod: "POST", HTTPPath: "/audit/findings", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -10728,6 +11109,58 @@ func (c *IoT) ListAuditFindingsWithContext(ctx aws.Context, input *ListAuditFind return out, req.Send() } +// ListAuditFindingsPages iterates over the pages of a ListAuditFindings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAuditFindings 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 ListAuditFindings operation. +// pageNum := 0 +// err := client.ListAuditFindingsPages(params, +// func(page *iot.ListAuditFindingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListAuditFindingsPages(input *ListAuditFindingsInput, fn func(*ListAuditFindingsOutput, bool) bool) error { + return c.ListAuditFindingsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAuditFindingsPagesWithContext same as ListAuditFindingsPages 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 *IoT) ListAuditFindingsPagesWithContext(ctx aws.Context, input *ListAuditFindingsInput, fn func(*ListAuditFindingsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAuditFindingsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAuditFindingsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAuditFindingsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListAuditMitigationActionsExecutions = "ListAuditMitigationActionsExecutions" // ListAuditMitigationActionsExecutionsRequest generates a "aws/request.Request" representing the @@ -10757,6 +11190,12 @@ func (c *IoT) ListAuditMitigationActionsExecutionsRequest(input *ListAuditMitiga Name: opListAuditMitigationActionsExecutions, HTTPMethod: "GET", HTTPPath: "/audit/mitigationactions/executions", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -10810,6 +11249,58 @@ func (c *IoT) ListAuditMitigationActionsExecutionsWithContext(ctx aws.Context, i return out, req.Send() } +// ListAuditMitigationActionsExecutionsPages iterates over the pages of a ListAuditMitigationActionsExecutions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAuditMitigationActionsExecutions 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 ListAuditMitigationActionsExecutions operation. +// pageNum := 0 +// err := client.ListAuditMitigationActionsExecutionsPages(params, +// func(page *iot.ListAuditMitigationActionsExecutionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListAuditMitigationActionsExecutionsPages(input *ListAuditMitigationActionsExecutionsInput, fn func(*ListAuditMitigationActionsExecutionsOutput, bool) bool) error { + return c.ListAuditMitigationActionsExecutionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAuditMitigationActionsExecutionsPagesWithContext same as ListAuditMitigationActionsExecutionsPages 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 *IoT) ListAuditMitigationActionsExecutionsPagesWithContext(ctx aws.Context, input *ListAuditMitigationActionsExecutionsInput, fn func(*ListAuditMitigationActionsExecutionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAuditMitigationActionsExecutionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAuditMitigationActionsExecutionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAuditMitigationActionsExecutionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListAuditMitigationActionsTasks = "ListAuditMitigationActionsTasks" // ListAuditMitigationActionsTasksRequest generates a "aws/request.Request" representing the @@ -10839,6 +11330,12 @@ func (c *IoT) ListAuditMitigationActionsTasksRequest(input *ListAuditMitigationA Name: opListAuditMitigationActionsTasks, HTTPMethod: "GET", HTTPPath: "/audit/mitigationactions/tasks", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -10892,6 +11389,198 @@ func (c *IoT) ListAuditMitigationActionsTasksWithContext(ctx aws.Context, input return out, req.Send() } +// ListAuditMitigationActionsTasksPages iterates over the pages of a ListAuditMitigationActionsTasks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAuditMitigationActionsTasks 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 ListAuditMitigationActionsTasks operation. +// pageNum := 0 +// err := client.ListAuditMitigationActionsTasksPages(params, +// func(page *iot.ListAuditMitigationActionsTasksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListAuditMitigationActionsTasksPages(input *ListAuditMitigationActionsTasksInput, fn func(*ListAuditMitigationActionsTasksOutput, bool) bool) error { + return c.ListAuditMitigationActionsTasksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAuditMitigationActionsTasksPagesWithContext same as ListAuditMitigationActionsTasksPages 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 *IoT) ListAuditMitigationActionsTasksPagesWithContext(ctx aws.Context, input *ListAuditMitigationActionsTasksInput, fn func(*ListAuditMitigationActionsTasksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAuditMitigationActionsTasksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAuditMitigationActionsTasksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAuditMitigationActionsTasksOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListAuditSuppressions = "ListAuditSuppressions" + +// ListAuditSuppressionsRequest generates a "aws/request.Request" representing the +// client's request for the ListAuditSuppressions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListAuditSuppressions for more information on using the ListAuditSuppressions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListAuditSuppressionsRequest method. +// req, resp := client.ListAuditSuppressionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) ListAuditSuppressionsRequest(input *ListAuditSuppressionsInput) (req *request.Request, output *ListAuditSuppressionsOutput) { + op := &request.Operation{ + Name: opListAuditSuppressions, + HTTPMethod: "POST", + HTTPPath: "/audit/suppressions/list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListAuditSuppressionsInput{} + } + + output = &ListAuditSuppressionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAuditSuppressions API operation for AWS IoT. +// +// Lists your Device Defender audit listings. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation ListAuditSuppressions for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +func (c *IoT) ListAuditSuppressions(input *ListAuditSuppressionsInput) (*ListAuditSuppressionsOutput, error) { + req, out := c.ListAuditSuppressionsRequest(input) + return out, req.Send() +} + +// ListAuditSuppressionsWithContext is the same as ListAuditSuppressions with the addition of +// the ability to pass a context and additional request options. +// +// See ListAuditSuppressions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) ListAuditSuppressionsWithContext(ctx aws.Context, input *ListAuditSuppressionsInput, opts ...request.Option) (*ListAuditSuppressionsOutput, error) { + req, out := c.ListAuditSuppressionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListAuditSuppressionsPages iterates over the pages of a ListAuditSuppressions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAuditSuppressions 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 ListAuditSuppressions operation. +// pageNum := 0 +// err := client.ListAuditSuppressionsPages(params, +// func(page *iot.ListAuditSuppressionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListAuditSuppressionsPages(input *ListAuditSuppressionsInput, fn func(*ListAuditSuppressionsOutput, bool) bool) error { + return c.ListAuditSuppressionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAuditSuppressionsPagesWithContext same as ListAuditSuppressionsPages 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 *IoT) ListAuditSuppressionsPagesWithContext(ctx aws.Context, input *ListAuditSuppressionsInput, fn func(*ListAuditSuppressionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAuditSuppressionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAuditSuppressionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAuditSuppressionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListAuditTasks = "ListAuditTasks" // ListAuditTasksRequest generates a "aws/request.Request" representing the @@ -10921,6 +11610,12 @@ func (c *IoT) ListAuditTasksRequest(input *ListAuditTasksInput) (req *request.Re Name: opListAuditTasks, HTTPMethod: "GET", HTTPPath: "/audit/tasks", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -10975,6 +11670,58 @@ func (c *IoT) ListAuditTasksWithContext(ctx aws.Context, input *ListAuditTasksIn return out, req.Send() } +// ListAuditTasksPages iterates over the pages of a ListAuditTasks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAuditTasks 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 ListAuditTasks operation. +// pageNum := 0 +// err := client.ListAuditTasksPages(params, +// func(page *iot.ListAuditTasksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListAuditTasksPages(input *ListAuditTasksInput, fn func(*ListAuditTasksOutput, bool) bool) error { + return c.ListAuditTasksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAuditTasksPagesWithContext same as ListAuditTasksPages 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 *IoT) ListAuditTasksPagesWithContext(ctx aws.Context, input *ListAuditTasksInput, fn func(*ListAuditTasksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAuditTasksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAuditTasksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAuditTasksOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListAuthorizers = "ListAuthorizers" // ListAuthorizersRequest generates a "aws/request.Request" representing the @@ -11004,6 +11751,12 @@ func (c *IoT) ListAuthorizersRequest(input *ListAuthorizersInput) (req *request. Name: opListAuthorizers, HTTPMethod: "GET", HTTPPath: "/authorizers/", + Paginator: &request.Paginator{ + InputTokens: []string{"marker"}, + OutputTokens: []string{"nextMarker"}, + LimitToken: "pageSize", + TruncationToken: "", + }, } if input == nil { @@ -11063,6 +11816,58 @@ func (c *IoT) ListAuthorizersWithContext(ctx aws.Context, input *ListAuthorizers return out, req.Send() } +// ListAuthorizersPages iterates over the pages of a ListAuthorizers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAuthorizers 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 ListAuthorizers operation. +// pageNum := 0 +// err := client.ListAuthorizersPages(params, +// func(page *iot.ListAuthorizersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListAuthorizersPages(input *ListAuthorizersInput, fn func(*ListAuthorizersOutput, bool) bool) error { + return c.ListAuthorizersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAuthorizersPagesWithContext same as ListAuthorizersPages 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 *IoT) ListAuthorizersPagesWithContext(ctx aws.Context, input *ListAuthorizersInput, fn func(*ListAuthorizersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAuthorizersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAuthorizersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAuthorizersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListBillingGroups = "ListBillingGroups" // ListBillingGroupsRequest generates a "aws/request.Request" representing the @@ -11092,6 +11897,12 @@ func (c *IoT) ListBillingGroupsRequest(input *ListBillingGroupsInput) (req *requ Name: opListBillingGroups, HTTPMethod: "GET", HTTPPath: "/billing-groups", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -11148,6 +11959,58 @@ func (c *IoT) ListBillingGroupsWithContext(ctx aws.Context, input *ListBillingGr return out, req.Send() } +// ListBillingGroupsPages iterates over the pages of a ListBillingGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBillingGroups 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 ListBillingGroups operation. +// pageNum := 0 +// err := client.ListBillingGroupsPages(params, +// func(page *iot.ListBillingGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListBillingGroupsPages(input *ListBillingGroupsInput, fn func(*ListBillingGroupsOutput, bool) bool) error { + return c.ListBillingGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBillingGroupsPagesWithContext same as ListBillingGroupsPages 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 *IoT) ListBillingGroupsPagesWithContext(ctx aws.Context, input *ListBillingGroupsInput, fn func(*ListBillingGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBillingGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBillingGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListBillingGroupsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListCACertificates = "ListCACertificates" // ListCACertificatesRequest generates a "aws/request.Request" representing the @@ -11177,6 +12040,12 @@ func (c *IoT) ListCACertificatesRequest(input *ListCACertificatesInput) (req *re Name: opListCACertificates, HTTPMethod: "GET", HTTPPath: "/cacertificates", + Paginator: &request.Paginator{ + InputTokens: []string{"marker"}, + OutputTokens: []string{"nextMarker"}, + LimitToken: "pageSize", + TruncationToken: "", + }, } if input == nil { @@ -11239,6 +12108,58 @@ func (c *IoT) ListCACertificatesWithContext(ctx aws.Context, input *ListCACertif return out, req.Send() } +// ListCACertificatesPages iterates over the pages of a ListCACertificates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCACertificates 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 ListCACertificates operation. +// pageNum := 0 +// err := client.ListCACertificatesPages(params, +// func(page *iot.ListCACertificatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListCACertificatesPages(input *ListCACertificatesInput, fn func(*ListCACertificatesOutput, bool) bool) error { + return c.ListCACertificatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCACertificatesPagesWithContext same as ListCACertificatesPages 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 *IoT) ListCACertificatesPagesWithContext(ctx aws.Context, input *ListCACertificatesInput, fn func(*ListCACertificatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCACertificatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCACertificatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCACertificatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListCertificates = "ListCertificates" // ListCertificatesRequest generates a "aws/request.Request" representing the @@ -11268,6 +12189,12 @@ func (c *IoT) ListCertificatesRequest(input *ListCertificatesInput) (req *reques Name: opListCertificates, HTTPMethod: "GET", HTTPPath: "/certificates", + Paginator: &request.Paginator{ + InputTokens: []string{"marker"}, + OutputTokens: []string{"nextMarker"}, + LimitToken: "pageSize", + TruncationToken: "", + }, } if input == nil { @@ -11330,6 +12257,58 @@ func (c *IoT) ListCertificatesWithContext(ctx aws.Context, input *ListCertificat return out, req.Send() } +// ListCertificatesPages iterates over the pages of a ListCertificates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCertificates 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 ListCertificates operation. +// pageNum := 0 +// err := client.ListCertificatesPages(params, +// func(page *iot.ListCertificatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListCertificatesPages(input *ListCertificatesInput, fn func(*ListCertificatesOutput, bool) bool) error { + return c.ListCertificatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCertificatesPagesWithContext same as ListCertificatesPages 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 *IoT) ListCertificatesPagesWithContext(ctx aws.Context, input *ListCertificatesInput, fn func(*ListCertificatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCertificatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCertificatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCertificatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListCertificatesByCA = "ListCertificatesByCA" // ListCertificatesByCARequest generates a "aws/request.Request" representing the @@ -11359,6 +12338,12 @@ func (c *IoT) ListCertificatesByCARequest(input *ListCertificatesByCAInput) (req Name: opListCertificatesByCA, HTTPMethod: "GET", HTTPPath: "/certificates-by-ca/{caCertificateId}", + Paginator: &request.Paginator{ + InputTokens: []string{"marker"}, + OutputTokens: []string{"nextMarker"}, + LimitToken: "pageSize", + TruncationToken: "", + }, } if input == nil { @@ -11418,6 +12403,58 @@ func (c *IoT) ListCertificatesByCAWithContext(ctx aws.Context, input *ListCertif return out, req.Send() } +// ListCertificatesByCAPages iterates over the pages of a ListCertificatesByCA operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListCertificatesByCA 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 ListCertificatesByCA operation. +// pageNum := 0 +// err := client.ListCertificatesByCAPages(params, +// func(page *iot.ListCertificatesByCAOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListCertificatesByCAPages(input *ListCertificatesByCAInput, fn func(*ListCertificatesByCAOutput, bool) bool) error { + return c.ListCertificatesByCAPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListCertificatesByCAPagesWithContext same as ListCertificatesByCAPages 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 *IoT) ListCertificatesByCAPagesWithContext(ctx aws.Context, input *ListCertificatesByCAInput, fn func(*ListCertificatesByCAOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListCertificatesByCAInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListCertificatesByCARequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListCertificatesByCAOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListDimensions = "ListDimensions" // ListDimensionsRequest generates a "aws/request.Request" representing the @@ -11447,6 +12484,12 @@ func (c *IoT) ListDimensionsRequest(input *ListDimensionsInput) (req *request.Re Name: opListDimensions, HTTPMethod: "GET", HTTPPath: "/dimensions", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -11500,6 +12543,58 @@ func (c *IoT) ListDimensionsWithContext(ctx aws.Context, input *ListDimensionsIn return out, req.Send() } +// ListDimensionsPages iterates over the pages of a ListDimensions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDimensions 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 ListDimensions operation. +// pageNum := 0 +// err := client.ListDimensionsPages(params, +// func(page *iot.ListDimensionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListDimensionsPages(input *ListDimensionsInput, fn func(*ListDimensionsOutput, bool) bool) error { + return c.ListDimensionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDimensionsPagesWithContext same as ListDimensionsPages 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 *IoT) ListDimensionsPagesWithContext(ctx aws.Context, input *ListDimensionsInput, fn func(*ListDimensionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDimensionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDimensionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDimensionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListDomainConfigurations = "ListDomainConfigurations" // ListDomainConfigurationsRequest generates a "aws/request.Request" representing the @@ -11529,6 +12624,12 @@ func (c *IoT) ListDomainConfigurationsRequest(input *ListDomainConfigurationsInp Name: opListDomainConfigurations, HTTPMethod: "GET", HTTPPath: "/domainConfigurations", + Paginator: &request.Paginator{ + InputTokens: []string{"marker"}, + OutputTokens: []string{"nextMarker"}, + LimitToken: "pageSize", + TruncationToken: "", + }, } if input == nil { @@ -11591,6 +12692,58 @@ func (c *IoT) ListDomainConfigurationsWithContext(ctx aws.Context, input *ListDo return out, req.Send() } +// ListDomainConfigurationsPages iterates over the pages of a ListDomainConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDomainConfigurations 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 ListDomainConfigurations operation. +// pageNum := 0 +// err := client.ListDomainConfigurationsPages(params, +// func(page *iot.ListDomainConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListDomainConfigurationsPages(input *ListDomainConfigurationsInput, fn func(*ListDomainConfigurationsOutput, bool) bool) error { + return c.ListDomainConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDomainConfigurationsPagesWithContext same as ListDomainConfigurationsPages 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 *IoT) ListDomainConfigurationsPagesWithContext(ctx aws.Context, input *ListDomainConfigurationsInput, fn func(*ListDomainConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDomainConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDomainConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDomainConfigurationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListIndices = "ListIndices" // ListIndicesRequest generates a "aws/request.Request" representing the @@ -11620,6 +12773,12 @@ func (c *IoT) ListIndicesRequest(input *ListIndicesInput) (req *request.Request, Name: opListIndices, HTTPMethod: "GET", HTTPPath: "/indices", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -11679,6 +12838,58 @@ func (c *IoT) ListIndicesWithContext(ctx aws.Context, input *ListIndicesInput, o return out, req.Send() } +// ListIndicesPages iterates over the pages of a ListIndices operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListIndices 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 ListIndices operation. +// pageNum := 0 +// err := client.ListIndicesPages(params, +// func(page *iot.ListIndicesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListIndicesPages(input *ListIndicesInput, fn func(*ListIndicesOutput, bool) bool) error { + return c.ListIndicesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListIndicesPagesWithContext same as ListIndicesPages 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 *IoT) ListIndicesPagesWithContext(ctx aws.Context, input *ListIndicesInput, fn func(*ListIndicesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListIndicesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListIndicesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListIndicesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListJobExecutionsForJob = "ListJobExecutionsForJob" // ListJobExecutionsForJobRequest generates a "aws/request.Request" representing the @@ -11708,6 +12919,12 @@ func (c *IoT) ListJobExecutionsForJobRequest(input *ListJobExecutionsForJobInput Name: opListJobExecutionsForJob, HTTPMethod: "GET", HTTPPath: "/jobs/{jobId}/things", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -11764,6 +12981,58 @@ func (c *IoT) ListJobExecutionsForJobWithContext(ctx aws.Context, input *ListJob return out, req.Send() } +// ListJobExecutionsForJobPages iterates over the pages of a ListJobExecutionsForJob operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListJobExecutionsForJob 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 ListJobExecutionsForJob operation. +// pageNum := 0 +// err := client.ListJobExecutionsForJobPages(params, +// func(page *iot.ListJobExecutionsForJobOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListJobExecutionsForJobPages(input *ListJobExecutionsForJobInput, fn func(*ListJobExecutionsForJobOutput, bool) bool) error { + return c.ListJobExecutionsForJobPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListJobExecutionsForJobPagesWithContext same as ListJobExecutionsForJobPages 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 *IoT) ListJobExecutionsForJobPagesWithContext(ctx aws.Context, input *ListJobExecutionsForJobInput, fn func(*ListJobExecutionsForJobOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListJobExecutionsForJobInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListJobExecutionsForJobRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListJobExecutionsForJobOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListJobExecutionsForThing = "ListJobExecutionsForThing" // ListJobExecutionsForThingRequest generates a "aws/request.Request" representing the @@ -11793,6 +13062,12 @@ func (c *IoT) ListJobExecutionsForThingRequest(input *ListJobExecutionsForThingI Name: opListJobExecutionsForThing, HTTPMethod: "GET", HTTPPath: "/things/{thingName}/jobs", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -11849,6 +13124,58 @@ func (c *IoT) ListJobExecutionsForThingWithContext(ctx aws.Context, input *ListJ return out, req.Send() } +// ListJobExecutionsForThingPages iterates over the pages of a ListJobExecutionsForThing operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListJobExecutionsForThing 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 ListJobExecutionsForThing operation. +// pageNum := 0 +// err := client.ListJobExecutionsForThingPages(params, +// func(page *iot.ListJobExecutionsForThingOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListJobExecutionsForThingPages(input *ListJobExecutionsForThingInput, fn func(*ListJobExecutionsForThingOutput, bool) bool) error { + return c.ListJobExecutionsForThingPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListJobExecutionsForThingPagesWithContext same as ListJobExecutionsForThingPages 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 *IoT) ListJobExecutionsForThingPagesWithContext(ctx aws.Context, input *ListJobExecutionsForThingInput, fn func(*ListJobExecutionsForThingOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListJobExecutionsForThingInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListJobExecutionsForThingRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListJobExecutionsForThingOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListJobs = "ListJobs" // ListJobsRequest generates a "aws/request.Request" representing the @@ -11878,6 +13205,12 @@ func (c *IoT) ListJobsRequest(input *ListJobsInput) (req *request.Request, outpu Name: opListJobs, HTTPMethod: "GET", HTTPPath: "/jobs", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -11934,6 +13267,58 @@ func (c *IoT) ListJobsWithContext(ctx aws.Context, input *ListJobsInput, opts .. return out, req.Send() } +// ListJobsPages iterates over the pages of a ListJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListJobs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListJobs operation. +// pageNum := 0 +// err := client.ListJobsPages(params, +// func(page *iot.ListJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListJobsPages(input *ListJobsInput, fn func(*ListJobsOutput, bool) bool) error { + return c.ListJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListJobsPagesWithContext same as ListJobsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) ListJobsPagesWithContext(ctx aws.Context, input *ListJobsInput, fn func(*ListJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListJobsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListMitigationActions = "ListMitigationActions" // ListMitigationActionsRequest generates a "aws/request.Request" representing the @@ -11963,6 +13348,12 @@ func (c *IoT) ListMitigationActionsRequest(input *ListMitigationActionsInput) (r Name: opListMitigationActions, HTTPMethod: "GET", HTTPPath: "/mitigationactions/actions", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -12016,6 +13407,58 @@ func (c *IoT) ListMitigationActionsWithContext(ctx aws.Context, input *ListMitig return out, req.Send() } +// ListMitigationActionsPages iterates over the pages of a ListMitigationActions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListMitigationActions 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 ListMitigationActions operation. +// pageNum := 0 +// err := client.ListMitigationActionsPages(params, +// func(page *iot.ListMitigationActionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListMitigationActionsPages(input *ListMitigationActionsInput, fn func(*ListMitigationActionsOutput, bool) bool) error { + return c.ListMitigationActionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListMitigationActionsPagesWithContext same as ListMitigationActionsPages 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 *IoT) ListMitigationActionsPagesWithContext(ctx aws.Context, input *ListMitigationActionsInput, fn func(*ListMitigationActionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListMitigationActionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListMitigationActionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListMitigationActionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListOTAUpdates = "ListOTAUpdates" // ListOTAUpdatesRequest generates a "aws/request.Request" representing the @@ -12045,6 +13488,12 @@ func (c *IoT) ListOTAUpdatesRequest(input *ListOTAUpdatesInput) (req *request.Re Name: opListOTAUpdates, HTTPMethod: "GET", HTTPPath: "/otaUpdates", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -12104,6 +13553,58 @@ func (c *IoT) ListOTAUpdatesWithContext(ctx aws.Context, input *ListOTAUpdatesIn return out, req.Send() } +// ListOTAUpdatesPages iterates over the pages of a ListOTAUpdates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListOTAUpdates 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 ListOTAUpdates operation. +// pageNum := 0 +// err := client.ListOTAUpdatesPages(params, +// func(page *iot.ListOTAUpdatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListOTAUpdatesPages(input *ListOTAUpdatesInput, fn func(*ListOTAUpdatesOutput, bool) bool) error { + return c.ListOTAUpdatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListOTAUpdatesPagesWithContext same as ListOTAUpdatesPages 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 *IoT) ListOTAUpdatesPagesWithContext(ctx aws.Context, input *ListOTAUpdatesInput, fn func(*ListOTAUpdatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListOTAUpdatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListOTAUpdatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListOTAUpdatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListOutgoingCertificates = "ListOutgoingCertificates" // ListOutgoingCertificatesRequest generates a "aws/request.Request" representing the @@ -12133,6 +13634,12 @@ func (c *IoT) ListOutgoingCertificatesRequest(input *ListOutgoingCertificatesInp Name: opListOutgoingCertificates, HTTPMethod: "GET", HTTPPath: "/certificates-out-going", + Paginator: &request.Paginator{ + InputTokens: []string{"marker"}, + OutputTokens: []string{"nextMarker"}, + LimitToken: "pageSize", + TruncationToken: "", + }, } if input == nil { @@ -12192,6 +13699,58 @@ func (c *IoT) ListOutgoingCertificatesWithContext(ctx aws.Context, input *ListOu return out, req.Send() } +// ListOutgoingCertificatesPages iterates over the pages of a ListOutgoingCertificates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListOutgoingCertificates 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 ListOutgoingCertificates operation. +// pageNum := 0 +// err := client.ListOutgoingCertificatesPages(params, +// func(page *iot.ListOutgoingCertificatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListOutgoingCertificatesPages(input *ListOutgoingCertificatesInput, fn func(*ListOutgoingCertificatesOutput, bool) bool) error { + return c.ListOutgoingCertificatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListOutgoingCertificatesPagesWithContext same as ListOutgoingCertificatesPages 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 *IoT) ListOutgoingCertificatesPagesWithContext(ctx aws.Context, input *ListOutgoingCertificatesInput, fn func(*ListOutgoingCertificatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListOutgoingCertificatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListOutgoingCertificatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListOutgoingCertificatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListPolicies = "ListPolicies" // ListPoliciesRequest generates a "aws/request.Request" representing the @@ -12221,6 +13780,12 @@ func (c *IoT) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Reques Name: opListPolicies, HTTPMethod: "GET", HTTPPath: "/policies", + Paginator: &request.Paginator{ + InputTokens: []string{"marker"}, + OutputTokens: []string{"nextMarker"}, + LimitToken: "pageSize", + TruncationToken: "", + }, } if input == nil { @@ -12280,6 +13845,58 @@ func (c *IoT) ListPoliciesWithContext(ctx aws.Context, input *ListPoliciesInput, return out, req.Send() } +// ListPoliciesPages iterates over the pages of a ListPolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPolicies 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 ListPolicies operation. +// pageNum := 0 +// err := client.ListPoliciesPages(params, +// func(page *iot.ListPoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListPoliciesPages(input *ListPoliciesInput, fn func(*ListPoliciesOutput, bool) bool) error { + return c.ListPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPoliciesPagesWithContext same as ListPoliciesPages 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 *IoT) ListPoliciesPagesWithContext(ctx aws.Context, input *ListPoliciesInput, fn func(*ListPoliciesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPoliciesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPoliciesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPoliciesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListPolicyPrincipals = "ListPolicyPrincipals" // ListPolicyPrincipalsRequest generates a "aws/request.Request" representing the @@ -12314,6 +13931,12 @@ func (c *IoT) ListPolicyPrincipalsRequest(input *ListPolicyPrincipalsInput) (req Name: opListPolicyPrincipals, HTTPMethod: "GET", HTTPPath: "/policy-principals", + Paginator: &request.Paginator{ + InputTokens: []string{"marker"}, + OutputTokens: []string{"nextMarker"}, + LimitToken: "pageSize", + TruncationToken: "", + }, } if input == nil { @@ -12382,6 +14005,62 @@ func (c *IoT) ListPolicyPrincipalsWithContext(ctx aws.Context, input *ListPolicy return out, req.Send() } +// ListPolicyPrincipalsPages iterates over the pages of a ListPolicyPrincipals operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPolicyPrincipals 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 ListPolicyPrincipals operation. +// pageNum := 0 +// err := client.ListPolicyPrincipalsPages(params, +// func(page *iot.ListPolicyPrincipalsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +// +// Deprecated: ListPolicyPrincipalsPages has been deprecated +func (c *IoT) ListPolicyPrincipalsPages(input *ListPolicyPrincipalsInput, fn func(*ListPolicyPrincipalsOutput, bool) bool) error { + return c.ListPolicyPrincipalsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPolicyPrincipalsPagesWithContext same as ListPolicyPrincipalsPages 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. +// +// Deprecated: ListPolicyPrincipalsPagesWithContext has been deprecated +func (c *IoT) ListPolicyPrincipalsPagesWithContext(ctx aws.Context, input *ListPolicyPrincipalsInput, fn func(*ListPolicyPrincipalsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPolicyPrincipalsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPolicyPrincipalsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPolicyPrincipalsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListPolicyVersions = "ListPolicyVersions" // ListPolicyVersionsRequest generates a "aws/request.Request" representing the @@ -12507,6 +14186,12 @@ func (c *IoT) ListPrincipalPoliciesRequest(input *ListPrincipalPoliciesInput) (r Name: opListPrincipalPolicies, HTTPMethod: "GET", HTTPPath: "/principal-policies", + Paginator: &request.Paginator{ + InputTokens: []string{"marker"}, + OutputTokens: []string{"nextMarker"}, + LimitToken: "pageSize", + TruncationToken: "", + }, } if input == nil { @@ -12576,6 +14261,62 @@ func (c *IoT) ListPrincipalPoliciesWithContext(ctx aws.Context, input *ListPrinc return out, req.Send() } +// ListPrincipalPoliciesPages iterates over the pages of a ListPrincipalPolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPrincipalPolicies 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 ListPrincipalPolicies operation. +// pageNum := 0 +// err := client.ListPrincipalPoliciesPages(params, +// func(page *iot.ListPrincipalPoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +// +// Deprecated: ListPrincipalPoliciesPages has been deprecated +func (c *IoT) ListPrincipalPoliciesPages(input *ListPrincipalPoliciesInput, fn func(*ListPrincipalPoliciesOutput, bool) bool) error { + return c.ListPrincipalPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPrincipalPoliciesPagesWithContext same as ListPrincipalPoliciesPages 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. +// +// Deprecated: ListPrincipalPoliciesPagesWithContext has been deprecated +func (c *IoT) ListPrincipalPoliciesPagesWithContext(ctx aws.Context, input *ListPrincipalPoliciesInput, fn func(*ListPrincipalPoliciesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPrincipalPoliciesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPrincipalPoliciesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPrincipalPoliciesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListPrincipalThings = "ListPrincipalThings" // ListPrincipalThingsRequest generates a "aws/request.Request" representing the @@ -12605,6 +14346,12 @@ func (c *IoT) ListPrincipalThingsRequest(input *ListPrincipalThingsInput) (req * Name: opListPrincipalThings, HTTPMethod: "GET", HTTPPath: "/principals/things", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -12669,6 +14416,58 @@ func (c *IoT) ListPrincipalThingsWithContext(ctx aws.Context, input *ListPrincip return out, req.Send() } +// ListPrincipalThingsPages iterates over the pages of a ListPrincipalThings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPrincipalThings 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 ListPrincipalThings operation. +// pageNum := 0 +// err := client.ListPrincipalThingsPages(params, +// func(page *iot.ListPrincipalThingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListPrincipalThingsPages(input *ListPrincipalThingsInput, fn func(*ListPrincipalThingsOutput, bool) bool) error { + return c.ListPrincipalThingsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPrincipalThingsPagesWithContext same as ListPrincipalThingsPages 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 *IoT) ListPrincipalThingsPagesWithContext(ctx aws.Context, input *ListPrincipalThingsInput, fn func(*ListPrincipalThingsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPrincipalThingsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPrincipalThingsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPrincipalThingsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListProvisioningTemplateVersions = "ListProvisioningTemplateVersions" // ListProvisioningTemplateVersionsRequest generates a "aws/request.Request" representing the @@ -12698,6 +14497,12 @@ func (c *IoT) ListProvisioningTemplateVersionsRequest(input *ListProvisioningTem Name: opListProvisioningTemplateVersions, HTTPMethod: "GET", HTTPPath: "/provisioning-templates/{templateName}/versions", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -12757,6 +14562,58 @@ func (c *IoT) ListProvisioningTemplateVersionsWithContext(ctx aws.Context, input return out, req.Send() } +// ListProvisioningTemplateVersionsPages iterates over the pages of a ListProvisioningTemplateVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProvisioningTemplateVersions 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 ListProvisioningTemplateVersions operation. +// pageNum := 0 +// err := client.ListProvisioningTemplateVersionsPages(params, +// func(page *iot.ListProvisioningTemplateVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListProvisioningTemplateVersionsPages(input *ListProvisioningTemplateVersionsInput, fn func(*ListProvisioningTemplateVersionsOutput, bool) bool) error { + return c.ListProvisioningTemplateVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListProvisioningTemplateVersionsPagesWithContext same as ListProvisioningTemplateVersionsPages 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 *IoT) ListProvisioningTemplateVersionsPagesWithContext(ctx aws.Context, input *ListProvisioningTemplateVersionsInput, fn func(*ListProvisioningTemplateVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProvisioningTemplateVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProvisioningTemplateVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListProvisioningTemplateVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListProvisioningTemplates = "ListProvisioningTemplates" // ListProvisioningTemplatesRequest generates a "aws/request.Request" representing the @@ -12786,6 +14643,12 @@ func (c *IoT) ListProvisioningTemplatesRequest(input *ListProvisioningTemplatesI Name: opListProvisioningTemplates, HTTPMethod: "GET", HTTPPath: "/provisioning-templates", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -12842,6 +14705,58 @@ func (c *IoT) ListProvisioningTemplatesWithContext(ctx aws.Context, input *ListP return out, req.Send() } +// ListProvisioningTemplatesPages iterates over the pages of a ListProvisioningTemplates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProvisioningTemplates 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 ListProvisioningTemplates operation. +// pageNum := 0 +// err := client.ListProvisioningTemplatesPages(params, +// func(page *iot.ListProvisioningTemplatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListProvisioningTemplatesPages(input *ListProvisioningTemplatesInput, fn func(*ListProvisioningTemplatesOutput, bool) bool) error { + return c.ListProvisioningTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListProvisioningTemplatesPagesWithContext same as ListProvisioningTemplatesPages 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 *IoT) ListProvisioningTemplatesPagesWithContext(ctx aws.Context, input *ListProvisioningTemplatesInput, fn func(*ListProvisioningTemplatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProvisioningTemplatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProvisioningTemplatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListProvisioningTemplatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListRoleAliases = "ListRoleAliases" // ListRoleAliasesRequest generates a "aws/request.Request" representing the @@ -12871,6 +14786,12 @@ func (c *IoT) ListRoleAliasesRequest(input *ListRoleAliasesInput) (req *request. Name: opListRoleAliases, HTTPMethod: "GET", HTTPPath: "/role-aliases", + Paginator: &request.Paginator{ + InputTokens: []string{"marker"}, + OutputTokens: []string{"nextMarker"}, + LimitToken: "pageSize", + TruncationToken: "", + }, } if input == nil { @@ -12930,6 +14851,58 @@ func (c *IoT) ListRoleAliasesWithContext(ctx aws.Context, input *ListRoleAliases return out, req.Send() } +// ListRoleAliasesPages iterates over the pages of a ListRoleAliases operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListRoleAliases 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 ListRoleAliases operation. +// pageNum := 0 +// err := client.ListRoleAliasesPages(params, +// func(page *iot.ListRoleAliasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListRoleAliasesPages(input *ListRoleAliasesInput, fn func(*ListRoleAliasesOutput, bool) bool) error { + return c.ListRoleAliasesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListRoleAliasesPagesWithContext same as ListRoleAliasesPages 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 *IoT) ListRoleAliasesPagesWithContext(ctx aws.Context, input *ListRoleAliasesInput, fn func(*ListRoleAliasesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListRoleAliasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListRoleAliasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListRoleAliasesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListScheduledAudits = "ListScheduledAudits" // ListScheduledAuditsRequest generates a "aws/request.Request" representing the @@ -12959,6 +14932,12 @@ func (c *IoT) ListScheduledAuditsRequest(input *ListScheduledAuditsInput) (req * Name: opListScheduledAudits, HTTPMethod: "GET", HTTPPath: "/audit/scheduledaudits", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -13012,6 +14991,58 @@ func (c *IoT) ListScheduledAuditsWithContext(ctx aws.Context, input *ListSchedul return out, req.Send() } +// ListScheduledAuditsPages iterates over the pages of a ListScheduledAudits operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListScheduledAudits 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 ListScheduledAudits operation. +// pageNum := 0 +// err := client.ListScheduledAuditsPages(params, +// func(page *iot.ListScheduledAuditsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListScheduledAuditsPages(input *ListScheduledAuditsInput, fn func(*ListScheduledAuditsOutput, bool) bool) error { + return c.ListScheduledAuditsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListScheduledAuditsPagesWithContext same as ListScheduledAuditsPages 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 *IoT) ListScheduledAuditsPagesWithContext(ctx aws.Context, input *ListScheduledAuditsInput, fn func(*ListScheduledAuditsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListScheduledAuditsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListScheduledAuditsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListScheduledAuditsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListSecurityProfiles = "ListSecurityProfiles" // ListSecurityProfilesRequest generates a "aws/request.Request" representing the @@ -13041,6 +15072,12 @@ func (c *IoT) ListSecurityProfilesRequest(input *ListSecurityProfilesInput) (req Name: opListSecurityProfiles, HTTPMethod: "GET", HTTPPath: "/security-profiles", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -13099,6 +15136,58 @@ func (c *IoT) ListSecurityProfilesWithContext(ctx aws.Context, input *ListSecuri return out, req.Send() } +// ListSecurityProfilesPages iterates over the pages of a ListSecurityProfiles operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSecurityProfiles 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 ListSecurityProfiles operation. +// pageNum := 0 +// err := client.ListSecurityProfilesPages(params, +// func(page *iot.ListSecurityProfilesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListSecurityProfilesPages(input *ListSecurityProfilesInput, fn func(*ListSecurityProfilesOutput, bool) bool) error { + return c.ListSecurityProfilesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSecurityProfilesPagesWithContext same as ListSecurityProfilesPages 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 *IoT) ListSecurityProfilesPagesWithContext(ctx aws.Context, input *ListSecurityProfilesInput, fn func(*ListSecurityProfilesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSecurityProfilesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSecurityProfilesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSecurityProfilesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListSecurityProfilesForTarget = "ListSecurityProfilesForTarget" // ListSecurityProfilesForTargetRequest generates a "aws/request.Request" representing the @@ -13128,6 +15217,12 @@ func (c *IoT) ListSecurityProfilesForTargetRequest(input *ListSecurityProfilesFo Name: opListSecurityProfilesForTarget, HTTPMethod: "GET", HTTPPath: "/security-profiles-for-target", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -13184,6 +15279,58 @@ func (c *IoT) ListSecurityProfilesForTargetWithContext(ctx aws.Context, input *L return out, req.Send() } +// ListSecurityProfilesForTargetPages iterates over the pages of a ListSecurityProfilesForTarget operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSecurityProfilesForTarget 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 ListSecurityProfilesForTarget operation. +// pageNum := 0 +// err := client.ListSecurityProfilesForTargetPages(params, +// func(page *iot.ListSecurityProfilesForTargetOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListSecurityProfilesForTargetPages(input *ListSecurityProfilesForTargetInput, fn func(*ListSecurityProfilesForTargetOutput, bool) bool) error { + return c.ListSecurityProfilesForTargetPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSecurityProfilesForTargetPagesWithContext same as ListSecurityProfilesForTargetPages 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 *IoT) ListSecurityProfilesForTargetPagesWithContext(ctx aws.Context, input *ListSecurityProfilesForTargetInput, fn func(*ListSecurityProfilesForTargetOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSecurityProfilesForTargetInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSecurityProfilesForTargetRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSecurityProfilesForTargetOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListStreams = "ListStreams" // ListStreamsRequest generates a "aws/request.Request" representing the @@ -13213,6 +15360,12 @@ func (c *IoT) ListStreamsRequest(input *ListStreamsInput) (req *request.Request, Name: opListStreams, HTTPMethod: "GET", HTTPPath: "/streams", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -13272,6 +15425,58 @@ func (c *IoT) ListStreamsWithContext(ctx aws.Context, input *ListStreamsInput, o return out, req.Send() } +// ListStreamsPages iterates over the pages of a ListStreams operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStreams 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 ListStreams operation. +// pageNum := 0 +// err := client.ListStreamsPages(params, +// func(page *iot.ListStreamsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListStreamsPages(input *ListStreamsInput, fn func(*ListStreamsOutput, bool) bool) error { + return c.ListStreamsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListStreamsPagesWithContext same as ListStreamsPages 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 *IoT) ListStreamsPagesWithContext(ctx aws.Context, input *ListStreamsInput, fn func(*ListStreamsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListStreamsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListStreamsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListStreamsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTagsForResource = "ListTagsForResource" // ListTagsForResourceRequest generates a "aws/request.Request" representing the @@ -13301,6 +15506,12 @@ func (c *IoT) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req * Name: opListTagsForResource, HTTPMethod: "GET", HTTPPath: "/tags", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, } if input == nil { @@ -13357,6 +15568,58 @@ func (c *IoT) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsFor return out, req.Send() } +// ListTagsForResourcePages iterates over the pages of a ListTagsForResource operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTagsForResource method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListTagsForResource operation. +// pageNum := 0 +// err := client.ListTagsForResourcePages(params, +// func(page *iot.ListTagsForResourceOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListTagsForResourcePages(input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool) error { + return c.ListTagsForResourcePagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTagsForResourcePagesWithContext same as ListTagsForResourcePages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTagsForResourceInput, fn func(*ListTagsForResourceOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTagsForResourceInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTagsForResourceRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTagsForResourceOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTargetsForPolicy = "ListTargetsForPolicy" // ListTargetsForPolicyRequest generates a "aws/request.Request" representing the @@ -13386,6 +15649,12 @@ func (c *IoT) ListTargetsForPolicyRequest(input *ListTargetsForPolicyInput) (req Name: opListTargetsForPolicy, HTTPMethod: "POST", HTTPPath: "/policy-targets/{policyName}", + Paginator: &request.Paginator{ + InputTokens: []string{"marker"}, + OutputTokens: []string{"nextMarker"}, + LimitToken: "pageSize", + TruncationToken: "", + }, } if input == nil { @@ -13451,6 +15720,58 @@ func (c *IoT) ListTargetsForPolicyWithContext(ctx aws.Context, input *ListTarget return out, req.Send() } +// ListTargetsForPolicyPages iterates over the pages of a ListTargetsForPolicy operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTargetsForPolicy 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 ListTargetsForPolicy operation. +// pageNum := 0 +// err := client.ListTargetsForPolicyPages(params, +// func(page *iot.ListTargetsForPolicyOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListTargetsForPolicyPages(input *ListTargetsForPolicyInput, fn func(*ListTargetsForPolicyOutput, bool) bool) error { + return c.ListTargetsForPolicyPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTargetsForPolicyPagesWithContext same as ListTargetsForPolicyPages 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 *IoT) ListTargetsForPolicyPagesWithContext(ctx aws.Context, input *ListTargetsForPolicyInput, fn func(*ListTargetsForPolicyOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTargetsForPolicyInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTargetsForPolicyRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTargetsForPolicyOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTargetsForSecurityProfile = "ListTargetsForSecurityProfile" // ListTargetsForSecurityProfileRequest generates a "aws/request.Request" representing the @@ -13480,6 +15801,12 @@ func (c *IoT) ListTargetsForSecurityProfileRequest(input *ListTargetsForSecurity Name: opListTargetsForSecurityProfile, HTTPMethod: "GET", HTTPPath: "/security-profiles/{securityProfileName}/targets", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -13537,6 +15864,58 @@ func (c *IoT) ListTargetsForSecurityProfileWithContext(ctx aws.Context, input *L return out, req.Send() } +// ListTargetsForSecurityProfilePages iterates over the pages of a ListTargetsForSecurityProfile operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTargetsForSecurityProfile 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 ListTargetsForSecurityProfile operation. +// pageNum := 0 +// err := client.ListTargetsForSecurityProfilePages(params, +// func(page *iot.ListTargetsForSecurityProfileOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListTargetsForSecurityProfilePages(input *ListTargetsForSecurityProfileInput, fn func(*ListTargetsForSecurityProfileOutput, bool) bool) error { + return c.ListTargetsForSecurityProfilePagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTargetsForSecurityProfilePagesWithContext same as ListTargetsForSecurityProfilePages 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 *IoT) ListTargetsForSecurityProfilePagesWithContext(ctx aws.Context, input *ListTargetsForSecurityProfileInput, fn func(*ListTargetsForSecurityProfileOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTargetsForSecurityProfileInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTargetsForSecurityProfileRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTargetsForSecurityProfileOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListThingGroups = "ListThingGroups" // ListThingGroupsRequest generates a "aws/request.Request" representing the @@ -13566,6 +15945,12 @@ func (c *IoT) ListThingGroupsRequest(input *ListThingGroupsInput) (req *request. Name: opListThingGroups, HTTPMethod: "GET", HTTPPath: "/thing-groups", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -13619,6 +16004,58 @@ func (c *IoT) ListThingGroupsWithContext(ctx aws.Context, input *ListThingGroups return out, req.Send() } +// ListThingGroupsPages iterates over the pages of a ListThingGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListThingGroups 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 ListThingGroups operation. +// pageNum := 0 +// err := client.ListThingGroupsPages(params, +// func(page *iot.ListThingGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListThingGroupsPages(input *ListThingGroupsInput, fn func(*ListThingGroupsOutput, bool) bool) error { + return c.ListThingGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListThingGroupsPagesWithContext same as ListThingGroupsPages 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 *IoT) ListThingGroupsPagesWithContext(ctx aws.Context, input *ListThingGroupsInput, fn func(*ListThingGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListThingGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListThingGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListThingGroupsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListThingGroupsForThing = "ListThingGroupsForThing" // ListThingGroupsForThingRequest generates a "aws/request.Request" representing the @@ -13648,6 +16085,12 @@ func (c *IoT) ListThingGroupsForThingRequest(input *ListThingGroupsForThingInput Name: opListThingGroupsForThing, HTTPMethod: "GET", HTTPPath: "/things/{thingName}/thing-groups", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -13701,6 +16144,58 @@ func (c *IoT) ListThingGroupsForThingWithContext(ctx aws.Context, input *ListThi return out, req.Send() } +// ListThingGroupsForThingPages iterates over the pages of a ListThingGroupsForThing operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListThingGroupsForThing 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 ListThingGroupsForThing operation. +// pageNum := 0 +// err := client.ListThingGroupsForThingPages(params, +// func(page *iot.ListThingGroupsForThingOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListThingGroupsForThingPages(input *ListThingGroupsForThingInput, fn func(*ListThingGroupsForThingOutput, bool) bool) error { + return c.ListThingGroupsForThingPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListThingGroupsForThingPagesWithContext same as ListThingGroupsForThingPages 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 *IoT) ListThingGroupsForThingPagesWithContext(ctx aws.Context, input *ListThingGroupsForThingInput, fn func(*ListThingGroupsForThingOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListThingGroupsForThingInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListThingGroupsForThingRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListThingGroupsForThingOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListThingPrincipals = "ListThingPrincipals" // ListThingPrincipalsRequest generates a "aws/request.Request" representing the @@ -13823,6 +16318,12 @@ func (c *IoT) ListThingRegistrationTaskReportsRequest(input *ListThingRegistrati Name: opListThingRegistrationTaskReports, HTTPMethod: "GET", HTTPPath: "/thing-registration-tasks/{taskId}/reports", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -13879,6 +16380,58 @@ func (c *IoT) ListThingRegistrationTaskReportsWithContext(ctx aws.Context, input return out, req.Send() } +// ListThingRegistrationTaskReportsPages iterates over the pages of a ListThingRegistrationTaskReports operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListThingRegistrationTaskReports 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 ListThingRegistrationTaskReports operation. +// pageNum := 0 +// err := client.ListThingRegistrationTaskReportsPages(params, +// func(page *iot.ListThingRegistrationTaskReportsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListThingRegistrationTaskReportsPages(input *ListThingRegistrationTaskReportsInput, fn func(*ListThingRegistrationTaskReportsOutput, bool) bool) error { + return c.ListThingRegistrationTaskReportsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListThingRegistrationTaskReportsPagesWithContext same as ListThingRegistrationTaskReportsPages 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 *IoT) ListThingRegistrationTaskReportsPagesWithContext(ctx aws.Context, input *ListThingRegistrationTaskReportsInput, fn func(*ListThingRegistrationTaskReportsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListThingRegistrationTaskReportsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListThingRegistrationTaskReportsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListThingRegistrationTaskReportsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListThingRegistrationTasks = "ListThingRegistrationTasks" // ListThingRegistrationTasksRequest generates a "aws/request.Request" representing the @@ -13908,6 +16461,12 @@ func (c *IoT) ListThingRegistrationTasksRequest(input *ListThingRegistrationTask Name: opListThingRegistrationTasks, HTTPMethod: "GET", HTTPPath: "/thing-registration-tasks", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -13964,6 +16523,58 @@ func (c *IoT) ListThingRegistrationTasksWithContext(ctx aws.Context, input *List return out, req.Send() } +// ListThingRegistrationTasksPages iterates over the pages of a ListThingRegistrationTasks operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListThingRegistrationTasks 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 ListThingRegistrationTasks operation. +// pageNum := 0 +// err := client.ListThingRegistrationTasksPages(params, +// func(page *iot.ListThingRegistrationTasksOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListThingRegistrationTasksPages(input *ListThingRegistrationTasksInput, fn func(*ListThingRegistrationTasksOutput, bool) bool) error { + return c.ListThingRegistrationTasksPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListThingRegistrationTasksPagesWithContext same as ListThingRegistrationTasksPages 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 *IoT) ListThingRegistrationTasksPagesWithContext(ctx aws.Context, input *ListThingRegistrationTasksInput, fn func(*ListThingRegistrationTasksOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListThingRegistrationTasksInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListThingRegistrationTasksRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListThingRegistrationTasksOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListThingTypes = "ListThingTypes" // ListThingTypesRequest generates a "aws/request.Request" representing the @@ -13993,6 +16604,12 @@ func (c *IoT) ListThingTypesRequest(input *ListThingTypesInput) (req *request.Re Name: opListThingTypes, HTTPMethod: "GET", HTTPPath: "/thing-types", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -14052,6 +16669,58 @@ func (c *IoT) ListThingTypesWithContext(ctx aws.Context, input *ListThingTypesIn return out, req.Send() } +// ListThingTypesPages iterates over the pages of a ListThingTypes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListThingTypes 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 ListThingTypes operation. +// pageNum := 0 +// err := client.ListThingTypesPages(params, +// func(page *iot.ListThingTypesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListThingTypesPages(input *ListThingTypesInput, fn func(*ListThingTypesOutput, bool) bool) error { + return c.ListThingTypesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListThingTypesPagesWithContext same as ListThingTypesPages 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 *IoT) ListThingTypesPagesWithContext(ctx aws.Context, input *ListThingTypesInput, fn func(*ListThingTypesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListThingTypesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListThingTypesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListThingTypesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListThings = "ListThings" // ListThingsRequest generates a "aws/request.Request" representing the @@ -14081,6 +16750,12 @@ func (c *IoT) ListThingsRequest(input *ListThingsInput) (req *request.Request, o Name: opListThings, HTTPMethod: "GET", HTTPPath: "/things", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -14099,6 +16774,10 @@ func (c *IoT) ListThingsRequest(input *ListThingsInput) (req *request.Request, o // and attributeValue=Red retrieves all things in the registry that contain // an attribute Color with the value Red. // +// You will not be charged for calling this API if an Access denied error is +// returned. You will also not be charged if no attributes or pagination token +// was provided in request and no pagination token and no results were returned. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -14143,6 +16822,58 @@ func (c *IoT) ListThingsWithContext(ctx aws.Context, input *ListThingsInput, opt return out, req.Send() } +// ListThingsPages iterates over the pages of a ListThings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListThings 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 ListThings operation. +// pageNum := 0 +// err := client.ListThingsPages(params, +// func(page *iot.ListThingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListThingsPages(input *ListThingsInput, fn func(*ListThingsOutput, bool) bool) error { + return c.ListThingsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListThingsPagesWithContext same as ListThingsPages 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 *IoT) ListThingsPagesWithContext(ctx aws.Context, input *ListThingsInput, fn func(*ListThingsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListThingsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListThingsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListThingsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListThingsInBillingGroup = "ListThingsInBillingGroup" // ListThingsInBillingGroupRequest generates a "aws/request.Request" representing the @@ -14172,6 +16903,12 @@ func (c *IoT) ListThingsInBillingGroupRequest(input *ListThingsInBillingGroupInp Name: opListThingsInBillingGroup, HTTPMethod: "GET", HTTPPath: "/billing-groups/{billingGroupName}/things", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -14228,6 +16965,58 @@ func (c *IoT) ListThingsInBillingGroupWithContext(ctx aws.Context, input *ListTh return out, req.Send() } +// ListThingsInBillingGroupPages iterates over the pages of a ListThingsInBillingGroup operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListThingsInBillingGroup 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 ListThingsInBillingGroup operation. +// pageNum := 0 +// err := client.ListThingsInBillingGroupPages(params, +// func(page *iot.ListThingsInBillingGroupOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListThingsInBillingGroupPages(input *ListThingsInBillingGroupInput, fn func(*ListThingsInBillingGroupOutput, bool) bool) error { + return c.ListThingsInBillingGroupPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListThingsInBillingGroupPagesWithContext same as ListThingsInBillingGroupPages 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 *IoT) ListThingsInBillingGroupPagesWithContext(ctx aws.Context, input *ListThingsInBillingGroupInput, fn func(*ListThingsInBillingGroupOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListThingsInBillingGroupInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListThingsInBillingGroupRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListThingsInBillingGroupOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListThingsInThingGroup = "ListThingsInThingGroup" // ListThingsInThingGroupRequest generates a "aws/request.Request" representing the @@ -14257,6 +17046,12 @@ func (c *IoT) ListThingsInThingGroupRequest(input *ListThingsInThingGroupInput) Name: opListThingsInThingGroup, HTTPMethod: "GET", HTTPPath: "/thing-groups/{thingGroupName}/things", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -14310,6 +17105,58 @@ func (c *IoT) ListThingsInThingGroupWithContext(ctx aws.Context, input *ListThin return out, req.Send() } +// ListThingsInThingGroupPages iterates over the pages of a ListThingsInThingGroup operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListThingsInThingGroup 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 ListThingsInThingGroup operation. +// pageNum := 0 +// err := client.ListThingsInThingGroupPages(params, +// func(page *iot.ListThingsInThingGroupOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListThingsInThingGroupPages(input *ListThingsInThingGroupInput, fn func(*ListThingsInThingGroupOutput, bool) bool) error { + return c.ListThingsInThingGroupPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListThingsInThingGroupPagesWithContext same as ListThingsInThingGroupPages 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 *IoT) ListThingsInThingGroupPagesWithContext(ctx aws.Context, input *ListThingsInThingGroupInput, fn func(*ListThingsInThingGroupOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListThingsInThingGroupInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListThingsInThingGroupRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListThingsInThingGroupOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTopicRuleDestinations = "ListTopicRuleDestinations" // ListTopicRuleDestinationsRequest generates a "aws/request.Request" representing the @@ -14339,6 +17186,12 @@ func (c *IoT) ListTopicRuleDestinationsRequest(input *ListTopicRuleDestinationsI Name: opListTopicRuleDestinations, HTTPMethod: "GET", HTTPPath: "/destinations", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -14395,6 +17248,58 @@ func (c *IoT) ListTopicRuleDestinationsWithContext(ctx aws.Context, input *ListT return out, req.Send() } +// ListTopicRuleDestinationsPages iterates over the pages of a ListTopicRuleDestinations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTopicRuleDestinations 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 ListTopicRuleDestinations operation. +// pageNum := 0 +// err := client.ListTopicRuleDestinationsPages(params, +// func(page *iot.ListTopicRuleDestinationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListTopicRuleDestinationsPages(input *ListTopicRuleDestinationsInput, fn func(*ListTopicRuleDestinationsOutput, bool) bool) error { + return c.ListTopicRuleDestinationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTopicRuleDestinationsPagesWithContext same as ListTopicRuleDestinationsPages 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 *IoT) ListTopicRuleDestinationsPagesWithContext(ctx aws.Context, input *ListTopicRuleDestinationsInput, fn func(*ListTopicRuleDestinationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTopicRuleDestinationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTopicRuleDestinationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTopicRuleDestinationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListTopicRules = "ListTopicRules" // ListTopicRulesRequest generates a "aws/request.Request" representing the @@ -14424,6 +17329,12 @@ func (c *IoT) ListTopicRulesRequest(input *ListTopicRulesInput) (req *request.Re Name: opListTopicRules, HTTPMethod: "GET", HTTPPath: "/rules", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -14477,6 +17388,58 @@ func (c *IoT) ListTopicRulesWithContext(ctx aws.Context, input *ListTopicRulesIn return out, req.Send() } +// ListTopicRulesPages iterates over the pages of a ListTopicRules operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTopicRules 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 ListTopicRules operation. +// pageNum := 0 +// err := client.ListTopicRulesPages(params, +// func(page *iot.ListTopicRulesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListTopicRulesPages(input *ListTopicRulesInput, fn func(*ListTopicRulesOutput, bool) bool) error { + return c.ListTopicRulesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTopicRulesPagesWithContext same as ListTopicRulesPages 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 *IoT) ListTopicRulesPagesWithContext(ctx aws.Context, input *ListTopicRulesInput, fn func(*ListTopicRulesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTopicRulesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTopicRulesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTopicRulesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListV2LoggingLevels = "ListV2LoggingLevels" // ListV2LoggingLevelsRequest generates a "aws/request.Request" representing the @@ -14506,6 +17469,12 @@ func (c *IoT) ListV2LoggingLevelsRequest(input *ListV2LoggingLevelsInput) (req * Name: opListV2LoggingLevels, HTTPMethod: "GET", HTTPPath: "/v2LoggingLevel", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -14562,6 +17531,58 @@ func (c *IoT) ListV2LoggingLevelsWithContext(ctx aws.Context, input *ListV2Loggi return out, req.Send() } +// ListV2LoggingLevelsPages iterates over the pages of a ListV2LoggingLevels operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListV2LoggingLevels 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 ListV2LoggingLevels operation. +// pageNum := 0 +// err := client.ListV2LoggingLevelsPages(params, +// func(page *iot.ListV2LoggingLevelsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListV2LoggingLevelsPages(input *ListV2LoggingLevelsInput, fn func(*ListV2LoggingLevelsOutput, bool) bool) error { + return c.ListV2LoggingLevelsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListV2LoggingLevelsPagesWithContext same as ListV2LoggingLevelsPages 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 *IoT) ListV2LoggingLevelsPagesWithContext(ctx aws.Context, input *ListV2LoggingLevelsInput, fn func(*ListV2LoggingLevelsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListV2LoggingLevelsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListV2LoggingLevelsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListV2LoggingLevelsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListViolationEvents = "ListViolationEvents" // ListViolationEventsRequest generates a "aws/request.Request" representing the @@ -14591,6 +17612,12 @@ func (c *IoT) ListViolationEventsRequest(input *ListViolationEventsInput) (req * Name: opListViolationEvents, HTTPMethod: "GET", HTTPPath: "/violation-events", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { @@ -14646,6 +17673,58 @@ func (c *IoT) ListViolationEventsWithContext(ctx aws.Context, input *ListViolati return out, req.Send() } +// ListViolationEventsPages iterates over the pages of a ListViolationEvents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListViolationEvents 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 ListViolationEvents operation. +// pageNum := 0 +// err := client.ListViolationEventsPages(params, +// func(page *iot.ListViolationEventsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoT) ListViolationEventsPages(input *ListViolationEventsInput, fn func(*ListViolationEventsOutput, bool) bool) error { + return c.ListViolationEventsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListViolationEventsPagesWithContext same as ListViolationEventsPages 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 *IoT) ListViolationEventsPagesWithContext(ctx aws.Context, input *ListViolationEventsInput, fn func(*ListViolationEventsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListViolationEventsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListViolationEventsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListViolationEventsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opRegisterCACertificate = "RegisterCACertificate" // RegisterCACertificateRequest generates a "aws/request.Request" representing the @@ -16878,6 +19957,92 @@ func (c *IoT) UpdateAccountAuditConfigurationWithContext(ctx aws.Context, input return out, req.Send() } +const opUpdateAuditSuppression = "UpdateAuditSuppression" + +// UpdateAuditSuppressionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAuditSuppression operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateAuditSuppression for more information on using the UpdateAuditSuppression +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateAuditSuppressionRequest method. +// req, resp := client.UpdateAuditSuppressionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +func (c *IoT) UpdateAuditSuppressionRequest(input *UpdateAuditSuppressionInput) (req *request.Request, output *UpdateAuditSuppressionOutput) { + op := &request.Operation{ + Name: opUpdateAuditSuppression, + HTTPMethod: "PATCH", + HTTPPath: "/audit/suppressions/update", + } + + if input == nil { + input = &UpdateAuditSuppressionInput{} + } + + output = &UpdateAuditSuppressionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateAuditSuppression API operation for AWS IoT. +// +// Updates a Device Defender audit suppression. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT's +// API operation UpdateAuditSuppression for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request is not valid. +// +// * ResourceNotFoundException +// The specified resource does not exist. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * InternalFailureException +// An unexpected error has occurred. +// +func (c *IoT) UpdateAuditSuppression(input *UpdateAuditSuppressionInput) (*UpdateAuditSuppressionOutput, error) { + req, out := c.UpdateAuditSuppressionRequest(input) + return out, req.Send() +} + +// UpdateAuditSuppressionWithContext is the same as UpdateAuditSuppression with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAuditSuppression for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoT) UpdateAuditSuppressionWithContext(ctx aws.Context, input *UpdateAuditSuppressionInput, opts ...request.Option) (*UpdateAuditSuppressionOutput, error) { + req, out := c.UpdateAuditSuppressionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateAuthorizer = "UpdateAuthorizer" // UpdateAuthorizerRequest generates a "aws/request.Request" representing the @@ -17198,11 +20363,13 @@ func (c *IoT) UpdateCertificateRequest(input *UpdateCertificateInput) (req *requ // // Updates the status of the specified certificate. This operation is idempotent. // -// Moving a certificate from the ACTIVE state (including REVOKED) will not disconnect -// currently connected devices, but these devices will be unable to reconnect. +// Certificates must be in the ACTIVE state to authenticate devices that use +// a certificate to connect to AWS IoT. // -// The ACTIVE state is required to authenticate devices connecting to AWS IoT -// using a certificate. +// Within a few minutes of updating a certificate from the ACTIVE state to any +// other state, AWS IoT disconnects all devices that used that certificate to +// connect. Devices cannot use a certificate that is not in the ACTIVE state +// to reconnect. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -20313,6 +23480,10 @@ type AuditCheckDetails struct { // The number of resources that were found noncompliant during the check. NonCompliantResourcesCount *int64 `locationName:"nonCompliantResourcesCount" type:"long"` + // Describes how many of the non-compliant resources created during the evaluation + // of an audit check were marked as suppressed. + SuppressedNonCompliantResourcesCount *int64 `locationName:"suppressedNonCompliantResourcesCount" type:"long"` + // The number of resources on which the check was performed. TotalResourcesCount *int64 `locationName:"totalResourcesCount" type:"long"` } @@ -20357,6 +23528,12 @@ func (s *AuditCheckDetails) SetNonCompliantResourcesCount(v int64) *AuditCheckDe return s } +// SetSuppressedNonCompliantResourcesCount sets the SuppressedNonCompliantResourcesCount field's value. +func (s *AuditCheckDetails) SetSuppressedNonCompliantResourcesCount(v int64) *AuditCheckDetails { + s.SuppressedNonCompliantResourcesCount = &v + return s +} + // SetTotalResourcesCount sets the TotalResourcesCount field's value. func (s *AuditCheckDetails) SetTotalResourcesCount(v int64) *AuditCheckDetails { s.TotalResourcesCount = &v @@ -20377,6 +23554,9 @@ type AuditFinding struct { // The time the result (finding) was discovered. FindingTime *time.Time `locationName:"findingTime" type:"timestamp"` + // Indicates whether the audit finding was suppressed or not during reporting. + IsSuppressed *bool `locationName:"isSuppressed" type:"boolean"` + // The resource that was found to be noncompliant with the audit check. NonCompliantResource *NonCompliantResource `locationName:"nonCompliantResource" type:"structure"` @@ -20427,6 +23607,12 @@ func (s *AuditFinding) SetFindingTime(v time.Time) *AuditFinding { return s } +// SetIsSuppressed sets the IsSuppressed field's value. +func (s *AuditFinding) SetIsSuppressed(v bool) *AuditFinding { + s.IsSuppressed = &v + return s +} + // SetNonCompliantResource sets the NonCompliantResource field's value. func (s *AuditFinding) SetNonCompliantResource(v *NonCompliantResource) *AuditFinding { s.NonCompliantResource = v @@ -20728,6 +23914,73 @@ func (s *AuditNotificationTarget) SetTargetArn(v string) *AuditNotificationTarge return s } +// Filters out specific findings of a Device Defender audit. +type AuditSuppression struct { + _ struct{} `type:"structure"` + + // An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration + // to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration + // to select which checks are enabled.) + // + // CheckName is a required field + CheckName *string `locationName:"checkName" type:"string" required:"true"` + + // The description of the audit suppression. + Description *string `locationName:"description" type:"string"` + + // The expiration date (epoch timestamp in seconds) that you want the suppression + // to adhere to. + ExpirationDate *time.Time `locationName:"expirationDate" type:"timestamp"` + + // Information that identifies the noncompliant resource. + // + // ResourceIdentifier is a required field + ResourceIdentifier *ResourceIdentifier `locationName:"resourceIdentifier" type:"structure" required:"true"` + + // Indicates whether a suppression should exist indefinitely or not. + SuppressIndefinitely *bool `locationName:"suppressIndefinitely" type:"boolean"` +} + +// String returns the string representation +func (s AuditSuppression) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AuditSuppression) GoString() string { + return s.String() +} + +// SetCheckName sets the CheckName field's value. +func (s *AuditSuppression) SetCheckName(v string) *AuditSuppression { + s.CheckName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AuditSuppression) SetDescription(v string) *AuditSuppression { + s.Description = &v + return s +} + +// SetExpirationDate sets the ExpirationDate field's value. +func (s *AuditSuppression) SetExpirationDate(v time.Time) *AuditSuppression { + s.ExpirationDate = &v + return s +} + +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *AuditSuppression) SetResourceIdentifier(v *ResourceIdentifier) *AuditSuppression { + s.ResourceIdentifier = v + return s +} + +// SetSuppressIndefinitely sets the SuppressIndefinitely field's value. +func (s *AuditSuppression) SetSuppressIndefinitely(v bool) *AuditSuppression { + s.SuppressIndefinitely = &v + return s +} + // The audits that were performed. type AuditTaskMetadata struct { _ struct{} `type:"structure"` @@ -23168,6 +26421,118 @@ func (s *ConflictingResourceUpdateException) RequestID() string { return s.RespMetadata.RequestID } +type CreateAuditSuppressionInput struct { + _ struct{} `type:"structure"` + + // An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration + // to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration + // to select which checks are enabled.) + // + // CheckName is a required field + CheckName *string `locationName:"checkName" type:"string" required:"true"` + + // The epoch timestamp in seconds at which this suppression expires. + ClientRequestToken *string `locationName:"clientRequestToken" min:"1" type:"string" idempotencyToken:"true"` + + // The description of the audit suppression. + Description *string `locationName:"description" type:"string"` + + // The epoch timestamp in seconds at which this suppression expires. + ExpirationDate *time.Time `locationName:"expirationDate" type:"timestamp"` + + // Information that identifies the noncompliant resource. + // + // ResourceIdentifier is a required field + ResourceIdentifier *ResourceIdentifier `locationName:"resourceIdentifier" type:"structure" required:"true"` + + // Indicates whether a suppression should exist indefinitely or not. + SuppressIndefinitely *bool `locationName:"suppressIndefinitely" type:"boolean"` +} + +// String returns the string representation +func (s CreateAuditSuppressionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAuditSuppressionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAuditSuppressionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAuditSuppressionInput"} + if s.CheckName == nil { + invalidParams.Add(request.NewErrParamRequired("CheckName")) + } + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.ResourceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier")) + } + if s.ResourceIdentifier != nil { + if err := s.ResourceIdentifier.Validate(); err != nil { + invalidParams.AddNested("ResourceIdentifier", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCheckName sets the CheckName field's value. +func (s *CreateAuditSuppressionInput) SetCheckName(v string) *CreateAuditSuppressionInput { + s.CheckName = &v + return s +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateAuditSuppressionInput) SetClientRequestToken(v string) *CreateAuditSuppressionInput { + s.ClientRequestToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateAuditSuppressionInput) SetDescription(v string) *CreateAuditSuppressionInput { + s.Description = &v + return s +} + +// SetExpirationDate sets the ExpirationDate field's value. +func (s *CreateAuditSuppressionInput) SetExpirationDate(v time.Time) *CreateAuditSuppressionInput { + s.ExpirationDate = &v + return s +} + +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *CreateAuditSuppressionInput) SetResourceIdentifier(v *ResourceIdentifier) *CreateAuditSuppressionInput { + s.ResourceIdentifier = v + return s +} + +// SetSuppressIndefinitely sets the SuppressIndefinitely field's value. +func (s *CreateAuditSuppressionInput) SetSuppressIndefinitely(v bool) *CreateAuditSuppressionInput { + s.SuppressIndefinitely = &v + return s +} + +type CreateAuditSuppressionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateAuditSuppressionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAuditSuppressionOutput) GoString() string { + return s.String() +} + type CreateAuthorizerInput struct { _ struct{} `type:"structure"` @@ -26560,6 +29925,79 @@ func (s DeleteAccountAuditConfigurationOutput) GoString() string { return s.String() } +type DeleteAuditSuppressionInput struct { + _ struct{} `type:"structure"` + + // An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration + // to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration + // to select which checks are enabled.) + // + // CheckName is a required field + CheckName *string `locationName:"checkName" type:"string" required:"true"` + + // Information that identifies the noncompliant resource. + // + // ResourceIdentifier is a required field + ResourceIdentifier *ResourceIdentifier `locationName:"resourceIdentifier" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DeleteAuditSuppressionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAuditSuppressionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAuditSuppressionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAuditSuppressionInput"} + if s.CheckName == nil { + invalidParams.Add(request.NewErrParamRequired("CheckName")) + } + if s.ResourceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier")) + } + if s.ResourceIdentifier != nil { + if err := s.ResourceIdentifier.Validate(); err != nil { + invalidParams.AddNested("ResourceIdentifier", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCheckName sets the CheckName field's value. +func (s *DeleteAuditSuppressionInput) SetCheckName(v string) *DeleteAuditSuppressionInput { + s.CheckName = &v + return s +} + +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *DeleteAuditSuppressionInput) SetResourceIdentifier(v *ResourceIdentifier) *DeleteAuditSuppressionInput { + s.ResourceIdentifier = v + return s +} + +type DeleteAuditSuppressionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteAuditSuppressionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAuditSuppressionOutput) GoString() string { + return s.String() +} + type DeleteAuthorizerInput struct { _ struct{} `type:"structure"` @@ -28577,6 +32015,126 @@ func (s *DescribeAuditMitigationActionsTaskOutput) SetTaskStatus(v string) *Desc return s } +type DescribeAuditSuppressionInput struct { + _ struct{} `type:"structure"` + + // An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration + // to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration + // to select which checks are enabled.) + // + // CheckName is a required field + CheckName *string `locationName:"checkName" type:"string" required:"true"` + + // Information that identifies the noncompliant resource. + // + // ResourceIdentifier is a required field + ResourceIdentifier *ResourceIdentifier `locationName:"resourceIdentifier" type:"structure" required:"true"` +} + +// String returns the string representation +func (s DescribeAuditSuppressionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAuditSuppressionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAuditSuppressionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAuditSuppressionInput"} + if s.CheckName == nil { + invalidParams.Add(request.NewErrParamRequired("CheckName")) + } + if s.ResourceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier")) + } + if s.ResourceIdentifier != nil { + if err := s.ResourceIdentifier.Validate(); err != nil { + invalidParams.AddNested("ResourceIdentifier", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCheckName sets the CheckName field's value. +func (s *DescribeAuditSuppressionInput) SetCheckName(v string) *DescribeAuditSuppressionInput { + s.CheckName = &v + return s +} + +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *DescribeAuditSuppressionInput) SetResourceIdentifier(v *ResourceIdentifier) *DescribeAuditSuppressionInput { + s.ResourceIdentifier = v + return s +} + +type DescribeAuditSuppressionOutput struct { + _ struct{} `type:"structure"` + + // An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration + // to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration + // to select which checks are enabled.) + CheckName *string `locationName:"checkName" type:"string"` + + // The description of the audit suppression. + Description *string `locationName:"description" type:"string"` + + // The epoch timestamp in seconds at which this suppression expires. + ExpirationDate *time.Time `locationName:"expirationDate" type:"timestamp"` + + // Information that identifies the noncompliant resource. + ResourceIdentifier *ResourceIdentifier `locationName:"resourceIdentifier" type:"structure"` + + // Indicates whether a suppression should exist indefinitely or not. + SuppressIndefinitely *bool `locationName:"suppressIndefinitely" type:"boolean"` +} + +// String returns the string representation +func (s DescribeAuditSuppressionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAuditSuppressionOutput) GoString() string { + return s.String() +} + +// SetCheckName sets the CheckName field's value. +func (s *DescribeAuditSuppressionOutput) SetCheckName(v string) *DescribeAuditSuppressionOutput { + s.CheckName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DescribeAuditSuppressionOutput) SetDescription(v string) *DescribeAuditSuppressionOutput { + s.Description = &v + return s +} + +// SetExpirationDate sets the ExpirationDate field's value. +func (s *DescribeAuditSuppressionOutput) SetExpirationDate(v time.Time) *DescribeAuditSuppressionOutput { + s.ExpirationDate = &v + return s +} + +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *DescribeAuditSuppressionOutput) SetResourceIdentifier(v *ResourceIdentifier) *DescribeAuditSuppressionOutput { + s.ResourceIdentifier = v + return s +} + +// SetSuppressIndefinitely sets the SuppressIndefinitely field's value. +func (s *DescribeAuditSuppressionOutput) SetSuppressIndefinitely(v bool) *DescribeAuditSuppressionOutput { + s.SuppressIndefinitely = &v + return s +} + type DescribeAuditTaskInput struct { _ struct{} `type:"structure"` @@ -31103,8 +34661,9 @@ type DetachPrincipalPolicyInput struct { // The principal. // - // If the principal is a certificate, specify the certificate ARN. If the principal - // is an Amazon Cognito identity, specify the identity ID. + // Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), + // thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId + // (region:id). // // Principal is a required field Principal *string `location:"header" locationName:"x-amzn-iot-principal" type:"string" required:"true"` @@ -32279,7 +35838,9 @@ type GetEffectivePoliciesInput struct { // The Cognito identity pool ID. CognitoIdentityPoolId *string `locationName:"cognitoIdentityPoolId" type:"string"` - // The principal. + // The principal. Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), + // thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId + // (region:id). Principal *string `locationName:"principal" type:"string"` // The thing name. @@ -35296,7 +38857,9 @@ type ListAttachedPoliciesInput struct { // When true, recursively list attached policies. Recursive *bool `location:"querystring" locationName:"recursive" type:"boolean"` - // The group or principal for which the policies will be listed. + // The group or principal for which the policies will be listed. Valid principals + // are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), thingGroupArn + // (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId (region:id). // // Target is a required field Target *string `location:"uri" locationName:"target" type:"string" required:"true"` @@ -35398,6 +38961,11 @@ type ListAuditFindingsInput struct { // specify either the startTime and endTime or the taskId, but not both. EndTime *time.Time `locationName:"endTime" type:"timestamp"` + // Boolean flag indicating whether only the suppressed findings or the unsuppressed + // findings should be listed. If this parameter isn't provided, the response + // will list both suppressed and unsuppressed findings. + ListSuppressedFindings *bool `locationName:"listSuppressedFindings" type:"boolean"` + // The maximum number of results to return at one time. The default is 25. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` @@ -35459,6 +39027,12 @@ func (s *ListAuditFindingsInput) SetEndTime(v time.Time) *ListAuditFindingsInput return s } +// SetListSuppressedFindings sets the ListSuppressedFindings field's value. +func (s *ListAuditFindingsInput) SetListSuppressedFindings(v bool) *ListAuditFindingsInput { + s.ListSuppressedFindings = &v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListAuditFindingsInput) SetMaxResults(v int64) *ListAuditFindingsInput { s.MaxResults = &v @@ -35787,6 +39361,119 @@ func (s *ListAuditMitigationActionsTasksOutput) SetTasks(v []*AuditMitigationAct return s } +type ListAuditSuppressionsInput struct { + _ struct{} `type:"structure"` + + // Determines whether suppressions are listed in ascending order by expiration + // date or not. If parameter isn't provided, ascendingOrder=true. + AscendingOrder *bool `locationName:"ascendingOrder" type:"boolean"` + + // An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration + // to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration + // to select which checks are enabled.) + CheckName *string `locationName:"checkName" type:"string"` + + // The maximum number of results to return at one time. The default is 25. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The token for the next set of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // Information that identifies the noncompliant resource. + ResourceIdentifier *ResourceIdentifier `locationName:"resourceIdentifier" type:"structure"` +} + +// String returns the string representation +func (s ListAuditSuppressionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAuditSuppressionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAuditSuppressionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAuditSuppressionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceIdentifier != nil { + if err := s.ResourceIdentifier.Validate(); err != nil { + invalidParams.AddNested("ResourceIdentifier", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAscendingOrder sets the AscendingOrder field's value. +func (s *ListAuditSuppressionsInput) SetAscendingOrder(v bool) *ListAuditSuppressionsInput { + s.AscendingOrder = &v + return s +} + +// SetCheckName sets the CheckName field's value. +func (s *ListAuditSuppressionsInput) SetCheckName(v string) *ListAuditSuppressionsInput { + s.CheckName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAuditSuppressionsInput) SetMaxResults(v int64) *ListAuditSuppressionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAuditSuppressionsInput) SetNextToken(v string) *ListAuditSuppressionsInput { + s.NextToken = &v + return s +} + +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *ListAuditSuppressionsInput) SetResourceIdentifier(v *ResourceIdentifier) *ListAuditSuppressionsInput { + s.ResourceIdentifier = v + return s +} + +type ListAuditSuppressionsOutput struct { + _ struct{} `type:"structure"` + + // A token that can be used to retrieve the next set of results, or null if + // there are no additional results. + NextToken *string `locationName:"nextToken" type:"string"` + + // List of audit suppressions. + Suppressions []*AuditSuppression `locationName:"suppressions" type:"list"` +} + +// String returns the string representation +func (s ListAuditSuppressionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAuditSuppressionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAuditSuppressionsOutput) SetNextToken(v string) *ListAuditSuppressionsOutput { + s.NextToken = &v + return s +} + +// SetSuppressions sets the Suppressions field's value. +func (s *ListAuditSuppressionsOutput) SetSuppressions(v []*AuditSuppression) *ListAuditSuppressionsOutput { + s.Suppressions = v + return s +} + type ListAuditTasksInput struct { _ struct{} `type:"structure"` @@ -37505,7 +41192,9 @@ type ListPrincipalPoliciesInput struct { // The result page size. PageSize *int64 `location:"querystring" locationName:"pageSize" min:"1" type:"integer"` - // The principal. + // The principal. Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), + // thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId + // (region:id). // // Principal is a required field Principal *string `location:"header" locationName:"x-amzn-iot-principal" type:"string" required:"true"` @@ -38747,8 +42436,8 @@ func (s *ListThingGroupsInput) SetRecursive(v bool) *ListThingGroupsInput { type ListThingGroupsOutput struct { _ struct{} `type:"structure"` - // The token used to get the next set of results, or null if there are no additional - // results. + // The token used to get the next set of results. Will not be returned if operation + // has returned all results. NextToken *string `locationName:"nextToken" type:"string"` // The thing groups. @@ -39110,8 +42799,8 @@ func (s *ListThingTypesInput) SetThingTypeName(v string) *ListThingTypesInput { type ListThingTypesOutput struct { _ struct{} `type:"structure"` - // The token for the next set of results, or null if there are no additional - // results. + // The token for the next set of results. Will not be returned if operation + // has returned all results. NextToken *string `locationName:"nextToken" type:"string"` // The thing types. @@ -39205,8 +42894,8 @@ func (s *ListThingsInBillingGroupInput) SetNextToken(v string) *ListThingsInBill type ListThingsInBillingGroupOutput struct { _ struct{} `type:"structure"` - // The token used to get the next set of results, or null if there are no additional - // results. + // The token used to get the next set of results. Will not be returned if operation + // has returned all results. NextToken *string `locationName:"nextToken" type:"string"` // A list of things in the billing group. @@ -39419,8 +43108,8 @@ func (s *ListThingsInput) SetThingTypeName(v string) *ListThingsInput { type ListThingsOutput struct { _ struct{} `type:"structure"` - // The token used to get the next set of results, or null if there are no additional - // results. + // The token used to get the next set of results. Will not be returned if operation + // has returned all results. NextToken *string `locationName:"nextToken" type:"string"` // The things. @@ -45289,7 +48978,9 @@ type TestAuthorizationInput struct { // as if they are not attached to the principal being authorized. PolicyNamesToSkip []*string `locationName:"policyNamesToSkip" type:"list"` - // The principal. + // The principal. Valid principals are CertificateArn (arn:aws:iot:region:accountId:cert/certificateId), + // thingGroupArn (arn:aws:iot:region:accountId:thinggroup/groupName) and CognitoId + // (region:id). Principal *string `locationName:"principal" type:"string"` } @@ -47195,6 +50886,107 @@ func (s UpdateAccountAuditConfigurationOutput) GoString() string { return s.String() } +type UpdateAuditSuppressionInput struct { + _ struct{} `type:"structure"` + + // An audit check name. Checks must be enabled for your account. (Use DescribeAccountAuditConfiguration + // to see the list of all checks, including those that are enabled or use UpdateAccountAuditConfiguration + // to select which checks are enabled.) + // + // CheckName is a required field + CheckName *string `locationName:"checkName" type:"string" required:"true"` + + // The description of the audit suppression. + Description *string `locationName:"description" type:"string"` + + // The expiration date (epoch timestamp in seconds) that you want the suppression + // to adhere to. + ExpirationDate *time.Time `locationName:"expirationDate" type:"timestamp"` + + // Information that identifies the noncompliant resource. + // + // ResourceIdentifier is a required field + ResourceIdentifier *ResourceIdentifier `locationName:"resourceIdentifier" type:"structure" required:"true"` + + // Indicates whether a suppression should exist indefinitely or not. + SuppressIndefinitely *bool `locationName:"suppressIndefinitely" type:"boolean"` +} + +// String returns the string representation +func (s UpdateAuditSuppressionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAuditSuppressionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAuditSuppressionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAuditSuppressionInput"} + if s.CheckName == nil { + invalidParams.Add(request.NewErrParamRequired("CheckName")) + } + if s.ResourceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier")) + } + if s.ResourceIdentifier != nil { + if err := s.ResourceIdentifier.Validate(); err != nil { + invalidParams.AddNested("ResourceIdentifier", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCheckName sets the CheckName field's value. +func (s *UpdateAuditSuppressionInput) SetCheckName(v string) *UpdateAuditSuppressionInput { + s.CheckName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateAuditSuppressionInput) SetDescription(v string) *UpdateAuditSuppressionInput { + s.Description = &v + return s +} + +// SetExpirationDate sets the ExpirationDate field's value. +func (s *UpdateAuditSuppressionInput) SetExpirationDate(v time.Time) *UpdateAuditSuppressionInput { + s.ExpirationDate = &v + return s +} + +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *UpdateAuditSuppressionInput) SetResourceIdentifier(v *ResourceIdentifier) *UpdateAuditSuppressionInput { + s.ResourceIdentifier = v + return s +} + +// SetSuppressIndefinitely sets the SuppressIndefinitely field's value. +func (s *UpdateAuditSuppressionInput) SetSuppressIndefinitely(v bool) *UpdateAuditSuppressionInput { + s.SuppressIndefinitely = &v + return s +} + +type UpdateAuditSuppressionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateAuditSuppressionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAuditSuppressionOutput) GoString() string { + return s.String() +} + type UpdateAuthorizerInput struct { _ struct{} `type:"structure"` diff --git a/service/iot/iotiface/interface.go b/service/iot/iotiface/interface.go index 3f97c8a6ea..424840f64d 100644 --- a/service/iot/iotiface/interface.go +++ b/service/iot/iotiface/interface.go @@ -120,6 +120,10 @@ type IoTAPI interface { ConfirmTopicRuleDestinationWithContext(aws.Context, *iot.ConfirmTopicRuleDestinationInput, ...request.Option) (*iot.ConfirmTopicRuleDestinationOutput, error) ConfirmTopicRuleDestinationRequest(*iot.ConfirmTopicRuleDestinationInput) (*request.Request, *iot.ConfirmTopicRuleDestinationOutput) + CreateAuditSuppression(*iot.CreateAuditSuppressionInput) (*iot.CreateAuditSuppressionOutput, error) + CreateAuditSuppressionWithContext(aws.Context, *iot.CreateAuditSuppressionInput, ...request.Option) (*iot.CreateAuditSuppressionOutput, error) + CreateAuditSuppressionRequest(*iot.CreateAuditSuppressionInput) (*request.Request, *iot.CreateAuditSuppressionOutput) + CreateAuthorizer(*iot.CreateAuthorizerInput) (*iot.CreateAuthorizerOutput, error) CreateAuthorizerWithContext(aws.Context, *iot.CreateAuthorizerInput, ...request.Option) (*iot.CreateAuthorizerOutput, error) CreateAuthorizerRequest(*iot.CreateAuthorizerInput) (*request.Request, *iot.CreateAuthorizerOutput) @@ -220,6 +224,10 @@ type IoTAPI interface { DeleteAccountAuditConfigurationWithContext(aws.Context, *iot.DeleteAccountAuditConfigurationInput, ...request.Option) (*iot.DeleteAccountAuditConfigurationOutput, error) DeleteAccountAuditConfigurationRequest(*iot.DeleteAccountAuditConfigurationInput) (*request.Request, *iot.DeleteAccountAuditConfigurationOutput) + DeleteAuditSuppression(*iot.DeleteAuditSuppressionInput) (*iot.DeleteAuditSuppressionOutput, error) + DeleteAuditSuppressionWithContext(aws.Context, *iot.DeleteAuditSuppressionInput, ...request.Option) (*iot.DeleteAuditSuppressionOutput, error) + DeleteAuditSuppressionRequest(*iot.DeleteAuditSuppressionInput) (*request.Request, *iot.DeleteAuditSuppressionOutput) + DeleteAuthorizer(*iot.DeleteAuthorizerInput) (*iot.DeleteAuthorizerOutput, error) DeleteAuthorizerWithContext(aws.Context, *iot.DeleteAuthorizerInput, ...request.Option) (*iot.DeleteAuthorizerOutput, error) DeleteAuthorizerRequest(*iot.DeleteAuthorizerInput) (*request.Request, *iot.DeleteAuthorizerOutput) @@ -340,6 +348,10 @@ type IoTAPI interface { DescribeAuditMitigationActionsTaskWithContext(aws.Context, *iot.DescribeAuditMitigationActionsTaskInput, ...request.Option) (*iot.DescribeAuditMitigationActionsTaskOutput, error) DescribeAuditMitigationActionsTaskRequest(*iot.DescribeAuditMitigationActionsTaskInput) (*request.Request, *iot.DescribeAuditMitigationActionsTaskOutput) + DescribeAuditSuppression(*iot.DescribeAuditSuppressionInput) (*iot.DescribeAuditSuppressionOutput, error) + DescribeAuditSuppressionWithContext(aws.Context, *iot.DescribeAuditSuppressionInput, ...request.Option) (*iot.DescribeAuditSuppressionOutput, error) + DescribeAuditSuppressionRequest(*iot.DescribeAuditSuppressionInput) (*request.Request, *iot.DescribeAuditSuppressionOutput) + DescribeAuditTask(*iot.DescribeAuditTaskInput) (*iot.DescribeAuditTaskOutput, error) DescribeAuditTaskWithContext(aws.Context, *iot.DescribeAuditTaskInput, ...request.Option) (*iot.DescribeAuditTaskOutput, error) DescribeAuditTaskRequest(*iot.DescribeAuditTaskInput) (*request.Request, *iot.DescribeAuditTaskOutput) @@ -520,90 +532,163 @@ type IoTAPI interface { ListActiveViolationsWithContext(aws.Context, *iot.ListActiveViolationsInput, ...request.Option) (*iot.ListActiveViolationsOutput, error) ListActiveViolationsRequest(*iot.ListActiveViolationsInput) (*request.Request, *iot.ListActiveViolationsOutput) + ListActiveViolationsPages(*iot.ListActiveViolationsInput, func(*iot.ListActiveViolationsOutput, bool) bool) error + ListActiveViolationsPagesWithContext(aws.Context, *iot.ListActiveViolationsInput, func(*iot.ListActiveViolationsOutput, bool) bool, ...request.Option) error + ListAttachedPolicies(*iot.ListAttachedPoliciesInput) (*iot.ListAttachedPoliciesOutput, error) ListAttachedPoliciesWithContext(aws.Context, *iot.ListAttachedPoliciesInput, ...request.Option) (*iot.ListAttachedPoliciesOutput, error) ListAttachedPoliciesRequest(*iot.ListAttachedPoliciesInput) (*request.Request, *iot.ListAttachedPoliciesOutput) + ListAttachedPoliciesPages(*iot.ListAttachedPoliciesInput, func(*iot.ListAttachedPoliciesOutput, bool) bool) error + ListAttachedPoliciesPagesWithContext(aws.Context, *iot.ListAttachedPoliciesInput, func(*iot.ListAttachedPoliciesOutput, bool) bool, ...request.Option) error + ListAuditFindings(*iot.ListAuditFindingsInput) (*iot.ListAuditFindingsOutput, error) ListAuditFindingsWithContext(aws.Context, *iot.ListAuditFindingsInput, ...request.Option) (*iot.ListAuditFindingsOutput, error) ListAuditFindingsRequest(*iot.ListAuditFindingsInput) (*request.Request, *iot.ListAuditFindingsOutput) + ListAuditFindingsPages(*iot.ListAuditFindingsInput, func(*iot.ListAuditFindingsOutput, bool) bool) error + ListAuditFindingsPagesWithContext(aws.Context, *iot.ListAuditFindingsInput, func(*iot.ListAuditFindingsOutput, bool) bool, ...request.Option) error + ListAuditMitigationActionsExecutions(*iot.ListAuditMitigationActionsExecutionsInput) (*iot.ListAuditMitigationActionsExecutionsOutput, error) ListAuditMitigationActionsExecutionsWithContext(aws.Context, *iot.ListAuditMitigationActionsExecutionsInput, ...request.Option) (*iot.ListAuditMitigationActionsExecutionsOutput, error) ListAuditMitigationActionsExecutionsRequest(*iot.ListAuditMitigationActionsExecutionsInput) (*request.Request, *iot.ListAuditMitigationActionsExecutionsOutput) + ListAuditMitigationActionsExecutionsPages(*iot.ListAuditMitigationActionsExecutionsInput, func(*iot.ListAuditMitigationActionsExecutionsOutput, bool) bool) error + ListAuditMitigationActionsExecutionsPagesWithContext(aws.Context, *iot.ListAuditMitigationActionsExecutionsInput, func(*iot.ListAuditMitigationActionsExecutionsOutput, bool) bool, ...request.Option) error + ListAuditMitigationActionsTasks(*iot.ListAuditMitigationActionsTasksInput) (*iot.ListAuditMitigationActionsTasksOutput, error) ListAuditMitigationActionsTasksWithContext(aws.Context, *iot.ListAuditMitigationActionsTasksInput, ...request.Option) (*iot.ListAuditMitigationActionsTasksOutput, error) ListAuditMitigationActionsTasksRequest(*iot.ListAuditMitigationActionsTasksInput) (*request.Request, *iot.ListAuditMitigationActionsTasksOutput) + ListAuditMitigationActionsTasksPages(*iot.ListAuditMitigationActionsTasksInput, func(*iot.ListAuditMitigationActionsTasksOutput, bool) bool) error + ListAuditMitigationActionsTasksPagesWithContext(aws.Context, *iot.ListAuditMitigationActionsTasksInput, func(*iot.ListAuditMitigationActionsTasksOutput, bool) bool, ...request.Option) error + + ListAuditSuppressions(*iot.ListAuditSuppressionsInput) (*iot.ListAuditSuppressionsOutput, error) + ListAuditSuppressionsWithContext(aws.Context, *iot.ListAuditSuppressionsInput, ...request.Option) (*iot.ListAuditSuppressionsOutput, error) + ListAuditSuppressionsRequest(*iot.ListAuditSuppressionsInput) (*request.Request, *iot.ListAuditSuppressionsOutput) + + ListAuditSuppressionsPages(*iot.ListAuditSuppressionsInput, func(*iot.ListAuditSuppressionsOutput, bool) bool) error + ListAuditSuppressionsPagesWithContext(aws.Context, *iot.ListAuditSuppressionsInput, func(*iot.ListAuditSuppressionsOutput, bool) bool, ...request.Option) error + ListAuditTasks(*iot.ListAuditTasksInput) (*iot.ListAuditTasksOutput, error) ListAuditTasksWithContext(aws.Context, *iot.ListAuditTasksInput, ...request.Option) (*iot.ListAuditTasksOutput, error) ListAuditTasksRequest(*iot.ListAuditTasksInput) (*request.Request, *iot.ListAuditTasksOutput) + ListAuditTasksPages(*iot.ListAuditTasksInput, func(*iot.ListAuditTasksOutput, bool) bool) error + ListAuditTasksPagesWithContext(aws.Context, *iot.ListAuditTasksInput, func(*iot.ListAuditTasksOutput, bool) bool, ...request.Option) error + ListAuthorizers(*iot.ListAuthorizersInput) (*iot.ListAuthorizersOutput, error) ListAuthorizersWithContext(aws.Context, *iot.ListAuthorizersInput, ...request.Option) (*iot.ListAuthorizersOutput, error) ListAuthorizersRequest(*iot.ListAuthorizersInput) (*request.Request, *iot.ListAuthorizersOutput) + ListAuthorizersPages(*iot.ListAuthorizersInput, func(*iot.ListAuthorizersOutput, bool) bool) error + ListAuthorizersPagesWithContext(aws.Context, *iot.ListAuthorizersInput, func(*iot.ListAuthorizersOutput, bool) bool, ...request.Option) error + ListBillingGroups(*iot.ListBillingGroupsInput) (*iot.ListBillingGroupsOutput, error) ListBillingGroupsWithContext(aws.Context, *iot.ListBillingGroupsInput, ...request.Option) (*iot.ListBillingGroupsOutput, error) ListBillingGroupsRequest(*iot.ListBillingGroupsInput) (*request.Request, *iot.ListBillingGroupsOutput) + ListBillingGroupsPages(*iot.ListBillingGroupsInput, func(*iot.ListBillingGroupsOutput, bool) bool) error + ListBillingGroupsPagesWithContext(aws.Context, *iot.ListBillingGroupsInput, func(*iot.ListBillingGroupsOutput, bool) bool, ...request.Option) error + ListCACertificates(*iot.ListCACertificatesInput) (*iot.ListCACertificatesOutput, error) ListCACertificatesWithContext(aws.Context, *iot.ListCACertificatesInput, ...request.Option) (*iot.ListCACertificatesOutput, error) ListCACertificatesRequest(*iot.ListCACertificatesInput) (*request.Request, *iot.ListCACertificatesOutput) + ListCACertificatesPages(*iot.ListCACertificatesInput, func(*iot.ListCACertificatesOutput, bool) bool) error + ListCACertificatesPagesWithContext(aws.Context, *iot.ListCACertificatesInput, func(*iot.ListCACertificatesOutput, bool) bool, ...request.Option) error + ListCertificates(*iot.ListCertificatesInput) (*iot.ListCertificatesOutput, error) ListCertificatesWithContext(aws.Context, *iot.ListCertificatesInput, ...request.Option) (*iot.ListCertificatesOutput, error) ListCertificatesRequest(*iot.ListCertificatesInput) (*request.Request, *iot.ListCertificatesOutput) + ListCertificatesPages(*iot.ListCertificatesInput, func(*iot.ListCertificatesOutput, bool) bool) error + ListCertificatesPagesWithContext(aws.Context, *iot.ListCertificatesInput, func(*iot.ListCertificatesOutput, bool) bool, ...request.Option) error + ListCertificatesByCA(*iot.ListCertificatesByCAInput) (*iot.ListCertificatesByCAOutput, error) ListCertificatesByCAWithContext(aws.Context, *iot.ListCertificatesByCAInput, ...request.Option) (*iot.ListCertificatesByCAOutput, error) ListCertificatesByCARequest(*iot.ListCertificatesByCAInput) (*request.Request, *iot.ListCertificatesByCAOutput) + ListCertificatesByCAPages(*iot.ListCertificatesByCAInput, func(*iot.ListCertificatesByCAOutput, bool) bool) error + ListCertificatesByCAPagesWithContext(aws.Context, *iot.ListCertificatesByCAInput, func(*iot.ListCertificatesByCAOutput, bool) bool, ...request.Option) error + ListDimensions(*iot.ListDimensionsInput) (*iot.ListDimensionsOutput, error) ListDimensionsWithContext(aws.Context, *iot.ListDimensionsInput, ...request.Option) (*iot.ListDimensionsOutput, error) ListDimensionsRequest(*iot.ListDimensionsInput) (*request.Request, *iot.ListDimensionsOutput) + ListDimensionsPages(*iot.ListDimensionsInput, func(*iot.ListDimensionsOutput, bool) bool) error + ListDimensionsPagesWithContext(aws.Context, *iot.ListDimensionsInput, func(*iot.ListDimensionsOutput, bool) bool, ...request.Option) error + ListDomainConfigurations(*iot.ListDomainConfigurationsInput) (*iot.ListDomainConfigurationsOutput, error) ListDomainConfigurationsWithContext(aws.Context, *iot.ListDomainConfigurationsInput, ...request.Option) (*iot.ListDomainConfigurationsOutput, error) ListDomainConfigurationsRequest(*iot.ListDomainConfigurationsInput) (*request.Request, *iot.ListDomainConfigurationsOutput) + ListDomainConfigurationsPages(*iot.ListDomainConfigurationsInput, func(*iot.ListDomainConfigurationsOutput, bool) bool) error + ListDomainConfigurationsPagesWithContext(aws.Context, *iot.ListDomainConfigurationsInput, func(*iot.ListDomainConfigurationsOutput, bool) bool, ...request.Option) error + ListIndices(*iot.ListIndicesInput) (*iot.ListIndicesOutput, error) ListIndicesWithContext(aws.Context, *iot.ListIndicesInput, ...request.Option) (*iot.ListIndicesOutput, error) ListIndicesRequest(*iot.ListIndicesInput) (*request.Request, *iot.ListIndicesOutput) + ListIndicesPages(*iot.ListIndicesInput, func(*iot.ListIndicesOutput, bool) bool) error + ListIndicesPagesWithContext(aws.Context, *iot.ListIndicesInput, func(*iot.ListIndicesOutput, bool) bool, ...request.Option) error + ListJobExecutionsForJob(*iot.ListJobExecutionsForJobInput) (*iot.ListJobExecutionsForJobOutput, error) ListJobExecutionsForJobWithContext(aws.Context, *iot.ListJobExecutionsForJobInput, ...request.Option) (*iot.ListJobExecutionsForJobOutput, error) ListJobExecutionsForJobRequest(*iot.ListJobExecutionsForJobInput) (*request.Request, *iot.ListJobExecutionsForJobOutput) + ListJobExecutionsForJobPages(*iot.ListJobExecutionsForJobInput, func(*iot.ListJobExecutionsForJobOutput, bool) bool) error + ListJobExecutionsForJobPagesWithContext(aws.Context, *iot.ListJobExecutionsForJobInput, func(*iot.ListJobExecutionsForJobOutput, bool) bool, ...request.Option) error + ListJobExecutionsForThing(*iot.ListJobExecutionsForThingInput) (*iot.ListJobExecutionsForThingOutput, error) ListJobExecutionsForThingWithContext(aws.Context, *iot.ListJobExecutionsForThingInput, ...request.Option) (*iot.ListJobExecutionsForThingOutput, error) ListJobExecutionsForThingRequest(*iot.ListJobExecutionsForThingInput) (*request.Request, *iot.ListJobExecutionsForThingOutput) + ListJobExecutionsForThingPages(*iot.ListJobExecutionsForThingInput, func(*iot.ListJobExecutionsForThingOutput, bool) bool) error + ListJobExecutionsForThingPagesWithContext(aws.Context, *iot.ListJobExecutionsForThingInput, func(*iot.ListJobExecutionsForThingOutput, bool) bool, ...request.Option) error + ListJobs(*iot.ListJobsInput) (*iot.ListJobsOutput, error) ListJobsWithContext(aws.Context, *iot.ListJobsInput, ...request.Option) (*iot.ListJobsOutput, error) ListJobsRequest(*iot.ListJobsInput) (*request.Request, *iot.ListJobsOutput) + ListJobsPages(*iot.ListJobsInput, func(*iot.ListJobsOutput, bool) bool) error + ListJobsPagesWithContext(aws.Context, *iot.ListJobsInput, func(*iot.ListJobsOutput, bool) bool, ...request.Option) error + ListMitigationActions(*iot.ListMitigationActionsInput) (*iot.ListMitigationActionsOutput, error) ListMitigationActionsWithContext(aws.Context, *iot.ListMitigationActionsInput, ...request.Option) (*iot.ListMitigationActionsOutput, error) ListMitigationActionsRequest(*iot.ListMitigationActionsInput) (*request.Request, *iot.ListMitigationActionsOutput) + ListMitigationActionsPages(*iot.ListMitigationActionsInput, func(*iot.ListMitigationActionsOutput, bool) bool) error + ListMitigationActionsPagesWithContext(aws.Context, *iot.ListMitigationActionsInput, func(*iot.ListMitigationActionsOutput, bool) bool, ...request.Option) error + ListOTAUpdates(*iot.ListOTAUpdatesInput) (*iot.ListOTAUpdatesOutput, error) ListOTAUpdatesWithContext(aws.Context, *iot.ListOTAUpdatesInput, ...request.Option) (*iot.ListOTAUpdatesOutput, error) ListOTAUpdatesRequest(*iot.ListOTAUpdatesInput) (*request.Request, *iot.ListOTAUpdatesOutput) + ListOTAUpdatesPages(*iot.ListOTAUpdatesInput, func(*iot.ListOTAUpdatesOutput, bool) bool) error + ListOTAUpdatesPagesWithContext(aws.Context, *iot.ListOTAUpdatesInput, func(*iot.ListOTAUpdatesOutput, bool) bool, ...request.Option) error + ListOutgoingCertificates(*iot.ListOutgoingCertificatesInput) (*iot.ListOutgoingCertificatesOutput, error) ListOutgoingCertificatesWithContext(aws.Context, *iot.ListOutgoingCertificatesInput, ...request.Option) (*iot.ListOutgoingCertificatesOutput, error) ListOutgoingCertificatesRequest(*iot.ListOutgoingCertificatesInput) (*request.Request, *iot.ListOutgoingCertificatesOutput) + ListOutgoingCertificatesPages(*iot.ListOutgoingCertificatesInput, func(*iot.ListOutgoingCertificatesOutput, bool) bool) error + ListOutgoingCertificatesPagesWithContext(aws.Context, *iot.ListOutgoingCertificatesInput, func(*iot.ListOutgoingCertificatesOutput, bool) bool, ...request.Option) error + ListPolicies(*iot.ListPoliciesInput) (*iot.ListPoliciesOutput, error) ListPoliciesWithContext(aws.Context, *iot.ListPoliciesInput, ...request.Option) (*iot.ListPoliciesOutput, error) ListPoliciesRequest(*iot.ListPoliciesInput) (*request.Request, *iot.ListPoliciesOutput) + ListPoliciesPages(*iot.ListPoliciesInput, func(*iot.ListPoliciesOutput, bool) bool) error + ListPoliciesPagesWithContext(aws.Context, *iot.ListPoliciesInput, func(*iot.ListPoliciesOutput, bool) bool, ...request.Option) error + ListPolicyPrincipals(*iot.ListPolicyPrincipalsInput) (*iot.ListPolicyPrincipalsOutput, error) ListPolicyPrincipalsWithContext(aws.Context, *iot.ListPolicyPrincipalsInput, ...request.Option) (*iot.ListPolicyPrincipalsOutput, error) ListPolicyPrincipalsRequest(*iot.ListPolicyPrincipalsInput) (*request.Request, *iot.ListPolicyPrincipalsOutput) + ListPolicyPrincipalsPages(*iot.ListPolicyPrincipalsInput, func(*iot.ListPolicyPrincipalsOutput, bool) bool) error + ListPolicyPrincipalsPagesWithContext(aws.Context, *iot.ListPolicyPrincipalsInput, func(*iot.ListPolicyPrincipalsOutput, bool) bool, ...request.Option) error + ListPolicyVersions(*iot.ListPolicyVersionsInput) (*iot.ListPolicyVersionsOutput, error) ListPolicyVersionsWithContext(aws.Context, *iot.ListPolicyVersionsInput, ...request.Option) (*iot.ListPolicyVersionsOutput, error) ListPolicyVersionsRequest(*iot.ListPolicyVersionsInput) (*request.Request, *iot.ListPolicyVersionsOutput) @@ -612,58 +697,100 @@ type IoTAPI interface { ListPrincipalPoliciesWithContext(aws.Context, *iot.ListPrincipalPoliciesInput, ...request.Option) (*iot.ListPrincipalPoliciesOutput, error) ListPrincipalPoliciesRequest(*iot.ListPrincipalPoliciesInput) (*request.Request, *iot.ListPrincipalPoliciesOutput) + ListPrincipalPoliciesPages(*iot.ListPrincipalPoliciesInput, func(*iot.ListPrincipalPoliciesOutput, bool) bool) error + ListPrincipalPoliciesPagesWithContext(aws.Context, *iot.ListPrincipalPoliciesInput, func(*iot.ListPrincipalPoliciesOutput, bool) bool, ...request.Option) error + ListPrincipalThings(*iot.ListPrincipalThingsInput) (*iot.ListPrincipalThingsOutput, error) ListPrincipalThingsWithContext(aws.Context, *iot.ListPrincipalThingsInput, ...request.Option) (*iot.ListPrincipalThingsOutput, error) ListPrincipalThingsRequest(*iot.ListPrincipalThingsInput) (*request.Request, *iot.ListPrincipalThingsOutput) + ListPrincipalThingsPages(*iot.ListPrincipalThingsInput, func(*iot.ListPrincipalThingsOutput, bool) bool) error + ListPrincipalThingsPagesWithContext(aws.Context, *iot.ListPrincipalThingsInput, func(*iot.ListPrincipalThingsOutput, bool) bool, ...request.Option) error + ListProvisioningTemplateVersions(*iot.ListProvisioningTemplateVersionsInput) (*iot.ListProvisioningTemplateVersionsOutput, error) ListProvisioningTemplateVersionsWithContext(aws.Context, *iot.ListProvisioningTemplateVersionsInput, ...request.Option) (*iot.ListProvisioningTemplateVersionsOutput, error) ListProvisioningTemplateVersionsRequest(*iot.ListProvisioningTemplateVersionsInput) (*request.Request, *iot.ListProvisioningTemplateVersionsOutput) + ListProvisioningTemplateVersionsPages(*iot.ListProvisioningTemplateVersionsInput, func(*iot.ListProvisioningTemplateVersionsOutput, bool) bool) error + ListProvisioningTemplateVersionsPagesWithContext(aws.Context, *iot.ListProvisioningTemplateVersionsInput, func(*iot.ListProvisioningTemplateVersionsOutput, bool) bool, ...request.Option) error + ListProvisioningTemplates(*iot.ListProvisioningTemplatesInput) (*iot.ListProvisioningTemplatesOutput, error) ListProvisioningTemplatesWithContext(aws.Context, *iot.ListProvisioningTemplatesInput, ...request.Option) (*iot.ListProvisioningTemplatesOutput, error) ListProvisioningTemplatesRequest(*iot.ListProvisioningTemplatesInput) (*request.Request, *iot.ListProvisioningTemplatesOutput) + ListProvisioningTemplatesPages(*iot.ListProvisioningTemplatesInput, func(*iot.ListProvisioningTemplatesOutput, bool) bool) error + ListProvisioningTemplatesPagesWithContext(aws.Context, *iot.ListProvisioningTemplatesInput, func(*iot.ListProvisioningTemplatesOutput, bool) bool, ...request.Option) error + ListRoleAliases(*iot.ListRoleAliasesInput) (*iot.ListRoleAliasesOutput, error) ListRoleAliasesWithContext(aws.Context, *iot.ListRoleAliasesInput, ...request.Option) (*iot.ListRoleAliasesOutput, error) ListRoleAliasesRequest(*iot.ListRoleAliasesInput) (*request.Request, *iot.ListRoleAliasesOutput) + ListRoleAliasesPages(*iot.ListRoleAliasesInput, func(*iot.ListRoleAliasesOutput, bool) bool) error + ListRoleAliasesPagesWithContext(aws.Context, *iot.ListRoleAliasesInput, func(*iot.ListRoleAliasesOutput, bool) bool, ...request.Option) error + ListScheduledAudits(*iot.ListScheduledAuditsInput) (*iot.ListScheduledAuditsOutput, error) ListScheduledAuditsWithContext(aws.Context, *iot.ListScheduledAuditsInput, ...request.Option) (*iot.ListScheduledAuditsOutput, error) ListScheduledAuditsRequest(*iot.ListScheduledAuditsInput) (*request.Request, *iot.ListScheduledAuditsOutput) + ListScheduledAuditsPages(*iot.ListScheduledAuditsInput, func(*iot.ListScheduledAuditsOutput, bool) bool) error + ListScheduledAuditsPagesWithContext(aws.Context, *iot.ListScheduledAuditsInput, func(*iot.ListScheduledAuditsOutput, bool) bool, ...request.Option) error + ListSecurityProfiles(*iot.ListSecurityProfilesInput) (*iot.ListSecurityProfilesOutput, error) ListSecurityProfilesWithContext(aws.Context, *iot.ListSecurityProfilesInput, ...request.Option) (*iot.ListSecurityProfilesOutput, error) ListSecurityProfilesRequest(*iot.ListSecurityProfilesInput) (*request.Request, *iot.ListSecurityProfilesOutput) + ListSecurityProfilesPages(*iot.ListSecurityProfilesInput, func(*iot.ListSecurityProfilesOutput, bool) bool) error + ListSecurityProfilesPagesWithContext(aws.Context, *iot.ListSecurityProfilesInput, func(*iot.ListSecurityProfilesOutput, bool) bool, ...request.Option) error + ListSecurityProfilesForTarget(*iot.ListSecurityProfilesForTargetInput) (*iot.ListSecurityProfilesForTargetOutput, error) ListSecurityProfilesForTargetWithContext(aws.Context, *iot.ListSecurityProfilesForTargetInput, ...request.Option) (*iot.ListSecurityProfilesForTargetOutput, error) ListSecurityProfilesForTargetRequest(*iot.ListSecurityProfilesForTargetInput) (*request.Request, *iot.ListSecurityProfilesForTargetOutput) + ListSecurityProfilesForTargetPages(*iot.ListSecurityProfilesForTargetInput, func(*iot.ListSecurityProfilesForTargetOutput, bool) bool) error + ListSecurityProfilesForTargetPagesWithContext(aws.Context, *iot.ListSecurityProfilesForTargetInput, func(*iot.ListSecurityProfilesForTargetOutput, bool) bool, ...request.Option) error + ListStreams(*iot.ListStreamsInput) (*iot.ListStreamsOutput, error) ListStreamsWithContext(aws.Context, *iot.ListStreamsInput, ...request.Option) (*iot.ListStreamsOutput, error) ListStreamsRequest(*iot.ListStreamsInput) (*request.Request, *iot.ListStreamsOutput) + ListStreamsPages(*iot.ListStreamsInput, func(*iot.ListStreamsOutput, bool) bool) error + ListStreamsPagesWithContext(aws.Context, *iot.ListStreamsInput, func(*iot.ListStreamsOutput, bool) bool, ...request.Option) error + ListTagsForResource(*iot.ListTagsForResourceInput) (*iot.ListTagsForResourceOutput, error) ListTagsForResourceWithContext(aws.Context, *iot.ListTagsForResourceInput, ...request.Option) (*iot.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*iot.ListTagsForResourceInput) (*request.Request, *iot.ListTagsForResourceOutput) + ListTagsForResourcePages(*iot.ListTagsForResourceInput, func(*iot.ListTagsForResourceOutput, bool) bool) error + ListTagsForResourcePagesWithContext(aws.Context, *iot.ListTagsForResourceInput, func(*iot.ListTagsForResourceOutput, bool) bool, ...request.Option) error + ListTargetsForPolicy(*iot.ListTargetsForPolicyInput) (*iot.ListTargetsForPolicyOutput, error) ListTargetsForPolicyWithContext(aws.Context, *iot.ListTargetsForPolicyInput, ...request.Option) (*iot.ListTargetsForPolicyOutput, error) ListTargetsForPolicyRequest(*iot.ListTargetsForPolicyInput) (*request.Request, *iot.ListTargetsForPolicyOutput) + ListTargetsForPolicyPages(*iot.ListTargetsForPolicyInput, func(*iot.ListTargetsForPolicyOutput, bool) bool) error + ListTargetsForPolicyPagesWithContext(aws.Context, *iot.ListTargetsForPolicyInput, func(*iot.ListTargetsForPolicyOutput, bool) bool, ...request.Option) error + ListTargetsForSecurityProfile(*iot.ListTargetsForSecurityProfileInput) (*iot.ListTargetsForSecurityProfileOutput, error) ListTargetsForSecurityProfileWithContext(aws.Context, *iot.ListTargetsForSecurityProfileInput, ...request.Option) (*iot.ListTargetsForSecurityProfileOutput, error) ListTargetsForSecurityProfileRequest(*iot.ListTargetsForSecurityProfileInput) (*request.Request, *iot.ListTargetsForSecurityProfileOutput) + ListTargetsForSecurityProfilePages(*iot.ListTargetsForSecurityProfileInput, func(*iot.ListTargetsForSecurityProfileOutput, bool) bool) error + ListTargetsForSecurityProfilePagesWithContext(aws.Context, *iot.ListTargetsForSecurityProfileInput, func(*iot.ListTargetsForSecurityProfileOutput, bool) bool, ...request.Option) error + ListThingGroups(*iot.ListThingGroupsInput) (*iot.ListThingGroupsOutput, error) ListThingGroupsWithContext(aws.Context, *iot.ListThingGroupsInput, ...request.Option) (*iot.ListThingGroupsOutput, error) ListThingGroupsRequest(*iot.ListThingGroupsInput) (*request.Request, *iot.ListThingGroupsOutput) + ListThingGroupsPages(*iot.ListThingGroupsInput, func(*iot.ListThingGroupsOutput, bool) bool) error + ListThingGroupsPagesWithContext(aws.Context, *iot.ListThingGroupsInput, func(*iot.ListThingGroupsOutput, bool) bool, ...request.Option) error + ListThingGroupsForThing(*iot.ListThingGroupsForThingInput) (*iot.ListThingGroupsForThingOutput, error) ListThingGroupsForThingWithContext(aws.Context, *iot.ListThingGroupsForThingInput, ...request.Option) (*iot.ListThingGroupsForThingOutput, error) ListThingGroupsForThingRequest(*iot.ListThingGroupsForThingInput) (*request.Request, *iot.ListThingGroupsForThingOutput) + ListThingGroupsForThingPages(*iot.ListThingGroupsForThingInput, func(*iot.ListThingGroupsForThingOutput, bool) bool) error + ListThingGroupsForThingPagesWithContext(aws.Context, *iot.ListThingGroupsForThingInput, func(*iot.ListThingGroupsForThingOutput, bool) bool, ...request.Option) error + ListThingPrincipals(*iot.ListThingPrincipalsInput) (*iot.ListThingPrincipalsOutput, error) ListThingPrincipalsWithContext(aws.Context, *iot.ListThingPrincipalsInput, ...request.Option) (*iot.ListThingPrincipalsOutput, error) ListThingPrincipalsRequest(*iot.ListThingPrincipalsInput) (*request.Request, *iot.ListThingPrincipalsOutput) @@ -672,42 +799,72 @@ type IoTAPI interface { ListThingRegistrationTaskReportsWithContext(aws.Context, *iot.ListThingRegistrationTaskReportsInput, ...request.Option) (*iot.ListThingRegistrationTaskReportsOutput, error) ListThingRegistrationTaskReportsRequest(*iot.ListThingRegistrationTaskReportsInput) (*request.Request, *iot.ListThingRegistrationTaskReportsOutput) + ListThingRegistrationTaskReportsPages(*iot.ListThingRegistrationTaskReportsInput, func(*iot.ListThingRegistrationTaskReportsOutput, bool) bool) error + ListThingRegistrationTaskReportsPagesWithContext(aws.Context, *iot.ListThingRegistrationTaskReportsInput, func(*iot.ListThingRegistrationTaskReportsOutput, bool) bool, ...request.Option) error + ListThingRegistrationTasks(*iot.ListThingRegistrationTasksInput) (*iot.ListThingRegistrationTasksOutput, error) ListThingRegistrationTasksWithContext(aws.Context, *iot.ListThingRegistrationTasksInput, ...request.Option) (*iot.ListThingRegistrationTasksOutput, error) ListThingRegistrationTasksRequest(*iot.ListThingRegistrationTasksInput) (*request.Request, *iot.ListThingRegistrationTasksOutput) + ListThingRegistrationTasksPages(*iot.ListThingRegistrationTasksInput, func(*iot.ListThingRegistrationTasksOutput, bool) bool) error + ListThingRegistrationTasksPagesWithContext(aws.Context, *iot.ListThingRegistrationTasksInput, func(*iot.ListThingRegistrationTasksOutput, bool) bool, ...request.Option) error + ListThingTypes(*iot.ListThingTypesInput) (*iot.ListThingTypesOutput, error) ListThingTypesWithContext(aws.Context, *iot.ListThingTypesInput, ...request.Option) (*iot.ListThingTypesOutput, error) ListThingTypesRequest(*iot.ListThingTypesInput) (*request.Request, *iot.ListThingTypesOutput) + ListThingTypesPages(*iot.ListThingTypesInput, func(*iot.ListThingTypesOutput, bool) bool) error + ListThingTypesPagesWithContext(aws.Context, *iot.ListThingTypesInput, func(*iot.ListThingTypesOutput, bool) bool, ...request.Option) error + ListThings(*iot.ListThingsInput) (*iot.ListThingsOutput, error) ListThingsWithContext(aws.Context, *iot.ListThingsInput, ...request.Option) (*iot.ListThingsOutput, error) ListThingsRequest(*iot.ListThingsInput) (*request.Request, *iot.ListThingsOutput) + ListThingsPages(*iot.ListThingsInput, func(*iot.ListThingsOutput, bool) bool) error + ListThingsPagesWithContext(aws.Context, *iot.ListThingsInput, func(*iot.ListThingsOutput, bool) bool, ...request.Option) error + ListThingsInBillingGroup(*iot.ListThingsInBillingGroupInput) (*iot.ListThingsInBillingGroupOutput, error) ListThingsInBillingGroupWithContext(aws.Context, *iot.ListThingsInBillingGroupInput, ...request.Option) (*iot.ListThingsInBillingGroupOutput, error) ListThingsInBillingGroupRequest(*iot.ListThingsInBillingGroupInput) (*request.Request, *iot.ListThingsInBillingGroupOutput) + ListThingsInBillingGroupPages(*iot.ListThingsInBillingGroupInput, func(*iot.ListThingsInBillingGroupOutput, bool) bool) error + ListThingsInBillingGroupPagesWithContext(aws.Context, *iot.ListThingsInBillingGroupInput, func(*iot.ListThingsInBillingGroupOutput, bool) bool, ...request.Option) error + ListThingsInThingGroup(*iot.ListThingsInThingGroupInput) (*iot.ListThingsInThingGroupOutput, error) ListThingsInThingGroupWithContext(aws.Context, *iot.ListThingsInThingGroupInput, ...request.Option) (*iot.ListThingsInThingGroupOutput, error) ListThingsInThingGroupRequest(*iot.ListThingsInThingGroupInput) (*request.Request, *iot.ListThingsInThingGroupOutput) + ListThingsInThingGroupPages(*iot.ListThingsInThingGroupInput, func(*iot.ListThingsInThingGroupOutput, bool) bool) error + ListThingsInThingGroupPagesWithContext(aws.Context, *iot.ListThingsInThingGroupInput, func(*iot.ListThingsInThingGroupOutput, bool) bool, ...request.Option) error + ListTopicRuleDestinations(*iot.ListTopicRuleDestinationsInput) (*iot.ListTopicRuleDestinationsOutput, error) ListTopicRuleDestinationsWithContext(aws.Context, *iot.ListTopicRuleDestinationsInput, ...request.Option) (*iot.ListTopicRuleDestinationsOutput, error) ListTopicRuleDestinationsRequest(*iot.ListTopicRuleDestinationsInput) (*request.Request, *iot.ListTopicRuleDestinationsOutput) + ListTopicRuleDestinationsPages(*iot.ListTopicRuleDestinationsInput, func(*iot.ListTopicRuleDestinationsOutput, bool) bool) error + ListTopicRuleDestinationsPagesWithContext(aws.Context, *iot.ListTopicRuleDestinationsInput, func(*iot.ListTopicRuleDestinationsOutput, bool) bool, ...request.Option) error + ListTopicRules(*iot.ListTopicRulesInput) (*iot.ListTopicRulesOutput, error) ListTopicRulesWithContext(aws.Context, *iot.ListTopicRulesInput, ...request.Option) (*iot.ListTopicRulesOutput, error) ListTopicRulesRequest(*iot.ListTopicRulesInput) (*request.Request, *iot.ListTopicRulesOutput) + ListTopicRulesPages(*iot.ListTopicRulesInput, func(*iot.ListTopicRulesOutput, bool) bool) error + ListTopicRulesPagesWithContext(aws.Context, *iot.ListTopicRulesInput, func(*iot.ListTopicRulesOutput, bool) bool, ...request.Option) error + ListV2LoggingLevels(*iot.ListV2LoggingLevelsInput) (*iot.ListV2LoggingLevelsOutput, error) ListV2LoggingLevelsWithContext(aws.Context, *iot.ListV2LoggingLevelsInput, ...request.Option) (*iot.ListV2LoggingLevelsOutput, error) ListV2LoggingLevelsRequest(*iot.ListV2LoggingLevelsInput) (*request.Request, *iot.ListV2LoggingLevelsOutput) + ListV2LoggingLevelsPages(*iot.ListV2LoggingLevelsInput, func(*iot.ListV2LoggingLevelsOutput, bool) bool) error + ListV2LoggingLevelsPagesWithContext(aws.Context, *iot.ListV2LoggingLevelsInput, func(*iot.ListV2LoggingLevelsOutput, bool) bool, ...request.Option) error + ListViolationEvents(*iot.ListViolationEventsInput) (*iot.ListViolationEventsOutput, error) ListViolationEventsWithContext(aws.Context, *iot.ListViolationEventsInput, ...request.Option) (*iot.ListViolationEventsOutput, error) ListViolationEventsRequest(*iot.ListViolationEventsInput) (*request.Request, *iot.ListViolationEventsOutput) + ListViolationEventsPages(*iot.ListViolationEventsInput, func(*iot.ListViolationEventsOutput, bool) bool) error + ListViolationEventsPagesWithContext(aws.Context, *iot.ListViolationEventsInput, func(*iot.ListViolationEventsOutput, bool) bool, ...request.Option) error + RegisterCACertificate(*iot.RegisterCACertificateInput) (*iot.RegisterCACertificateOutput, error) RegisterCACertificateWithContext(aws.Context, *iot.RegisterCACertificateInput, ...request.Option) (*iot.RegisterCACertificateOutput, error) RegisterCACertificateRequest(*iot.RegisterCACertificateInput) (*request.Request, *iot.RegisterCACertificateOutput) @@ -804,6 +961,10 @@ type IoTAPI interface { UpdateAccountAuditConfigurationWithContext(aws.Context, *iot.UpdateAccountAuditConfigurationInput, ...request.Option) (*iot.UpdateAccountAuditConfigurationOutput, error) UpdateAccountAuditConfigurationRequest(*iot.UpdateAccountAuditConfigurationInput) (*request.Request, *iot.UpdateAccountAuditConfigurationOutput) + UpdateAuditSuppression(*iot.UpdateAuditSuppressionInput) (*iot.UpdateAuditSuppressionOutput, error) + UpdateAuditSuppressionWithContext(aws.Context, *iot.UpdateAuditSuppressionInput, ...request.Option) (*iot.UpdateAuditSuppressionOutput, error) + UpdateAuditSuppressionRequest(*iot.UpdateAuditSuppressionInput) (*request.Request, *iot.UpdateAuditSuppressionOutput) + UpdateAuthorizer(*iot.UpdateAuthorizerInput) (*iot.UpdateAuthorizerOutput, error) UpdateAuthorizerWithContext(aws.Context, *iot.UpdateAuthorizerInput, ...request.Option) (*iot.UpdateAuthorizerOutput, error) UpdateAuthorizerRequest(*iot.UpdateAuthorizerInput) (*request.Request, *iot.UpdateAuthorizerOutput) diff --git a/service/lambda/api.go b/service/lambda/api.go index 51c2fd762a..5a3d500237 100644 --- a/service/lambda/api.go +++ b/service/lambda/api.go @@ -14320,6 +14320,9 @@ const ( // RuntimeJava8 is a Runtime enum value RuntimeJava8 = "java8" + // RuntimeJava8Al2 is a Runtime enum value + RuntimeJava8Al2 = "java8.al2" + // RuntimeJava11 is a Runtime enum value RuntimeJava11 = "java11" @@ -14361,6 +14364,9 @@ const ( // RuntimeProvided is a Runtime enum value RuntimeProvided = "provided" + + // RuntimeProvidedAl2 is a Runtime enum value + RuntimeProvidedAl2 = "provided.al2" ) // Runtime_Values returns all elements of the Runtime enum @@ -14373,6 +14379,7 @@ func Runtime_Values() []string { RuntimeNodejs10X, RuntimeNodejs12X, RuntimeJava8, + RuntimeJava8Al2, RuntimeJava11, RuntimePython27, RuntimePython36, @@ -14387,6 +14394,7 @@ func Runtime_Values() []string { RuntimeRuby25, RuntimeRuby27, RuntimeProvided, + RuntimeProvidedAl2, } } diff --git a/service/lambda/examples_test.go b/service/lambda/examples_test.go index 2a1f5c36a9..b4bc90dfcb 100644 --- a/service/lambda/examples_test.go +++ b/service/lambda/examples_test.go @@ -926,9 +926,9 @@ func ExampleLambda_GetPolicy_shared00() { fmt.Println(result) } -// To get a provisioned concurrency configuration +// To view a provisioned concurrency configuration // -// The following example returns details for the provisioned concurrency configuration +// The following example displays details for the provisioned concurrency configuration // for the BLUE alias of the specified function. func ExampleLambda_GetProvisionedConcurrencyConfig_shared00() { svc := lambda.New(session.New()) @@ -965,9 +965,9 @@ func ExampleLambda_GetProvisionedConcurrencyConfig_shared00() { fmt.Println(result) } -// To view a provisioned concurrency configuration +// To get a provisioned concurrency configuration // -// The following example displays details for the provisioned concurrency configuration +// The following example returns details for the provisioned concurrency configuration // for the BLUE alias of the specified function. func ExampleLambda_GetProvisionedConcurrencyConfig_shared01() { svc := lambda.New(session.New()) diff --git a/service/transfer/api.go b/service/transfer/api.go index e35917d010..1a8170f85f 100644 --- a/service/transfer/api.go +++ b/service/transfer/api.go @@ -502,6 +502,99 @@ func (c *Transfer) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput return out, req.Send() } +const opDescribeSecurityPolicy = "DescribeSecurityPolicy" + +// DescribeSecurityPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSecurityPolicy operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeSecurityPolicy for more information on using the DescribeSecurityPolicy +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeSecurityPolicyRequest method. +// req, resp := client.DescribeSecurityPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeSecurityPolicy +func (c *Transfer) DescribeSecurityPolicyRequest(input *DescribeSecurityPolicyInput) (req *request.Request, output *DescribeSecurityPolicyOutput) { + op := &request.Operation{ + Name: opDescribeSecurityPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeSecurityPolicyInput{} + } + + output = &DescribeSecurityPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSecurityPolicy API operation for AWS Transfer Family. +// +// Describes the security policy that is attached to your file transfer protocol-enabled +// server. The response contains a description of the security policy's properties. +// For more information about security policies, see Working with security policies +// (https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation DescribeSecurityPolicy for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the AWS Transfer Family service is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the AWS Transfer Family +// service. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// * ResourceNotFoundException +// This exception is thrown when a resource is not found by the AWS Transfer +// Family service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/DescribeSecurityPolicy +func (c *Transfer) DescribeSecurityPolicy(input *DescribeSecurityPolicyInput) (*DescribeSecurityPolicyOutput, error) { + req, out := c.DescribeSecurityPolicyRequest(input) + return out, req.Send() +} + +// DescribeSecurityPolicyWithContext is the same as DescribeSecurityPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSecurityPolicy for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Transfer) DescribeSecurityPolicyWithContext(ctx aws.Context, input *DescribeSecurityPolicyInput, opts ...request.Option) (*DescribeSecurityPolicyOutput, error) { + req, out := c.DescribeSecurityPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeServer = "DescribeServer" // DescribeServerRequest generates a "aws/request.Request" representing the @@ -793,6 +886,154 @@ func (c *Transfer) ImportSshPublicKeyWithContext(ctx aws.Context, input *ImportS return out, req.Send() } +const opListSecurityPolicies = "ListSecurityPolicies" + +// ListSecurityPoliciesRequest generates a "aws/request.Request" representing the +// client's request for the ListSecurityPolicies operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListSecurityPolicies for more information on using the ListSecurityPolicies +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListSecurityPoliciesRequest method. +// req, resp := client.ListSecurityPoliciesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListSecurityPolicies +func (c *Transfer) ListSecurityPoliciesRequest(input *ListSecurityPoliciesInput) (req *request.Request, output *ListSecurityPoliciesOutput) { + op := &request.Operation{ + Name: opListSecurityPolicies, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSecurityPoliciesInput{} + } + + output = &ListSecurityPoliciesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSecurityPolicies API operation for AWS Transfer Family. +// +// Lists the security policies that are attached to your file transfer protocol-enabled +// servers. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Transfer Family's +// API operation ListSecurityPolicies for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// The request has failed because the AWS Transfer Family service is not available. +// +// * InternalServiceError +// This exception is thrown when an error occurs in the AWS Transfer Family +// service. +// +// * InvalidNextTokenException +// The NextToken parameter that was passed is invalid. +// +// * InvalidRequestException +// This exception is thrown when the client submits a malformed request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/transfer-2018-11-05/ListSecurityPolicies +func (c *Transfer) ListSecurityPolicies(input *ListSecurityPoliciesInput) (*ListSecurityPoliciesOutput, error) { + req, out := c.ListSecurityPoliciesRequest(input) + return out, req.Send() +} + +// ListSecurityPoliciesWithContext is the same as ListSecurityPolicies with the addition of +// the ability to pass a context and additional request options. +// +// See ListSecurityPolicies for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Transfer) ListSecurityPoliciesWithContext(ctx aws.Context, input *ListSecurityPoliciesInput, opts ...request.Option) (*ListSecurityPoliciesOutput, error) { + req, out := c.ListSecurityPoliciesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSecurityPoliciesPages iterates over the pages of a ListSecurityPolicies operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSecurityPolicies 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 ListSecurityPolicies operation. +// pageNum := 0 +// err := client.ListSecurityPoliciesPages(params, +// func(page *transfer.ListSecurityPoliciesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Transfer) ListSecurityPoliciesPages(input *ListSecurityPoliciesInput, fn func(*ListSecurityPoliciesOutput, bool) bool) error { + return c.ListSecurityPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSecurityPoliciesPagesWithContext same as ListSecurityPoliciesPages 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 *Transfer) ListSecurityPoliciesPagesWithContext(ctx aws.Context, input *ListSecurityPoliciesInput, fn func(*ListSecurityPoliciesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSecurityPoliciesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSecurityPoliciesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSecurityPoliciesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListServers = "ListServers" // ListServersRequest generates a "aws/request.Request" representing the @@ -2151,8 +2392,8 @@ type CreateServerInput struct { // * FTP (File Transfer Protocol): Unencrypted file transfer // // If you select FTPS, you must choose a certificate stored in AWS Certificate - // Manager (ACM) which will be used to identify your server when clients connect - // to it over FTPS. + // Manager (ACM) which will be used to identify your file transfer protocol-enabled + // server when clients connect to it over FTPS. // // If Protocol includes either FTP or FTPS, then the EndpointType must be VPC // and the IdentityProviderType must be API_GATEWAY. @@ -2163,6 +2404,9 @@ type CreateServerInput struct { // the IdentityProviderType can be set to SERVICE_MANAGED. Protocols []*string `min:"1" type:"list"` + // Specifies the name of the security policy that is attached to the server. + SecurityPolicyName *string `type:"string"` + // Key-value pairs that can be used to group and search for file transfer protocol-enabled // servers. Tags []*Tag `min:"1" type:"list"` @@ -2265,6 +2509,12 @@ func (s *CreateServerInput) SetProtocols(v []*string) *CreateServerInput { return s } +// SetSecurityPolicyName sets the SecurityPolicyName field's value. +func (s *CreateServerInput) SetSecurityPolicyName(v string) *CreateServerInput { + s.SecurityPolicyName = &v + return s +} + // SetTags sets the Tags field's value. func (s *CreateServerInput) SetTags(v []*Tag) *CreateServerInput { s.Tags = v @@ -2321,7 +2571,7 @@ type CreateUserInput struct { // you can set Entry to '/' and set Target to the HomeDirectory parameter value. // // If the target of a logical directory entry does not exist in Amazon S3, the - // entry will be ignored. As a workaround, you can use the Amazon S3 api to + // entry will be ignored. As a workaround, you can use the Amazon S3 API to // create 0 byte objects as place holders for your directory. If using the CLI, // use the s3api call instead of s3 so you can use the put-object operation. // For example, you use the following: aws s3api put-object --bucket bucketname @@ -2378,9 +2628,10 @@ type CreateUserInput struct { // A unique string that identifies a user and is associated with a file transfer // protocol-enabled server as specified by the ServerId. This user name must - // be a minimum of 3 and a maximum of 32 characters long. The following are - // valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name can't - // start with a hyphen. + // be a minimum of 3 and a maximum of 100 characters long. The following are + // valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', + // and at sign '@'. The user name can't start with a hyphen, period, and at + // sign. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` @@ -2762,6 +3013,69 @@ func (s DeleteUserOutput) GoString() string { return s.String() } +type DescribeSecurityPolicyInput struct { + _ struct{} `type:"structure"` + + // Specifies the name of the security policy that is attached to the server. + // + // SecurityPolicyName is a required field + SecurityPolicyName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeSecurityPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSecurityPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSecurityPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSecurityPolicyInput"} + if s.SecurityPolicyName == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityPolicyName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSecurityPolicyName sets the SecurityPolicyName field's value. +func (s *DescribeSecurityPolicyInput) SetSecurityPolicyName(v string) *DescribeSecurityPolicyInput { + s.SecurityPolicyName = &v + return s +} + +type DescribeSecurityPolicyOutput struct { + _ struct{} `type:"structure"` + + // An array containing the properties of the security policy. + // + // SecurityPolicy is a required field + SecurityPolicy *DescribedSecurityPolicy `type:"structure" required:"true"` +} + +// String returns the string representation +func (s DescribeSecurityPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSecurityPolicyOutput) GoString() string { + return s.String() +} + +// SetSecurityPolicy sets the SecurityPolicy field's value. +func (s *DescribeSecurityPolicyOutput) SetSecurityPolicy(v *DescribedSecurityPolicy) *DescribeSecurityPolicyOutput { + s.SecurityPolicy = v + return s +} + type DescribeServerInput struct { _ struct{} `type:"structure"` @@ -2929,17 +3243,90 @@ func (s *DescribeUserOutput) SetUser(v *DescribedUser) *DescribeUserOutput { return s } +// Describes the properties of a security policy that was specified. For more +// information about security policies, see Working with security policies (https://docs.aws.amazon.com/transfer/latest/userguide/security-policies.html). +type DescribedSecurityPolicy struct { + _ struct{} `type:"structure"` + + // Specifies whether this policy enables Federal Information Processing Standards + // (FIPS). + Fips *bool `type:"boolean"` + + // Specifies the name of the security policy that is attached to the server. + // + // SecurityPolicyName is a required field + SecurityPolicyName *string `type:"string" required:"true"` + + // Specifies the enabled Secure Shell (SSH) cipher encryption algorithms in + // the security policy that is attached to the server. + SshCiphers []*string `type:"list"` + + // Specifies the enabled SSH key exchange (KEX) encryption algorithms in the + // security policy that is attached to the server. + SshKexs []*string `type:"list"` + + // Specifies the enabled SSH message authentication code (MAC) encryption algorithms + // in the security policy that is attached to the server. + SshMacs []*string `type:"list"` + + // Specifies the enabled Transport Layer Security (TLS) cipher encryption algorithms + // in the security policy that is attached to the server. + TlsCiphers []*string `type:"list"` +} + +// String returns the string representation +func (s DescribedSecurityPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribedSecurityPolicy) GoString() string { + return s.String() +} + +// SetFips sets the Fips field's value. +func (s *DescribedSecurityPolicy) SetFips(v bool) *DescribedSecurityPolicy { + s.Fips = &v + return s +} + +// SetSecurityPolicyName sets the SecurityPolicyName field's value. +func (s *DescribedSecurityPolicy) SetSecurityPolicyName(v string) *DescribedSecurityPolicy { + s.SecurityPolicyName = &v + return s +} + +// SetSshCiphers sets the SshCiphers field's value. +func (s *DescribedSecurityPolicy) SetSshCiphers(v []*string) *DescribedSecurityPolicy { + s.SshCiphers = v + return s +} + +// SetSshKexs sets the SshKexs field's value. +func (s *DescribedSecurityPolicy) SetSshKexs(v []*string) *DescribedSecurityPolicy { + s.SshKexs = v + return s +} + +// SetSshMacs sets the SshMacs field's value. +func (s *DescribedSecurityPolicy) SetSshMacs(v []*string) *DescribedSecurityPolicy { + s.SshMacs = v + return s +} + +// SetTlsCiphers sets the TlsCiphers field's value. +func (s *DescribedSecurityPolicy) SetTlsCiphers(v []*string) *DescribedSecurityPolicy { + s.TlsCiphers = v + return s +} + // Describes the properties of a file transfer protocol-enabled server that -// was specified. Information returned includes the following: the server Amazon -// Resource Name (ARN), the certificate ARN (if the FTPS protocol was selected), -// the endpoint type and details, the authentication configuration and type, -// the logging role, the file transfer protocol or protocols, the server ID -// and state, and assigned tags or metadata. +// was specified. type DescribedServer struct { _ struct{} `type:"structure"` - // Specifies the unique Amazon Resource Name (ARN) for a file transfer protocol-enabled - // server to be described. + // Specifies the unique Amazon Resource Name (ARN) of the file transfer protocol-enabled + // server. // // Arn is a required field Arn *string `min:"20" type:"string" required:"true"` @@ -2992,6 +3379,9 @@ type DescribedServer struct { // * FTP (File Transfer Protocol): Unencrypted file transfer Protocols []*string `min:"1" type:"list"` + // Specifies the name of the security policy that is attached to the server. + SecurityPolicyName *string `type:"string"` + // Specifies the unique system-assigned identifier for a file transfer protocol-enabled // server that you instantiate. ServerId *string `min:"19" type:"string"` @@ -3080,6 +3470,12 @@ func (s *DescribedServer) SetProtocols(v []*string) *DescribedServer { return s } +// SetSecurityPolicyName sets the SecurityPolicyName field's value. +func (s *DescribedServer) SetSecurityPolicyName(v string) *DescribedServer { + s.SecurityPolicyName = &v + return s +} + // SetServerId sets the ServerId field's value. func (s *DescribedServer) SetServerId(v string) *DescribedServer { s.ServerId = &v @@ -3104,7 +3500,7 @@ func (s *DescribedServer) SetUserCount(v int64) *DescribedServer { return s } -// Returns properties of the user that you want to describe. +// Describes the properties of a user that was specified. type DescribedUser struct { _ struct{} `type:"structure"` @@ -3309,7 +3705,7 @@ func (s *EndpointDetails) SetVpcId(v string) *EndpointDetails { return s } -// Represents an object that contains entries and a targets for HomeDirectoryMappings. +// Represents an object that contains entries and targets for HomeDirectoryMappings. type HomeDirectoryMapEntry struct { _ struct{} `type:"structure"` @@ -3704,6 +4100,94 @@ func (s *InvalidRequestException) RequestID() string { return s.RespMetadata.RequestID } +type ListSecurityPoliciesInput struct { + _ struct{} `type:"structure"` + + // Specifies the number of security policies to return as a response to the + // ListSecurityPolicies query. + MaxResults *int64 `min:"1" type:"integer"` + + // When additional results are obtained from the ListSecurityPolicies command, + // a NextToken parameter is returned in the output. You can then pass the NextToken + // parameter in a subsequent command to continue listing additional security + // policies. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListSecurityPoliciesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSecurityPoliciesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSecurityPoliciesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSecurityPoliciesInput"} + 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 *ListSecurityPoliciesInput) SetMaxResults(v int64) *ListSecurityPoliciesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSecurityPoliciesInput) SetNextToken(v string) *ListSecurityPoliciesInput { + s.NextToken = &v + return s +} + +type ListSecurityPoliciesOutput struct { + _ struct{} `type:"structure"` + + // When you can get additional results from the ListSecurityPolicies operation, + // a NextToken parameter is returned in the output. In a following command, + // you can pass in the NextToken parameter to continue listing security policies. + NextToken *string `min:"1" type:"string"` + + // An array of security policies that were listed. + // + // SecurityPolicyNames is a required field + SecurityPolicyNames []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s ListSecurityPoliciesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSecurityPoliciesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSecurityPoliciesOutput) SetNextToken(v string) *ListSecurityPoliciesOutput { + s.NextToken = &v + return s +} + +// SetSecurityPolicyNames sets the SecurityPolicyNames field's value. +func (s *ListSecurityPoliciesOutput) SetSecurityPolicyNames(v []*string) *ListSecurityPoliciesOutput { + s.SecurityPolicyNames = v + return s +} + type ListServersInput struct { _ struct{} `type:"structure"` @@ -3711,7 +4195,7 @@ type ListServersInput struct { // as a response to the ListServers query. MaxResults *int64 `min:"1" type:"integer"` - // When additional results are obtained from theListServers command, a NextToken + // When additional results are obtained from the ListServers command, a NextToken // parameter is returned in the output. You can then pass the NextToken parameter // in a subsequent command to continue listing additional file transfer protocol-enabled // servers. @@ -5073,6 +5557,9 @@ type UpdateServerInput struct { // the IdentityProviderType can be set to SERVICE_MANAGED. Protocols []*string `min:"1" type:"list"` + // Specifies the name of the security policy that is attached to the server. + SecurityPolicyName *string `type:"string"` + // A system-assigned unique identifier for a file transfer protocol-enabled // server instance that the user account is assigned to. // @@ -5161,6 +5648,12 @@ func (s *UpdateServerInput) SetProtocols(v []*string) *UpdateServerInput { return s } +// SetSecurityPolicyName sets the SecurityPolicyName field's value. +func (s *UpdateServerInput) SetSecurityPolicyName(v string) *UpdateServerInput { + s.SecurityPolicyName = &v + return s +} + // SetServerId sets the ServerId field's value. func (s *UpdateServerInput) SetServerId(v string) *UpdateServerInput { s.ServerId = &v @@ -5218,7 +5711,7 @@ type UpdateUserInput struct { // you can set Entry to '/' and set Target to the HomeDirectory parameter value. // // If the target of a logical directory entry does not exist in Amazon S3, the - // entry will be ignored. As a workaround, you can use the Amazon S3 api to + // entry will be ignored. As a workaround, you can use the Amazon S3 API to // create 0 byte objects as place holders for your directory. If using the CLI, // use the s3api call instead of s3 so you can use the put-object operation. // For example, you use the following: aws s3api put-object --bucket bucketname @@ -5264,11 +5757,11 @@ type UpdateUserInput struct { ServerId *string `min:"19" type:"string" required:"true"` // A unique string that identifies a user and is associated with a file transfer - // protocol-enabled server as specified by the ServerId. This is the string - // that will be used by your user when they log in to your server. This user - // name is a minimum of 3 and a maximum of 32 characters long. The following - // are valid characters: a-z, A-Z, 0-9, underscore, and hyphen. The user name - // can't start with a hyphen. + // protocol-enabled server as specified by the ServerId. This user name must + // be a minimum of 3 and a maximum of 100 characters long. The following are + // valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', + // and at sign '@'. The user name can't start with a hyphen, period, and at + // sign. // // UserName is a required field UserName *string `min:"3" type:"string" required:"true"` diff --git a/service/transfer/doc.go b/service/transfer/doc.go index 407175dd22..fcbf894a25 100644 --- a/service/transfer/doc.go +++ b/service/transfer/doc.go @@ -4,8 +4,8 @@ // requests to AWS Transfer Family. // // AWS Transfer Family is a fully managed service that enables the transfer -// of files over the the File Transfer Protocol (FTP), File Transfer Protocol -// over SSL (FTPS), or Secure Shell (SSH) File Transfer Protocol (SFTP) directly +// of files over the File Transfer Protocol (FTP), File Transfer Protocol over +// SSL (FTPS), or Secure Shell (SSH) File Transfer Protocol (SFTP) directly // into and out of Amazon Simple Storage Service (Amazon S3). AWS helps you // seamlessly migrate your file transfer workflows to AWS Transfer Family by // integrating with existing authentication systems, and providing DNS routing diff --git a/service/transfer/transferiface/interface.go b/service/transfer/transferiface/interface.go index 7bde4b324c..fdbd7c5324 100644 --- a/service/transfer/transferiface/interface.go +++ b/service/transfer/transferiface/interface.go @@ -80,6 +80,10 @@ type TransferAPI interface { DeleteUserWithContext(aws.Context, *transfer.DeleteUserInput, ...request.Option) (*transfer.DeleteUserOutput, error) DeleteUserRequest(*transfer.DeleteUserInput) (*request.Request, *transfer.DeleteUserOutput) + DescribeSecurityPolicy(*transfer.DescribeSecurityPolicyInput) (*transfer.DescribeSecurityPolicyOutput, error) + DescribeSecurityPolicyWithContext(aws.Context, *transfer.DescribeSecurityPolicyInput, ...request.Option) (*transfer.DescribeSecurityPolicyOutput, error) + DescribeSecurityPolicyRequest(*transfer.DescribeSecurityPolicyInput) (*request.Request, *transfer.DescribeSecurityPolicyOutput) + DescribeServer(*transfer.DescribeServerInput) (*transfer.DescribeServerOutput, error) DescribeServerWithContext(aws.Context, *transfer.DescribeServerInput, ...request.Option) (*transfer.DescribeServerOutput, error) DescribeServerRequest(*transfer.DescribeServerInput) (*request.Request, *transfer.DescribeServerOutput) @@ -92,6 +96,13 @@ type TransferAPI interface { ImportSshPublicKeyWithContext(aws.Context, *transfer.ImportSshPublicKeyInput, ...request.Option) (*transfer.ImportSshPublicKeyOutput, error) ImportSshPublicKeyRequest(*transfer.ImportSshPublicKeyInput) (*request.Request, *transfer.ImportSshPublicKeyOutput) + ListSecurityPolicies(*transfer.ListSecurityPoliciesInput) (*transfer.ListSecurityPoliciesOutput, error) + ListSecurityPoliciesWithContext(aws.Context, *transfer.ListSecurityPoliciesInput, ...request.Option) (*transfer.ListSecurityPoliciesOutput, error) + ListSecurityPoliciesRequest(*transfer.ListSecurityPoliciesInput) (*request.Request, *transfer.ListSecurityPoliciesOutput) + + ListSecurityPoliciesPages(*transfer.ListSecurityPoliciesInput, func(*transfer.ListSecurityPoliciesOutput, bool) bool) error + ListSecurityPoliciesPagesWithContext(aws.Context, *transfer.ListSecurityPoliciesInput, func(*transfer.ListSecurityPoliciesOutput, bool) bool, ...request.Option) error + ListServers(*transfer.ListServersInput) (*transfer.ListServersOutput, error) ListServersWithContext(aws.Context, *transfer.ListServersInput, ...request.Option) (*transfer.ListServersOutput, error) ListServersRequest(*transfer.ListServersInput) (*request.Request, *transfer.ListServersOutput) diff --git a/service/workspaces/api.go b/service/workspaces/api.go index 0fa58d7972..b8ccae6fef 100644 --- a/service/workspaces/api.go +++ b/service/workspaces/api.go @@ -2879,6 +2879,9 @@ func (c *WorkSpaces) ModifyWorkspaceCreationPropertiesRequest(input *ModifyWorks // * ResourceNotFoundException // The resource could not be found. // +// * OperationNotSupportedException +// This operation is not supported. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-2015-04-08/ModifyWorkspaceCreationProperties func (c *WorkSpaces) ModifyWorkspaceCreationProperties(input *ModifyWorkspaceCreationPropertiesInput) (*ModifyWorkspaceCreationPropertiesOutput, error) { req, out := c.ModifyWorkspaceCreationPropertiesRequest(input) @@ -8966,7 +8969,8 @@ type Workspace struct { // The identifier of the bundle used to create the WorkSpace. BundleId *string `type:"string"` - // The name of the WorkSpace, as seen by the operating system. + // The name of the WorkSpace, as seen by the operating system. The format of + // this name varies. For more information, see Launch a WorkSpace (https://docs.aws.amazon.com/workspaces/latest/adminguide/launch-workspaces-tutorials.html). ComputerName *string `type:"string"` // The identifier of the AWS Directory Service directory for the WorkSpace. @@ -9363,6 +9367,22 @@ type WorkspaceCreationProperties struct { // information, see WorkSpace Maintenance (https://docs.aws.amazon.com/workspaces/latest/adminguide/workspace-maintenance.html). EnableMaintenanceMode *bool `type:"boolean"` + // Indicates whether Amazon WorkDocs is enabled for your WorkSpaces. + // + // If WorkDocs is already enabled for a WorkSpaces directory and you disable + // it, new WorkSpaces launched in the directory will not have WorkDocs enabled. + // However, WorkDocs remains enabled for any existing WorkSpaces, unless you + // either disable users' access to WorkDocs or you delete the WorkDocs site. + // To disable users' access to WorkDocs, see Disabling Users (https://docs.aws.amazon.com/workdocs/latest/adminguide/inactive-user.html) + // in the Amazon WorkDocs Administration Guide. To delete a WorkDocs site, see + // Deleting a Site (https://docs.aws.amazon.com/workdocs/latest/adminguide/manage-sites.html) + // in the Amazon WorkDocs Administration Guide. + // + // If you enable WorkDocs on a directory that already has existing WorkSpaces, + // the existing WorkSpaces and any new WorkSpaces that are launched in the directory + // will have WorkDocs enabled. + EnableWorkDocs *bool `type:"boolean"` + // Indicates whether users are local administrators of their WorkSpaces. UserEnabledAsLocalAdministrator *bool `type:"boolean"` } @@ -9414,6 +9434,12 @@ func (s *WorkspaceCreationProperties) SetEnableMaintenanceMode(v bool) *Workspac return s } +// SetEnableWorkDocs sets the EnableWorkDocs field's value. +func (s *WorkspaceCreationProperties) SetEnableWorkDocs(v bool) *WorkspaceCreationProperties { + s.EnableWorkDocs = &v + return s +} + // SetUserEnabledAsLocalAdministrator sets the UserEnabledAsLocalAdministrator field's value. func (s *WorkspaceCreationProperties) SetUserEnabledAsLocalAdministrator(v bool) *WorkspaceCreationProperties { s.UserEnabledAsLocalAdministrator = &v