From adb81eea63d18498fd2d5f058d63d955b03b8b3e Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Tue, 1 Jun 2021 11:10:15 -0700 Subject: [PATCH] Release v1.38.52 (2021-06-01) (#3937) Release v1.38.52 (2021-06-01) === ### Service Client Updates * `service/ec2`: Updates service API and documentation * Added idempotency to CreateNetworkInterface using the ClientToken parameter. * `service/iotwireless`: Updates service API and documentation * `service/polly`: Updates service API * Amazon Polly adds new Canadian French voice - Gabrielle. Gabrielle is available as Neural voice only. * `service/servicediscovery`: Updates service API and documentation * `service/sns`: Updates service API, documentation, and paginators * This release adds SMS sandbox in Amazon SNS and the ability to view all configured origination numbers. The SMS sandbox provides a safe environment for sending SMS messages, without risking your reputation as an SMS sender. --- CHANGELOG.md | 13 + aws/version.go | 2 +- models/apis/ec2/2016-11-15/api-2.json | 8 + models/apis/ec2/2016-11-15/docs-2.json | 2 + models/apis/iotwireless/2020-11-22/api-2.json | 309 ++++ .../apis/iotwireless/2020-11-22/docs-2.json | 159 ++ models/apis/polly/2016-06-10/api-2.json | 1 + .../servicediscovery/2017-03-14/api-2.json | 3 +- .../servicediscovery/2017-03-14/docs-2.json | 78 +- models/apis/sns/2010-03-31/api-2.json | 344 ++++ models/apis/sns/2010-03-31/docs-2.json | 205 ++- models/apis/sns/2010-03-31/paginators-1.json | 12 + service/ec2/api.go | 20 + service/iotwireless/api.go | 1563 +++++++++++++++-- .../iotwireless/iotwirelessiface/interface.go | 24 + service/polly/api.go | 4 + service/servicediscovery/api.go | 229 +-- service/sns/api.go | 1469 +++++++++++++++- service/sns/errors.go | 29 +- service/sns/snsiface/interface.go | 30 + 20 files changed, 4162 insertions(+), 342 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a99ce27059f..6b0e8262dd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +Release v1.38.52 (2021-06-01) +=== + +### Service Client Updates +* `service/ec2`: Updates service API and documentation + * Added idempotency to CreateNetworkInterface using the ClientToken parameter. +* `service/iotwireless`: Updates service API and documentation +* `service/polly`: Updates service API + * Amazon Polly adds new Canadian French voice - Gabrielle. Gabrielle is available as Neural voice only. +* `service/servicediscovery`: Updates service API and documentation +* `service/sns`: Updates service API, documentation, and paginators + * This release adds SMS sandbox in Amazon SNS and the ability to view all configured origination numbers. The SMS sandbox provides a safe environment for sending SMS messages, without risking your reputation as an SMS sender. + Release v1.38.51 (2021-05-28) === diff --git a/aws/version.go b/aws/version.go index 2a55dfd78c6..fb58b46640a 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.38.51" +const SDKVersion = "1.38.52" diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 40074613174..626f5548412 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -8250,6 +8250,10 @@ "TagSpecifications":{ "shape":"TagSpecificationList", "locationName":"TagSpecification" + }, + "ClientToken":{ + "shape":"String", + "idempotencyToken":true } } }, @@ -8259,6 +8263,10 @@ "NetworkInterface":{ "shape":"NetworkInterface", "locationName":"networkInterface" + }, + "ClientToken":{ + "shape":"String", + "locationName":"clientToken" } } }, diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 195a98bc6a6..655c9ed024a 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -13764,6 +13764,8 @@ "CreateNetworkInterfacePermissionRequest$AwsService": "
The AWS service. Currently not supported.
", "CreateNetworkInterfaceRequest$Description": "A description for the network interface.
", "CreateNetworkInterfaceRequest$PrivateIpAddress": "The primary private IPv4 address of the network interface. If you don't specify an IPv4 address, Amazon EC2 selects one for you from the subnet's IPv4 CIDR range. If you specify an IP address, you cannot indicate any IP addresses specified in privateIpAddresses
as primary (only one IP address can be designated as primary).
Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensuring Idempotency.
", + "CreateNetworkInterfaceResult$ClientToken": "The token to use to retrieve the next page of results. This value is null
when there are no more results to return.
A name for the placement group. Must be unique within the scope of your account for the Region.
Constraints: Up to 255 ASCII characters
", "CreateReplaceRootVolumeTaskRequest$ClientToken": "Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you do not specify a client token, a randomly generated token is used for the request to ensure idempotency. For more information, see Ensuring Idempotency.
", "CreateReservedInstancesListingRequest$ClientToken": "Unique, case-sensitive identifier you provide to ensure idempotency of your listings. This helps avoid duplicate listings. For more information, see Ensuring Idempotency.
", diff --git a/models/apis/iotwireless/2020-11-22/api-2.json b/models/apis/iotwireless/2020-11-22/api-2.json index 05fed00bf28..1c76d692fa8 100644 --- a/models/apis/iotwireless/2020-11-22/api-2.json +++ b/models/apis/iotwireless/2020-11-22/api-2.json @@ -427,6 +427,23 @@ {"shape":"ThrottlingException"} ] }, + "GetLogLevelsByResourceTypes":{ + "name":"GetLogLevelsByResourceTypes", + "http":{ + "method":"GET", + "requestUri":"/log-levels", + "responseCode":200 + }, + "input":{"shape":"GetLogLevelsByResourceTypesRequest"}, + "output":{"shape":"GetLogLevelsByResourceTypesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, "GetPartnerAccount":{ "name":"GetPartnerAccount", "http":{ @@ -442,6 +459,23 @@ {"shape":"ThrottlingException"} ] }, + "GetResourceLogLevel":{ + "name":"GetResourceLogLevel", + "http":{ + "method":"GET", + "requestUri":"/log-levels/{ResourceIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetResourceLogLevelRequest"}, + "output":{"shape":"GetResourceLogLevelResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, "GetServiceEndpoint":{ "name":"GetServiceEndpoint", "http":{ @@ -724,6 +758,57 @@ {"shape":"AccessDeniedException"} ] }, + "PutResourceLogLevel":{ + "name":"PutResourceLogLevel", + "http":{ + "method":"PUT", + "requestUri":"/log-levels/{ResourceIdentifier}", + "responseCode":200 + }, + "input":{"shape":"PutResourceLogLevelRequest"}, + "output":{"shape":"PutResourceLogLevelResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ResetAllResourceLogLevels":{ + "name":"ResetAllResourceLogLevels", + "http":{ + "method":"DELETE", + "requestUri":"/log-levels", + "responseCode":204 + }, + "input":{"shape":"ResetAllResourceLogLevelsRequest"}, + "output":{"shape":"ResetAllResourceLogLevelsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ResetResourceLogLevel":{ + "name":"ResetResourceLogLevel", + "http":{ + "method":"DELETE", + "requestUri":"/log-levels/{ResourceIdentifier}", + "responseCode":204 + }, + "input":{"shape":"ResetResourceLogLevelRequest"}, + "output":{"shape":"ResetResourceLogLevelResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, "SendDataToWirelessDevice":{ "name":"SendDataToWirelessDevice", "http":{ @@ -808,6 +893,24 @@ {"shape":"ThrottlingException"} ] }, + "UpdateLogLevelsByResourceTypes":{ + "name":"UpdateLogLevelsByResourceTypes", + "http":{ + "method":"POST", + "requestUri":"/log-levels", + "responseCode":200 + }, + "input":{"shape":"UpdateLogLevelsByResourceTypesRequest"}, + "output":{"shape":"UpdateLogLevelsByResourceTypesResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, "UpdatePartnerAccount":{ "name":"UpdatePartnerAccount", "http":{ @@ -1596,6 +1699,19 @@ "LoRaWAN":{"shape":"LoRaWANDeviceProfile"} } }, + "GetLogLevelsByResourceTypesRequest":{ + "type":"structure", + "members":{ + } + }, + "GetLogLevelsByResourceTypesResponse":{ + "type":"structure", + "members":{ + "DefaultLogLevel":{"shape":"LogLevel"}, + "WirelessGatewayLogOptions":{"shape":"WirelessGatewayLogOptionList"}, + "WirelessDeviceLogOptions":{"shape":"WirelessDeviceLogOptionList"} + } + }, "GetPartnerAccountRequest":{ "type":"structure", "required":[ @@ -1622,6 +1738,31 @@ "AccountLinked":{"shape":"AccountLinked"} } }, + "GetResourceLogLevelRequest":{ + "type":"structure", + "required":[ + "ResourceIdentifier", + "ResourceType" + ], + "members":{ + "ResourceIdentifier":{ + "shape":"ResourceIdentifier", + "location":"uri", + "locationName":"ResourceIdentifier" + }, + "ResourceType":{ + "shape":"ResourceType", + "location":"querystring", + "locationName":"resourceType" + } + } + }, + "GetResourceLogLevelResponse":{ + "type":"structure", + "members":{ + "LogLevel":{"shape":"LogLevel"} + } + }, "GetServiceEndpointRequest":{ "type":"structure", "members":{ @@ -2223,6 +2364,14 @@ "UpdateVersion":{"shape":"LoRaWANGatewayVersion"} } }, + "LogLevel":{ + "type":"string", + "enum":[ + "INFO", + "ERROR", + "DISABLED" + ] + }, "MacVersion":{ "type":"string", "max":64 @@ -2348,6 +2497,32 @@ "max":16700000, "min":1000000 }, + "PutResourceLogLevelRequest":{ + "type":"structure", + "required":[ + "ResourceIdentifier", + "ResourceType", + "LogLevel" + ], + "members":{ + "ResourceIdentifier":{ + "shape":"ResourceIdentifier", + "location":"uri", + "locationName":"ResourceIdentifier" + }, + "ResourceType":{ + "shape":"ResourceType", + "location":"querystring", + "locationName":"resourceType" + }, + "LogLevel":{"shape":"LogLevel"} + } + }, + "PutResourceLogLevelResponse":{ + "type":"structure", + "members":{ + } + }, "RaAllowed":{"type":"boolean"}, "RegParamsRevision":{ "type":"string", @@ -2355,7 +2530,45 @@ }, "ReportDevStatusBattery":{"type":"boolean"}, "ReportDevStatusMargin":{"type":"boolean"}, + "ResetAllResourceLogLevelsRequest":{ + "type":"structure", + "members":{ + } + }, + "ResetAllResourceLogLevelsResponse":{ + "type":"structure", + "members":{ + } + }, + "ResetResourceLogLevelRequest":{ + "type":"structure", + "required":[ + "ResourceIdentifier", + "ResourceType" + ], + "members":{ + "ResourceIdentifier":{ + "shape":"ResourceIdentifier", + "location":"uri", + "locationName":"ResourceIdentifier" + }, + "ResourceType":{ + "shape":"ResourceType", + "location":"querystring", + "locationName":"resourceType" + } + } + }, + "ResetResourceLogLevelResponse":{ + "type":"structure", + "members":{ + } + }, "ResourceId":{"type":"string"}, + "ResourceIdentifier":{ + "type":"string", + "max":256 + }, "ResourceNotFoundException":{ "type":"structure", "members":{ @@ -2725,6 +2938,19 @@ "members":{ } }, + "UpdateLogLevelsByResourceTypesRequest":{ + "type":"structure", + "members":{ + "DefaultLogLevel":{"shape":"LogLevel"}, + "WirelessDeviceLogOptions":{"shape":"WirelessDeviceLogOptionList"}, + "WirelessGatewayLogOptions":{"shape":"WirelessGatewayLogOptionList"} + } + }, + "UpdateLogLevelsByResourceTypesResponse":{ + "type":"structure", + "members":{ + } + }, "UpdatePartnerAccountRequest":{ "type":"structure", "required":[ @@ -2821,6 +3047,31 @@ "exception":true }, "WirelessDeviceArn":{"type":"string"}, + "WirelessDeviceEvent":{ + "type":"string", + "enum":[ + "Join", + "Rejoin", + "Uplink_Data", + "Downlink_Data", + "Registration" + ] + }, + "WirelessDeviceEventLogOption":{ + "type":"structure", + "required":[ + "Event", + "LogLevel" + ], + "members":{ + "Event":{"shape":"WirelessDeviceEvent"}, + "LogLevel":{"shape":"LogLevel"} + } + }, + "WirelessDeviceEventLogOptionList":{ + "type":"list", + "member":{"shape":"WirelessDeviceEventLogOption"} + }, "WirelessDeviceId":{ "type":"string", "max":256 @@ -2833,6 +3084,22 @@ "ThingName" ] }, + "WirelessDeviceLogOption":{ + "type":"structure", + "required":[ + "Type", + "LogLevel" + ], + "members":{ + "Type":{"shape":"WirelessDeviceType"}, + "LogLevel":{"shape":"LogLevel"}, + "Events":{"shape":"WirelessDeviceEventLogOptionList"} + } + }, + "WirelessDeviceLogOptionList":{ + "type":"list", + "member":{"shape":"WirelessDeviceLogOption"} + }, "WirelessDeviceName":{ "type":"string", "max":256 @@ -2862,6 +3129,28 @@ ] }, "WirelessGatewayArn":{"type":"string"}, + "WirelessGatewayEvent":{ + "type":"string", + "enum":[ + "CUPS_Request", + "Certificate" + ] + }, + "WirelessGatewayEventLogOption":{ + "type":"structure", + "required":[ + "Event", + "LogLevel" + ], + "members":{ + "Event":{"shape":"WirelessGatewayEvent"}, + "LogLevel":{"shape":"LogLevel"} + } + }, + "WirelessGatewayEventLogOptionList":{ + "type":"list", + "member":{"shape":"WirelessGatewayEventLogOption"} + }, "WirelessGatewayId":{ "type":"string", "max":256 @@ -2874,6 +3163,22 @@ "ThingName" ] }, + "WirelessGatewayLogOption":{ + "type":"structure", + "required":[ + "Type", + "LogLevel" + ], + "members":{ + "Type":{"shape":"WirelessGatewayType"}, + "LogLevel":{"shape":"LogLevel"}, + "Events":{"shape":"WirelessGatewayEventLogOptionList"} + } + }, + "WirelessGatewayLogOptionList":{ + "type":"list", + "member":{"shape":"WirelessGatewayLogOption"} + }, "WirelessGatewayName":{ "type":"string", "max":256 @@ -2930,6 +3235,10 @@ "FAILED" ] }, + "WirelessGatewayType":{ + "type":"string", + "enum":["LoRaWAN"] + }, "WirelessMetadata":{ "type":"structure", "members":{ diff --git a/models/apis/iotwireless/2020-11-22/docs-2.json b/models/apis/iotwireless/2020-11-22/docs-2.json index 3512b8be3db..8485b56438f 100644 --- a/models/apis/iotwireless/2020-11-22/docs-2.json +++ b/models/apis/iotwireless/2020-11-22/docs-2.json @@ -26,7 +26,9 @@ "DisassociateWirelessGatewayFromThing": "Disassociates a wireless gateway from its currently associated thing.
", "GetDestination": "Gets information about a destination.
", "GetDeviceProfile": "Gets information about a device profile.
", + "GetLogLevelsByResourceTypes": "Returns current default log-levels, or log levels by resource types, could be for wireless device log options or wireless gateway log options.
", "GetPartnerAccount": "Gets information about a partner account. If PartnerAccountId
and PartnerType
are null
, returns all partner accounts.
Fetches the log-level override if any for a given resource-ID and resource-type, coulde be a wireless device or a wireless gateway.
", "GetServiceEndpoint": "Gets the account-specific endpoint for Configuration and Update Server (CUPS) protocol or LoRaWAN Network Server (LNS) connections.
", "GetServiceProfile": "Gets information about a service profile.
", "GetWirelessDevice": "Gets information about a wireless device.
", @@ -45,11 +47,15 @@ "ListWirelessDevices": "Lists the wireless devices registered to your AWS account.
", "ListWirelessGatewayTaskDefinitions": "List the wireless gateway tasks definitions registered to your AWS account.
", "ListWirelessGateways": "Lists the wireless gateways registered to your AWS account.
", + "PutResourceLogLevel": "Sets the log-level override for a resource-ID and resource-type, could be a wireless gateway or a wireless device.
", + "ResetAllResourceLogLevels": "Remove log-level overrides if any for all resources (both wireless devices and wireless gateways).
", + "ResetResourceLogLevel": "Remove log-level override if any for a specific resource-ID and resource-type, could be a wireless device or a wireless gateway.
", "SendDataToWirelessDevice": "Sends a decrypted application data frame to a device.
", "TagResource": "Adds a tag to a resource.
", "TestWirelessDevice": "Simulates a provisioned device by sending an uplink data payload of Hello
.
Removes one or more tags from a resource.
", "UpdateDestination": "Updates properties of a destination.
", + "UpdateLogLevelsByResourceTypes": "Set default log level, or log levels by resource types, could be for wireless device log options or wireless gateways log options. This is to control the log messages that will be displayed in CloudWatch.
", "UpdatePartnerAccount": "Updates properties of a partner account.
", "UpdateWirelessDevice": "Updates properties of a wireless device.
", "UpdateWirelessGateway": "Updates properties of a wireless gateway.
" @@ -673,6 +679,16 @@ "refs": { } }, + "GetLogLevelsByResourceTypesRequest": { + "base": null, + "refs": { + } + }, + "GetLogLevelsByResourceTypesResponse": { + "base": null, + "refs": { + } + }, "GetPartnerAccountRequest": { "base": null, "refs": { @@ -683,6 +699,16 @@ "refs": { } }, + "GetResourceLogLevelRequest": { + "base": null, + "refs": { + } + }, + "GetResourceLogLevelResponse": { + "base": null, + "refs": { + } + }, "GetServiceEndpointRequest": { "base": null, "refs": { @@ -1029,6 +1055,19 @@ "UpdateWirelessGatewayTaskEntry$LoRaWAN": "The properties that relate to the LoRaWAN wireless gateway.
" } }, + "LogLevel": { + "base": "The log level for a log message.
", + "refs": { + "GetLogLevelsByResourceTypesResponse$DefaultLogLevel": null, + "GetResourceLogLevelResponse$LogLevel": null, + "PutResourceLogLevelRequest$LogLevel": null, + "UpdateLogLevelsByResourceTypesRequest$DefaultLogLevel": null, + "WirelessDeviceEventLogOption$LogLevel": null, + "WirelessDeviceLogOption$LogLevel": null, + "WirelessGatewayEventLogOption$LogLevel": null, + "WirelessGatewayLogOption$LogLevel": null + } + }, "MacVersion": { "base": null, "refs": { @@ -1228,6 +1267,16 @@ "FactoryPresetFreqsList$member": null } }, + "PutResourceLogLevelRequest": { + "base": null, + "refs": { + } + }, + "PutResourceLogLevelResponse": { + "base": null, + "refs": { + } + }, "RaAllowed": { "base": null, "refs": { @@ -1252,6 +1301,26 @@ "LoRaWANGetServiceProfileInfo$ReportDevStatusMargin": "The ReportDevStatusMargin value.
" } }, + "ResetAllResourceLogLevelsRequest": { + "base": null, + "refs": { + } + }, + "ResetAllResourceLogLevelsResponse": { + "base": null, + "refs": { + } + }, + "ResetResourceLogLevelRequest": { + "base": null, + "refs": { + } + }, + "ResetResourceLogLevelResponse": { + "base": null, + "refs": { + } + }, "ResourceId": { "base": null, "refs": { @@ -1259,6 +1328,14 @@ "ResourceNotFoundException$ResourceId": "Id of the not found resource.
" } }, + "ResourceIdentifier": { + "base": "The identifier of the resource. For a Wireless Device, it is the wireless device id. For a wireless gateway, it is the wireless gateway id.
", + "refs": { + "GetResourceLogLevelRequest$ResourceIdentifier": null, + "PutResourceLogLevelRequest$ResourceIdentifier": null, + "ResetResourceLogLevelRequest$ResourceIdentifier": null + } + }, "ResourceNotFoundException": { "base": "Resource does not exist.
", "refs": { @@ -1268,6 +1345,9 @@ "base": null, "refs": { "ConflictException$ResourceType": "Type of the resource in the conflicting operation.
", + "GetResourceLogLevelRequest$ResourceType": "The type of the resource, currently support WirelessDevice and WirelessGateway.
", + "PutResourceLogLevelRequest$ResourceType": "The type of the resource, currently support WirelessDevice and WirelessGateway.
", + "ResetResourceLogLevelRequest$ResourceType": "The type of the resource, currently support WirelessDevice and WirelessGateway.
", "ResourceNotFoundException$ResourceType": "Type of the font found resource.
" } }, @@ -1646,6 +1726,16 @@ "refs": { } }, + "UpdateLogLevelsByResourceTypesRequest": { + "base": null, + "refs": { + } + }, + "UpdateLogLevelsByResourceTypesResponse": { + "base": null, + "refs": { + } + }, "UpdatePartnerAccountRequest": { "base": null, "refs": { @@ -1708,6 +1798,24 @@ "WirelessDeviceStatistics$Arn": "The Amazon Resource Name of the resource.
" } }, + "WirelessDeviceEvent": { + "base": "The event for a log message, if the log message is tied to a wireless device.
", + "refs": { + "WirelessDeviceEventLogOption$Event": null + } + }, + "WirelessDeviceEventLogOption": { + "base": "The log option for a wireless device event. Can be used to set log level for a specific wireless device event. For a LoRaWAN device, the possible events for a log messsage are: Join, Rejoin, Downlink_Data, Uplink_Data. For a Sidewalk device, the possible events for a log message are: Registration, Downlink_Data, Uplink_Data.
", + "refs": { + "WirelessDeviceEventLogOptionList$member": null + } + }, + "WirelessDeviceEventLogOptionList": { + "base": "The list of wireless device event log options.
", + "refs": { + "WirelessDeviceLogOption$Events": null + } + }, "WirelessDeviceId": { "base": null, "refs": { @@ -1731,6 +1839,19 @@ "GetWirelessDeviceRequest$IdentifierType": "The type of identifier used in identifier
.
The log option for wireless devices. Can be used to set log level for a specific type of wireless device.
", + "refs": { + "WirelessDeviceLogOptionList$member": null + } + }, + "WirelessDeviceLogOptionList": { + "base": "The list of wireless device log options.
", + "refs": { + "GetLogLevelsByResourceTypesResponse$WirelessDeviceLogOptions": null, + "UpdateLogLevelsByResourceTypesRequest$WirelessDeviceLogOptions": null + } + }, "WirelessDeviceName": { "base": null, "refs": { @@ -1758,6 +1879,7 @@ "CreateWirelessDeviceRequest$Type": "The wireless device type.
", "GetWirelessDeviceResponse$Type": "The wireless device type.
", "ListWirelessDevicesRequest$WirelessDeviceType": "A filter to list only the wireless devices that use this wireless device type.
", + "WirelessDeviceLogOption$Type": "The wireless device type.
", "WirelessDeviceStatistics$Type": "The wireless device type.
" } }, @@ -1769,6 +1891,24 @@ "WirelessGatewayStatistics$Arn": "The Amazon Resource Name of the resource.
" } }, + "WirelessGatewayEvent": { + "base": "The event for a log message, if the log message is tied to a wireless gateway.
", + "refs": { + "WirelessGatewayEventLogOption$Event": null + } + }, + "WirelessGatewayEventLogOption": { + "base": "The log option for a wireless gateway event. Can be used to set log level for a specific wireless gateway event. For a LoRaWAN gateway, the possible events for a log message are: CUPS_Request, Certificate.
", + "refs": { + "WirelessGatewayEventLogOptionList$member": null + } + }, + "WirelessGatewayEventLogOptionList": { + "base": "The list of wireless gateway event log options.
", + "refs": { + "WirelessGatewayLogOption$Events": null + } + }, "WirelessGatewayId": { "base": null, "refs": { @@ -1796,6 +1936,19 @@ "GetWirelessGatewayRequest$IdentifierType": "The type of identifier used in identifier
.
The log option for wireless gateways. Can be used to set log level for a specific type of wireless gateway.
", + "refs": { + "WirelessGatewayLogOptionList$member": null + } + }, + "WirelessGatewayLogOptionList": { + "base": "The list of wireless gateway log options.
", + "refs": { + "GetLogLevelsByResourceTypesResponse$WirelessGatewayLogOptions": null, + "UpdateLogLevelsByResourceTypesRequest$WirelessGatewayLogOptions": null + } + }, "WirelessGatewayName": { "base": null, "refs": { @@ -1870,6 +2023,12 @@ "GetWirelessGatewayTaskResponse$Status": "The status of the request.
" } }, + "WirelessGatewayType": { + "base": "The wireless gateway type.
", + "refs": { + "WirelessGatewayLogOption$Type": null + } + }, "WirelessMetadata": { "base": "WirelessMetadata object.
", "refs": { diff --git a/models/apis/polly/2016-06-10/api-2.json b/models/apis/polly/2016-06-10/api-2.json index 2b135668b87..21e1e28b3f9 100644 --- a/models/apis/polly/2016-06-10/api-2.json +++ b/models/apis/polly/2016-06-10/api-2.json @@ -780,6 +780,7 @@ "Enrique", "Ewa", "Filiz", + "Gabrielle", "Geraint", "Giorgio", "Gwyneth", diff --git a/models/apis/servicediscovery/2017-03-14/api-2.json b/models/apis/servicediscovery/2017-03-14/api-2.json index 70dfccf24c6..7f065788b99 100644 --- a/models/apis/servicediscovery/2017-03-14/api-2.json +++ b/models/apis/servicediscovery/2017-03-14/api-2.json @@ -717,7 +717,8 @@ "enum":[ "HEALTHY", "UNHEALTHY", - "ALL" + "ALL", + "HEALTHY_OR_ELSE_ALL" ] }, "HttpInstanceSummary":{ diff --git a/models/apis/servicediscovery/2017-03-14/docs-2.json b/models/apis/servicediscovery/2017-03-14/docs-2.json index 9f7a10ab4e5..8ff0fcfd24a 100644 --- a/models/apis/servicediscovery/2017-03-14/docs-2.json +++ b/models/apis/servicediscovery/2017-03-14/docs-2.json @@ -2,16 +2,16 @@ "version": "2.0", "service": "With AWS Cloud Map, you can configure public DNS, private DNS, or HTTP namespaces that your microservice applications run in. When an instance becomes available, you can call the AWS Cloud Map API to register the instance with AWS Cloud Map. For public or private DNS namespaces, AWS Cloud Map automatically creates DNS records and an optional health check. Clients that submit public or private DNS queries, or HTTP requests, for the service receive an answer that contains up to eight healthy records.
", "operations": { - "CreateHttpNamespace": "Creates an HTTP namespace. Service instances that you register using an HTTP namespace can be discovered using a DiscoverInstances
request but can't be discovered using DNS.
For the current quota on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map quotas in the AWS Cloud Map Developer Guide.
", - "CreatePrivateDnsNamespace": "Creates a private namespace based on DNS, which is visible only inside a specified Amazon VPC. The namespace defines your service naming scheme. For example, if you name your namespace example.com
and name your service backend
, the resulting DNS name for the service is backend.example.com
. For the current quota on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide.
Creates a public namespace based on DNS, which is visible on the internet. The namespace defines your service naming scheme. For example, if you name your namespace example.com
and name your service backend
, the resulting DNS name for the service is backend.example.com
. For the current quota on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide.
Creates a service, which defines the configuration for the following entities:
For public and private DNS namespaces, one of the following combinations of DNS records in Amazon Route 53:
A
AAAA
A
and AAAA
SRV
CNAME
Optionally, a health check
After you create the service, you can submit a RegisterInstance request, and AWS Cloud Map uses the values in the configuration to create the specified entities.
For the current quota on the number of instances that you can register using the same namespace and using the same service, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide.
", + "CreateHttpNamespace": "Creates an HTTP namespace. Service instances registered using an HTTP namespace can be discovered using a DiscoverInstances
request but can't be discovered using DNS.
For the current quota on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map quotas in the AWS Cloud Map Developer Guide.
", + "CreatePrivateDnsNamespace": "Creates a private namespace based on DNS, which is visible only inside a specified Amazon VPC. The namespace defines your service naming scheme. For example, if you name your namespace example.com
and name your service backend
, the resulting DNS name for the service is backend.example.com
. Service instances that are registered using a private DNS namespace can be discovered using either a DiscoverInstances
request or using DNS. For the current quota on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide.
Creates a public namespace based on DNS, which is visible on the internet. The namespace defines your service naming scheme. For example, if you name your namespace example.com
and name your service backend
, the resulting DNS name for the service is backend.example.com
. You can discover instances that were registered with a public DNS namespace by using either a DiscoverInstances
request or using DNS. For the current quota on the number of namespaces that you can create using the same AWS account, see AWS Cloud Map Quotasin the AWS Cloud Map Developer Guide.
Creates a service. This action defines the configuration for the following entities:
For public and private DNS namespaces, one of the following combinations of DNS records in Amazon Route 53:
A
AAAA
A
and AAAA
SRV
CNAME
Optionally, a health check
After you create the service, you can submit a RegisterInstance request, and AWS Cloud Map uses the values in the configuration to create the specified entities.
For the current quota on the number of instances that you can register using the same namespace and using the same service, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide.
", "DeleteNamespace": "Deletes a namespace from the current account. If the namespace still contains one or more services, the request fails.
", "DeleteService": "Deletes a specified service. If the service still contains one or more registered instances, the request fails.
", "DeregisterInstance": "Deletes the Amazon Route 53 DNS records and health check, if any, that AWS Cloud Map created for the specified instance.
", "DiscoverInstances": "Discovers registered instances for a specified namespace and service. You can use DiscoverInstances
to discover instances for any type of namespace. For public and private DNS namespaces, you can also use DNS queries to discover instances.
Gets information about a specified instance.
", - "GetInstancesHealthStatus": "Gets the current health status (Healthy
, Unhealthy
, or Unknown
) of one or more instances that are associated with a specified service.
There is a brief delay between when you register an instance and when the health status for the instance is available.
Gets the current health status (Healthy
, Unhealthy
, or Unknown
) of one or more instances that are associated with a specified service.
There's a brief delay between when you register an instance and when the health status for the instance is available.
Gets information about a namespace.
", "GetOperation": "Gets information about any operation that returns an operation ID in the response, such as a CreateService
request.
To get a list of operations that match specified criteria, see ListOperations.
Gets the settings for a specified service.
", @@ -20,7 +20,7 @@ "ListOperations": "Lists operations that match the criteria that you specify.
", "ListServices": "Lists summary information for all the services that are associated with one or more specified namespaces.
", "ListTagsForResource": "Lists tags for the specified resource.
", - "RegisterInstance": "Creates or updates one or more records and, optionally, creates a health check based on the settings in a specified service. When you submit a RegisterInstance
request, the following occurs:
For each DNS record that you define in the service that is specified by ServiceId
, a record is created or updated in the hosted zone that is associated with the corresponding namespace.
If the service includes HealthCheckConfig
, a health check is created based on the settings in the health check configuration.
The health check, if any, is associated with each of the new or updated records.
One RegisterInstance
request must complete before you can submit another request and specify the same service ID and instance ID.
For more information, see CreateService.
When AWS Cloud Map receives a DNS query for the specified DNS name, it returns the applicable value:
If the health check is healthy: returns all the records
If the health check is unhealthy: returns the applicable value for the last healthy instance
If you didn't specify a health check configuration: returns all the records
For the current quota on the number of instances that you can register using the same namespace and using the same service, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide.
", + "RegisterInstance": "Creates or updates one or more records and, optionally, creates a health check based on the settings in a specified service. When you submit a RegisterInstance
request, the following occurs:
For each DNS record that you define in the service that's specified by ServiceId
, a record is created or updated in the hosted zone that's associated with the corresponding namespace.
If the service includes HealthCheckConfig
, a health check is created based on the settings in the health check configuration.
The health check, if any, is associated with each of the new or updated records.
One RegisterInstance
request must complete before you can submit another request and specify the same service ID and instance ID.
For more information, see CreateService.
When AWS Cloud Map receives a DNS query for the specified DNS name, it returns the applicable value:
If the health check is healthy: returns all the records
If the health check is unhealthy: returns the applicable value for the last healthy instance
If you didn't specify a health check configuration: returns all the records
For the current quota on the number of instances that you can register using the same namespace and using the same service, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide.
", "TagResource": "Adds one or more tags to the specified resource.
", "UntagResource": "Removes one or more tags from the specified resource.
", "UpdateInstanceCustomHealthStatus": "Submits a request to change the health status of a custom health check to healthy or unhealthy.
You can use UpdateInstanceCustomHealthStatus
to change the status only for custom health checks, which you define using HealthCheckCustomConfig
when you create a service. You can't use it to change the status for Route 53 health checks, which you define using HealthCheckConfig
.
For more information, see HealthCheckCustomConfig.
", @@ -60,12 +60,12 @@ "Attributes": { "base": null, "refs": { - "DiscoverInstancesRequest$QueryParameters": "Filters to scope the results based on custom attributes for the instance. For example, {version=v1, az=1a}
. Only instances that match all the specified key-value pairs are returned.
Opportunistic filters to scope the results based on custom attributes. If there are instances that match both the filters specified in both the QueryParameters
parameter and this parameter, they are returned. Otherwise, these filters are ignored and only instances that match the filters specified in the QueryParameters
parameter are returned.
Filters to scope the results based on custom attributes for the instance (for example, {version=v1, az=1a}
). Only instances that match all the specified key-value pairs are returned.
Opportunistic filters to scope the results based on custom attributes. If there are instances that match both the filters specified in both the QueryParameters
parameter and this parameter, all of these instances are returned. Otherwise, the filters are ignored, and only instances that match the filters that are specified in the QueryParameters
parameter are returned.
If you included any attributes when you registered the instance, the values of those attributes.
", - "Instance$Attributes": "A string map that contains the following information for the service that you specify in ServiceId
:
The attributes that apply to the records that are defined in the service.
For each attribute, the applicable value.
Supported attribute keys include the following:
If you want AWS Cloud Map to create a Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that is associated with the load balancer. For information about how to get the DNS name, see AliasTarget->DNSName in the Route 53 API Reference.
Note the following:
The configuration for the service that is specified by ServiceId
must include settings for an A
record, an AAAA
record, or both.
In the service that is specified by ServiceId
, the value of RoutingPolicy
must be WEIGHTED
.
If the service that is specified by ServiceId
includes HealthCheckConfig
settings, AWS Cloud Map creates the health check, but it won't associate the health check with the alias record.
Auto naming currently doesn't support creating alias records that route traffic to AWS resources other than ELB load balancers.
If you specify a value for AWS_ALIAS_DNS_NAME
, don't specify values for any of the AWS_INSTANCE
attributes.
HTTP namespaces only. The Amazon EC2 instance ID for the instance. The AWS_INSTANCE_IPV4
attribute contains the primary private IPv4 address.
If the service configuration includes HealthCheckCustomConfig
, you can optionally use AWS_INIT_HEALTH_STATUS
to specify the initial status of the custom health check, HEALTHY
or UNHEALTHY
. If you don't specify a value for AWS_INIT_HEALTH_STATUS
, the initial status is HEALTHY
.
If the service configuration includes a CNAME
record, the domain name that you want Route 53 to return in response to DNS queries, for example, example.com
.
This value is required if the service specified by ServiceId
includes settings for an CNAME
record.
If the service configuration includes an A
record, the IPv4 address that you want Route 53 to return in response to DNS queries, for example, 192.0.2.44
.
This value is required if the service specified by ServiceId
includes settings for an A
record. If the service includes settings for an SRV
record, you must specify a value for AWS_INSTANCE_IPV4
, AWS_INSTANCE_IPV6
, or both.
If the service configuration includes an AAAA
record, the IPv6 address that you want Route 53 to return in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345
.
This value is required if the service specified by ServiceId
includes settings for an AAAA
record. If the service includes settings for an SRV
record, you must specify a value for AWS_INSTANCE_IPV4
, AWS_INSTANCE_IPV6
, or both.
If the service includes an SRV
record, the value that you want Route 53 to return for the port.
If the service includes HealthCheckConfig
, the port on the endpoint that you want Route 53 to send requests to.
This value is required if you specified settings for an SRV
record or a Route 53 health check when you created the service.
A string map that contains the following information:
The attributes that are associate with the instance.
For each attribute, the applicable value.
Supported attribute keys include the following:
For an alias record that routes traffic to an Elastic Load Balancing load balancer, the DNS name that is associated with the load balancer.
The Amazon EC2 instance ID for the instance. When the AWS_EC2_INSTANCE_ID
attribute is specified, then the AWS_INSTANCE_IPV4
attribute contains the primary private IPv4 address.
If the service configuration includes HealthCheckCustomConfig
, you can optionally use AWS_INIT_HEALTH_STATUS
to specify the initial status of the custom health check, HEALTHY
or UNHEALTHY
. If you don't specify a value for AWS_INIT_HEALTH_STATUS
, the initial status is HEALTHY
.
For a CNAME
record, the domain name that Route 53 returns in response to DNS queries, for example, example.com
.
For an A
record, the IPv4 address that Route 53 returns in response to DNS queries, for example, 192.0.2.44
.
For an AAAA
record, the IPv6 address that Route 53 returns in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345
.
For an SRV
record, the value that Route 53 returns for the port. In addition, if the service includes HealthCheckConfig
, the port on the endpoint that Route 53 sends requests to.
A string map that contains the following information for the service that you specify in ServiceId
:
The attributes that apply to the records that are defined in the service.
For each attribute, the applicable value.
Supported attribute keys include the following:
If you want AWS Cloud Map to create an Amazon Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that is associated with the load balancer. For information about how to get the DNS name, see \"DNSName\" in the topic AliasTarget in the Route 53 API Reference.
Note the following:
The configuration for the service that is specified by ServiceId
must include settings for an A
record, an AAAA
record, or both.
In the service that is specified by ServiceId
, the value of RoutingPolicy
must be WEIGHTED
.
If the service that is specified by ServiceId
includes HealthCheckConfig
settings, AWS Cloud Map will create the Route 53 health check, but it doesn't associate the health check with the alias record.
Auto naming currently doesn't support creating alias records that route traffic to AWS resources other than Elastic Load Balancing load balancers.
If you specify a value for AWS_ALIAS_DNS_NAME
, don't specify values for any of the AWS_INSTANCE
attributes.
HTTP namespaces only. The Amazon EC2 instance ID for the instance. If the AWS_EC2_INSTANCE_ID
attribute is specified, then the only other attribute that can be specified is AWS_INIT_HEALTH_STATUS
. When the AWS_EC2_INSTANCE_ID
attribute is specified, then the AWS_INSTANCE_IPV4
attribute will be filled out with the primary private IPv4 address.
If the service configuration includes HealthCheckCustomConfig
, you can optionally use AWS_INIT_HEALTH_STATUS
to specify the initial status of the custom health check, HEALTHY
or UNHEALTHY
. If you don't specify a value for AWS_INIT_HEALTH_STATUS
, the initial status is HEALTHY
.
If the service configuration includes a CNAME
record, the domain name that you want Route 53 to return in response to DNS queries, for example, example.com
.
This value is required if the service specified by ServiceId
includes settings for an CNAME
record.
If the service configuration includes an A
record, the IPv4 address that you want Route 53 to return in response to DNS queries, for example, 192.0.2.44
.
This value is required if the service specified by ServiceId
includes settings for an A
record. If the service includes settings for an SRV
record, you must specify a value for AWS_INSTANCE_IPV4
, AWS_INSTANCE_IPV6
, or both.
If the service configuration includes an AAAA
record, the IPv6 address that you want Route 53 to return in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345
.
This value is required if the service specified by ServiceId
includes settings for an AAAA
record. If the service includes settings for an SRV
record, you must specify a value for AWS_INSTANCE_IPV4
, AWS_INSTANCE_IPV6
, or both.
If the service includes an SRV
record, the value that you want Route 53 to return for the port.
If the service includes HealthCheckConfig
, the port on the endpoint that you want Route 53 to send requests to.
This value is required if you specified settings for an SRV
record or a Route 53 health check when you created the service.
You can add up to 30 custom attributes. For each key-value pair, the maximum length of the attribute name is 255 characters, and the maximum length of the attribute value is 1,024 characters. The total size of all provided attributes (sum of all keys and values) must not exceed 5,000 characters.
A string map that contains the following information for the service that you specify in ServiceId
:
The attributes that apply to the records that are defined in the service.
For each attribute, the applicable value.
Supported attribute keys include the following:
If you want AWS Cloud Map to create a Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that's associated with the load balancer. For information about how to get the DNS name, see AliasTarget->DNSName in the Route 53 API Reference.
Note the following:
The configuration for the service that's specified by ServiceId
must include settings for an A
record, an AAAA
record, or both.
In the service that's specified by ServiceId
, the value of RoutingPolicy
must be WEIGHTED
.
If the service that's specified by ServiceId
includes HealthCheckConfig
settings, AWS Cloud Map creates the health check, but it won't associate the health check with the alias record.
Auto naming currently doesn't support creating alias records that route traffic to AWS resources other than ELB load balancers.
If you specify a value for AWS_ALIAS_DNS_NAME
, don't specify values for any of the AWS_INSTANCE
attributes.
HTTP namespaces only. The Amazon EC2 instance ID for the instance. The AWS_INSTANCE_IPV4
attribute contains the primary private IPv4 address.
If the service configuration includes HealthCheckCustomConfig
, you can optionally use AWS_INIT_HEALTH_STATUS
to specify the initial status of the custom health check, HEALTHY
or UNHEALTHY
. If you don't specify a value for AWS_INIT_HEALTH_STATUS
, the initial status is HEALTHY
.
If the service configuration includes a CNAME
record, the domain name that you want Route 53 to return in response to DNS queries (for example, example.com
).
This value is required if the service specified by ServiceId
includes settings for an CNAME
record.
If the service configuration includes an A
record, the IPv4 address that you want Route 53 to return in response to DNS queries (for example, 192.0.2.44
).
This value is required if the service specified by ServiceId
includes settings for an A
record. If the service includes settings for an SRV
record, you must specify a value for AWS_INSTANCE_IPV4
, AWS_INSTANCE_IPV6
, or both.
If the service configuration includes an AAAA
record, the IPv6 address that you want Route 53 to return in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345
).
This value is required if the service specified by ServiceId
includes settings for an AAAA
record. If the service includes settings for an SRV
record, you must specify a value for AWS_INSTANCE_IPV4
, AWS_INSTANCE_IPV6
, or both.
If the service includes an SRV
record, the value that you want Route 53 to return for the port.
If the service includes HealthCheckConfig
, the port on the endpoint that you want Route 53 to send requests to.
This value is required if you specified settings for an SRV
record or a Route 53 health check when you created the service.
A string map that contains the following information:
The attributes that are associated with the instance.
For each attribute, the applicable value.
Supported attribute keys include the following:
For an alias record that routes traffic to an Elastic Load Balancing load balancer, the DNS name that's associated with the load balancer.
The Amazon EC2 instance ID for the instance. When the AWS_EC2_INSTANCE_ID
attribute is specified, then the AWS_INSTANCE_IPV4
attribute contains the primary private IPv4 address.
If the service configuration includes HealthCheckCustomConfig
, you can optionally use AWS_INIT_HEALTH_STATUS
to specify the initial status of the custom health check, HEALTHY
or UNHEALTHY
. If you don't specify a value for AWS_INIT_HEALTH_STATUS
, the initial status is HEALTHY
.
For a CNAME
record, the domain name that Route 53 returns in response to DNS queries (for example, example.com
).
For an A
record, the IPv4 address that Route 53 returns in response to DNS queries (for example, 192.0.2.44
).
For an AAAA
record, the IPv6 address that Route 53 returns in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345
).
For an SRV
record, the value that Route 53 returns for the port. In addition, if the service includes HealthCheckConfig
, the port on the endpoint that Route 53 sends requests to.
A string map that contains the following information for the service that you specify in ServiceId
:
The attributes that apply to the records that are defined in the service.
For each attribute, the applicable value.
Supported attribute keys include the following:
If you want AWS Cloud Map to create an Amazon Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that's associated with the load balancer. For information about how to get the DNS name, see \"DNSName\" in the topic AliasTarget in the Route 53 API Reference.
Note the following:
The configuration for the service that's specified by ServiceId
must include settings for an A
record, an AAAA
record, or both.
In the service that's specified by ServiceId
, the value of RoutingPolicy
must be WEIGHTED
.
If the service that's specified by ServiceId
includes HealthCheckConfig
settings, AWS Cloud Map will create the Route 53 health check, but it doesn't associate the health check with the alias record.
Auto naming currently doesn't support creating alias records that route traffic to AWS resources other than Elastic Load Balancing load balancers.
If you specify a value for AWS_ALIAS_DNS_NAME
, don't specify values for any of the AWS_INSTANCE
attributes.
HTTP namespaces only. The Amazon EC2 instance ID for the instance. If the AWS_EC2_INSTANCE_ID
attribute is specified, then the only other attribute that can be specified is AWS_INIT_HEALTH_STATUS
. When the AWS_EC2_INSTANCE_ID
attribute is specified, then the AWS_INSTANCE_IPV4
attribute will be filled out with the primary private IPv4 address.
If the service configuration includes HealthCheckCustomConfig
, you can optionally use AWS_INIT_HEALTH_STATUS
to specify the initial status of the custom health check, HEALTHY
or UNHEALTHY
. If you don't specify a value for AWS_INIT_HEALTH_STATUS
, the initial status is HEALTHY
.
If the service configuration includes a CNAME
record, the domain name that you want Route 53 to return in response to DNS queries (for example, example.com
).
This value is required if the service specified by ServiceId
includes settings for an CNAME
record.
If the service configuration includes an A
record, the IPv4 address that you want Route 53 to return in response to DNS queries (for example, 192.0.2.44
).
This value is required if the service specified by ServiceId
includes settings for an A
record. If the service includes settings for an SRV
record, you must specify a value for AWS_INSTANCE_IPV4
, AWS_INSTANCE_IPV6
, or both.
If the service configuration includes an AAAA
record, the IPv6 address that you want Route 53 to return in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345
).
This value is required if the service specified by ServiceId
includes settings for an AAAA
record. If the service includes settings for an SRV
record, you must specify a value for AWS_INSTANCE_IPV4
, AWS_INSTANCE_IPV6
, or both.
If the service includes an SRV
record, the value that you want Route 53 to return for the port.
If the service includes HealthCheckConfig
, the port on the endpoint that you want Route 53 to send requests to.
This value is required if you specified settings for an SRV
record or a Route 53 health check when you created the service.
You can add up to 30 custom attributes. For each key-value pair, the maximum length of the attribute name is 255 characters, and the maximum length of the attribute value is 1,024 characters. The total size of all provided attributes (sum of all keys and values) must not exceed 5,000 characters.
The number of consecutive health checks that an endpoint must pass or fail for Route 53 to change the current status of the endpoint from unhealthy to healthy or the other way around. For more information, see How Route 53 Determines Whether an Endpoint Is Healthy in the Route 53 Developer Guide.
", - "HealthCheckCustomConfig$FailureThreshold": "This parameter has been deprecated and is always set to 1. AWS Cloud Map waits for approximately 30 seconds after receiving an UpdateInstanceCustomHealthStatus
request before changing the status of the service instance.
The number of 30-second intervals that you want AWS Cloud Map to wait after receiving an UpdateInstanceCustomHealthStatus
request before it changes the health status of a service instance.
Sending a second or subsequent UpdateInstanceCustomHealthStatus
request with the same value before 30 seconds has passed doesn't accelerate the change. AWS Cloud Map still waits 30
seconds after the first request to make the change.
This parameter is no longer supported and is always set to 1. AWS Cloud Map waits for approximately 30 seconds after receiving an UpdateInstanceCustomHealthStatus
request before changing the status of the service instance.
The number of 30-second intervals that you want AWS Cloud Map to wait after receiving an UpdateInstanceCustomHealthStatus
request before it changes the health status of a service instance.
Sending a second or subsequent UpdateInstanceCustomHealthStatus
request with the same value before 30 seconds has passed doesn't accelerate the change. AWS Cloud Map still waits 30
seconds after the first request to make the change.
Public DNS and HTTP namespaces only. A complex type that contains settings for an optional health check. If you specify settings for a health check, AWS Cloud Map associates the health check with the records that you specify in DnsConfig
.
If you specify a health check configuration, you can specify either HealthCheckCustomConfig
or HealthCheckConfig
but not both.
Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for health checks, see Amazon Route 53 Pricing.
Note the following about configuring health checks.
If DnsConfig
includes configurations for both A
and AAAA
records, AWS Cloud Map creates a health check that uses the IPv4 address to check the health of the resource. If the endpoint that is specified by the IPv4 address is unhealthy, Route 53 considers both the A
and AAAA
records to be unhealthy.
You can't specify settings for HealthCheckConfig
when the DNSConfig
includes CNAME
for the value of Type
. If you do, the CreateService
request will fail with an InvalidInput
error.
A Route 53 health checker in each health-checking region sends a health check request to an endpoint every 30 seconds. On average, your endpoint receives a health check request about every two seconds. However, health checkers don't coordinate with one another, so you'll sometimes see several requests per second followed by a few seconds with no health checks at all.
Health checkers perform checks from all Route 53 health-checking regions. For a list of the current regions, see Regions.
When you register an instance, if you include the AWS_ALIAS_DNS_NAME
attribute, AWS Cloud Map creates a Route 53 alias record. Note the following:
Route 53 automatically sets EvaluateTargetHealth
to true for alias records. When EvaluateTargetHealth
is true, the alias record inherits the health of the referenced AWS resource. such as an ELB load balancer. For more information, see EvaluateTargetHealth.
If you include HealthCheckConfig
and then use the service to register an instance that creates an alias record, Route 53 doesn't create the health check.
Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for health checks, see Amazon Route 53 Pricing.
Public DNS and HTTP namespaces only. A complex type that contains settings for an optional health check. If you specify settings for a health check, AWS Cloud Map associates the health check with the records that you specify in DnsConfig
.
If you specify a health check configuration, you can specify either HealthCheckCustomConfig
or HealthCheckConfig
but not both.
Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for health checks, see Amazon Route 53 Pricing.
Note the following about configuring health checks.
If DnsConfig
includes configurations for both A
and AAAA
records, AWS Cloud Map creates a health check that uses the IPv4 address to check the health of the resource. If the endpoint tthat's specified by the IPv4 address is unhealthy, Route 53 considers both the A
and AAAA
records to be unhealthy.
You can't specify settings for HealthCheckConfig
when the DNSConfig
includes CNAME
for the value of Type
. If you do, the CreateService
request will fail with an InvalidInput
error.
A Route 53 health checker in each health-checking AWS Region sends a health check request to an endpoint every 30 seconds. On average, your endpoint receives a health check request about every two seconds. However, health checkers don't coordinate with one another. Therefore, you might sometimes see several requests in one second that's followed by a few seconds with no health checks at all.
Health checkers perform checks from all Route 53 health-checking Regions. For a list of the current Regions, see Regions.
When you register an instance, if you include the AWS_ALIAS_DNS_NAME
attribute, AWS Cloud Map creates a Route 53 alias record. Note the following:
Route 53 automatically sets EvaluateTargetHealth
to true for alias records. When EvaluateTargetHealth
is true, the alias record inherits the health of the referenced AWS resource. such as an ELB load balancer. For more information, see EvaluateTargetHealth.
If you include HealthCheckConfig
and then use the service to register an instance that creates an alias record, Route 53 doesn't create the health check.
Health checks are basic Route 53 health checks that monitor an AWS endpoint. For information about pricing for health checks, see Amazon Route 53 Pricing.
Public DNS and HTTP namespaces only. A complex type that contains settings for an optional Route 53 health check. If you specify settings for a health check, AWS Cloud Map associates the health check with all the Route 53 DNS records that you specify in DnsConfig
.
If you specify a health check configuration, you can specify either HealthCheckCustomConfig
or HealthCheckConfig
but not both.
For information about the charges for health checks, see AWS Cloud Map Pricing.
", "Service$HealthCheckConfig": " Public DNS and HTTP namespaces only. A complex type that contains settings for an optional health check. If you specify settings for a health check, AWS Cloud Map associates the health check with the records that you specify in DnsConfig
.
For information about the charges for health checks, see Amazon Route 53 Pricing.
", @@ -317,11 +317,11 @@ } }, "HealthCheckCustomConfig": { - "base": "A complex type that contains information about an optional custom health check. A custom health check, which requires that you use a third-party health checker to evaluate the health of your resources, is useful in the following circumstances:
You can't use a health check that is defined by HealthCheckConfig
because the resource isn't available over the internet. For example, you can use a custom health check when the instance is in an Amazon VPC. (To check the health of resources in a VPC, the health checker must also be in the VPC.)
You want to use a third-party health checker regardless of where your resources are.
If you specify a health check configuration, you can specify either HealthCheckCustomConfig
or HealthCheckConfig
but not both.
To change the status of a custom health check, submit an UpdateInstanceCustomHealthStatus
request. AWS Cloud Map doesn't monitor the status of the resource, it just keeps a record of the status specified in the most recent UpdateInstanceCustomHealthStatus
request.
Here's how custom health checks work:
You create a service and specify a value for FailureThreshold
.
The failure threshold indicates the number of 30-second intervals you want AWS Cloud Map to wait between the time that your application sends an UpdateInstanceCustomHealthStatus request and the time that AWS Cloud Map stops routing internet traffic to the corresponding resource.
You register an instance.
You configure a third-party health checker to monitor the resource that is associated with the new instance.
AWS Cloud Map doesn't check the health of the resource directly.
The third-party health-checker determines that the resource is unhealthy and notifies your application.
Your application submits an UpdateInstanceCustomHealthStatus
request.
AWS Cloud Map waits for (FailureThreshold
x 30) seconds.
If another UpdateInstanceCustomHealthStatus
request doesn't arrive during that time to change the status back to healthy, AWS Cloud Map stops routing traffic to the resource.
A complex type that contains information about an optional custom health check. A custom health check, which requires that you use a third-party health checker to evaluate the health of your resources, is useful in the following circumstances:
You can't use a health check that's defined by HealthCheckConfig
because the resource isn't available over the internet. For example, you can use a custom health check when the instance is in an Amazon VPC. (To check the health of resources in a VPC, the health checker must also be in the VPC.)
You want to use a third-party health checker regardless of where your resources are located.
If you specify a health check configuration, you can specify either HealthCheckCustomConfig
or HealthCheckConfig
but not both.
To change the status of a custom health check, submit an UpdateInstanceCustomHealthStatus
request. AWS Cloud Map doesn't monitor the status of the resource, it just keeps a record of the status specified in the most recent UpdateInstanceCustomHealthStatus
request.
Here's how custom health checks work:
You create a service.
You register an instance.
You configure a third-party health checker to monitor the resource that's associated with the new instance.
AWS Cloud Map doesn't check the health of the resource directly.
The third-party health-checker determines that the resource is unhealthy and notifies your application.
Your application submits an UpdateInstanceCustomHealthStatus
request.
AWS Cloud Map waits for 30 seconds.
If another UpdateInstanceCustomHealthStatus
request doesn't arrive during that time to change the status back to healthy, AWS Cloud Map stops routing traffic to the resource.
A complex type that contains information about an optional custom health check.
If you specify a health check configuration, you can specify either HealthCheckCustomConfig
or HealthCheckConfig
but not both.
You can't add, update, or delete a HealthCheckCustomConfig
configuration from an existing service.
A complex type that contains information about an optional custom health check.
If you specify a health check configuration, you can specify either HealthCheckCustomConfig
or HealthCheckConfig
but not both.
Information about an optional custom health check. A custom health check, which requires that you use a third-party health checker to evaluate the health of your resources, is useful in the following circumstances:
You can't use a health check that is defined by HealthCheckConfig
because the resource isn't available over the internet. For example, you can use a custom health check when the instance is in an Amazon VPC. (To check the health of resources in a VPC, the health checker must also be in the VPC.)
You want to use a third-party health checker regardless of where your resources are.
If you specify a health check configuration, you can specify either HealthCheckCustomConfig
or HealthCheckConfig
but not both.
Information about an optional custom health check. A custom health check, which requires that you use a third-party health checker to evaluate the health of your resources, is useful in the following circumstances:
You can't use a health check that's defined by HealthCheckConfig
because the resource isn't available over the internet. For example, you can use a custom health check when the instance is in an Amazon VPC. (To check the health of resources in a VPC, the health checker must also be in the VPC.)
You want to use a third-party health checker regardless of where your resources are located.
If you specify a health check configuration, you can specify either HealthCheckCustomConfig
or HealthCheckConfig
but not both.
The health status of the instances that you want to discover.
" + "DiscoverInstancesRequest$HealthStatus": "The health status of the instances that you want to discover. This parameter is ignored for services that don't have a health check configured, and all instances are returned.
Returns healthy instances.
Returns unhealthy instances.
Returns all instances.
Returns healthy instances, unless none are reporting a healthy state. In that case, return all instances. This is also called failing open.
An identifier that you want to associate with the instance. Note the following:
If the service that is specified by ServiceId
includes settings for an SRV
record, the value of InstanceId
is automatically included as part of the value for the SRV
record. For more information, see DnsRecord > Type.
You can use this value to update an existing instance.
To register a new instance, you must specify a value that is unique among instances that you register by using the same service.
If you specify an existing InstanceId
and ServiceId
, AWS Cloud Map updates the existing DNS records, if any. If there's also an existing health check, AWS Cloud Map deletes the old health check and creates a new one.
The health check isn't deleted immediately, so it will still appear for a while if you submit a ListHealthChecks
request, for example.
An identifier that you want to associate with the instance. Note the following:
If the service that's specified by ServiceId
includes settings for an SRV
record, the value of InstanceId
is automatically included as part of the value for the SRV
record. For more information, see DnsRecord > Type.
You can use this value to update an existing instance.
To register a new instance, you must specify a value that's unique among instances that you register by using the same service.
If you specify an existing InstanceId
and ServiceId
, AWS Cloud Map updates the existing DNS records, if any. If there's also an existing health check, AWS Cloud Map deletes the old health check and creates a new one.
The health check isn't deleted immediately, so it will still appear for a while if you submit a ListHealthChecks
request, for example.
The HttpName
name of the namespace, found in the HttpProperties
member of the Properties
member of the namespace.
The HttpName
name of the namespace. It's found in the HttpProperties
member of the Properties
member of the namespace.
The name of an HTTP namespace.
", "Namespace$Name": "The name of the namespace, such as example.com
.
The name of the namespace. When you create a namespace, AWS Cloud Map automatically creates a Route 53 hosted zone that has the same name as the namespace.
" @@ -515,7 +515,7 @@ "base": null, "refs": { "CreateHttpNamespaceRequest$Name": "The name that you want to assign to this namespace.
", - "HttpInstanceSummary$NamespaceName": "
The HttpName
name of the namespace, found in the HttpProperties
member of the Properties
member of the namespace.
The HttpName
name of the namespace. It's found in the HttpProperties
member of the Properties
member of the namespace.
A complex type that contains information that is specific to the namespace type.
", + "base": "A complex type that contains information that's specific to the namespace type.
", "refs": { "Namespace$Properties": "A complex type that contains information that's specific to the type of the namespace.
", "NamespaceSummary$Properties": "The properties of the namespace.
" @@ -622,7 +622,7 @@ "OperationStatus": { "base": null, "refs": { - "Operation$Status": "The status of the operation. Values include the following:
This is the initial state immediately after you submit a request.
AWS Cloud Map is performing the operation.
The operation succeeded.
The operation failed. For the failure reason, see ErrorMessage
.
The status of the operation. Values include the following:
This is the initial state that occurs immediately after you submit a request.
AWS Cloud Map is performing the operation.
The operation succeeded.
The operation failed. For the failure reason, see ErrorMessage
.
The status of the operation. Values include the following:
SUBMITTED: This is the initial state immediately after you submit a request.
PENDING: AWS Cloud Map is performing the operation.
SUCCESS: The operation succeeded.
FAIL: The operation failed. For the failure reason, see ErrorMessage
.
The name of the target entity that is associated with the operation:
The namespace ID is returned in the ResourceId
property.
The service ID is returned in the ResourceId
property.
The instance ID is returned in the ResourceId
property.
The name of the target entity that's associated with the operation:
The namespace ID is returned in the ResourceId
property.
The service ID is returned in the ResourceId
property.
The instance ID is returned in the ResourceId
property.
The name of the operation that is associated with the specified ID.
" + "Operation$Type": "The name of the operation that's associated with the specified ID.
" } }, "RecordTTL": { @@ -688,8 +688,8 @@ "refs": { "Namespace$ServiceCount": "The number of services that are associated with the namespace.
", "NamespaceSummary$ServiceCount": "The number of services that were created using the namespace.
", - "Service$InstanceCount": "The number of instances that are currently associated with the service. Instances that were previously associated with the service but that have been deleted are not included in the count. The count might not reflect pending registrations and deregistrations.
", - "ServiceSummary$InstanceCount": "The number of instances that are currently associated with the service. Instances that were previously associated with the service but that have been deleted are not included in the count. The count might not reflect pending registrations and deregistrations.
" + "Service$InstanceCount": "The number of instances that are currently associated with the service. Instances that were previously associated with the service but that are deleted aren't included in the count. The count might not reflect pending registrations and deregistrations.
", + "ServiceSummary$InstanceCount": "The number of instances that are currently associated with the service. Instances that were previously associated with the service but that are deleted aren't included in the count. The count might not reflect pending registrations and deregistrations.
" } }, "ResourceDescription": { @@ -709,19 +709,19 @@ "ResourceId": { "base": null, "refs": { - "CreateHttpNamespaceRequest$CreatorRequestId": "A unique string that identifies the request and that allows failed CreateHttpNamespace
requests to be retried without the risk of running the operation twice. CreatorRequestId
can be any unique string, for example, a date/time stamp.
A unique string that identifies the request and that allows failed CreatePrivateDnsNamespace
requests to be retried without the risk of running the operation twice. CreatorRequestId
can be any unique string, for example, a date/timestamp.
A unique string that identifies the request and that allows failed CreateHttpNamespace
requests to be retried without the risk of running the operation twice. CreatorRequestId
can be any unique string (for example, a date/time stamp).
A unique string that identifies the request and that allows failed CreatePrivateDnsNamespace
requests to be retried without the risk of running the operation twice. CreatorRequestId
can be any unique string (for example, a date/timestamp).
The ID of the Amazon VPC that you want to associate the namespace with.
", - "CreatePublicDnsNamespaceRequest$CreatorRequestId": "A unique string that identifies the request and that allows failed CreatePublicDnsNamespace
requests to be retried without the risk of running the operation twice. CreatorRequestId
can be any unique string, for example, a date/timestamp.
A unique string that identifies the request and that allows failed CreatePublicDnsNamespace
requests to be retried without the risk of running the operation twice. CreatorRequestId
can be any unique string (for example, a date/timestamp).
The ID of the namespace that you want to use to create the service. The namespace ID must be specified, but it can be specified either here or in the DnsConfig
object.
A unique string that identifies the request and that allows failed CreateService
requests to be retried without the risk of running the operation twice. CreatorRequestId
can be any unique string, for example, a date/timestamp.
A unique string that identifies the request and that allows failed CreateService
requests to be retried without the risk of running the operation twice. CreatorRequestId
can be any unique string (for example, a date/timestamp).
The ID of the namespace that you want to delete.
", "DeleteServiceRequest$Id": "The ID of the service that you want to delete.
", "DeregisterInstanceRequest$ServiceId": "The ID of the service that the instance is associated with.
", "DeregisterInstanceRequest$InstanceId": "The value that you specified for Id
in the RegisterInstance request.
The ID of the namespace to use for DNS configuration.
", "DnsProperties$HostedZoneId": "The ID for the Route 53 hosted zone that AWS Cloud Map creates when you create a namespace.
", - "DuplicateRequest$DuplicateOperationId": "The ID of the operation that is already in progress.
", + "DuplicateRequest$DuplicateOperationId": "The ID of the operation that's already in progress.
", "GetInstanceRequest$ServiceId": "The ID of the service that the instance is associated with.
", "GetInstanceRequest$InstanceId": "The ID of the instance that you want to get information about.
", "GetInstancesHealthStatusRequest$ServiceId": "The ID of the service that the instance is associated with.
", @@ -729,8 +729,8 @@ "GetOperationRequest$OperationId": "The ID of the operation that you want to get more information about.
", "GetServiceRequest$Id": "The ID of the service that you want to get settings for.
", "HttpInstanceSummary$InstanceId": "The ID of an instance that matches the values that you specified in the request.
", - "Instance$Id": "An identifier that you want to associate with the instance. Note the following:
If the service that is specified by ServiceId
includes settings for an SRV
record, the value of InstanceId
is automatically included as part of the value for the SRV
record. For more information, see DnsRecord > Type.
You can use this value to update an existing instance.
To register a new instance, you must specify a value that is unique among instances that you register by using the same service.
If you specify an existing InstanceId
and ServiceId
, AWS Cloud Map updates the existing DNS records. If there's also an existing health check, AWS Cloud Map deletes the old health check and creates a new one.
The health check isn't deleted immediately, so it will still appear for a while if you submit a ListHealthChecks
request, for example.
A unique string that identifies the request and that allows failed RegisterInstance
requests to be retried without the risk of executing the operation twice. You must use a unique CreatorRequestId
string every time you submit a RegisterInstance
request if you're registering additional instances for the same namespace and service. CreatorRequestId
can be any unique string, for example, a date/time stamp.
An identifier that you want to associate with the instance. Note the following:
If the service that's specified by ServiceId
includes settings for an SRV
record, the value of InstanceId
is automatically included as part of the value for the SRV
record. For more information, see DnsRecord > Type.
You can use this value to update an existing instance.
To register a new instance, you must specify a value that's unique among instances that you register by using the same service.
If you specify an existing InstanceId
and ServiceId
, AWS Cloud Map updates the existing DNS records. If there's also an existing health check, AWS Cloud Map deletes the old health check and creates a new one.
The health check isn't deleted immediately, so it will still appear for a while if you submit a ListHealthChecks
request, for example.
A unique string that identifies the request and that allows failed RegisterInstance
requests to be retried without the risk of executing the operation twice. You must use a unique CreatorRequestId
string every time you submit a RegisterInstance
request if you're registering additional instances for the same namespace and service. CreatorRequestId
can be any unique string (for example, a date/time stamp).
The ID for an instance that you created by using a specified service.
", @@ -742,10 +742,10 @@ "NamespaceSummary$Id": "The ID of the namespace.
", "OperationTargetsMap$value": null, "RegisterInstanceRequest$ServiceId": "The ID of the service that you want to use for settings for the instance.
", - "RegisterInstanceRequest$CreatorRequestId": "A unique string that identifies the request and that allows failed RegisterInstance
requests to be retried without the risk of executing the operation twice. You must use a unique CreatorRequestId
string every time you submit a RegisterInstance
request if you're registering additional instances for the same namespace and service. CreatorRequestId
can be any unique string, for example, a date/time stamp.
A unique string that identifies the request and that allows failed RegisterInstance
requests to be retried without the risk of executing the operation twice. You must use a unique CreatorRequestId
string every time you submit a RegisterInstance
request if you're registering additional instances for the same namespace and service. CreatorRequestId
can be any unique string (for example, a date/time stamp).
The ID that AWS Cloud Map assigned to the service when you created it.
", "Service$NamespaceId": "The ID of the namespace that was used to create the service.
", - "Service$CreatorRequestId": "A unique string that identifies the request and that allows failed requests to be retried without the risk of running the operation twice. CreatorRequestId
can be any unique string, for example, a date/timestamp.
A unique string that identifies the request and that allows failed requests to be retried without the risk of running the operation twice. CreatorRequestId
can be any unique string (for example, a date/timestamp).
The CreatorRequestId
that was used to create the service.
The ID of the existing service.
", "ServiceSummary$Id": "The ID that AWS Cloud Map assigned to the service when you created it.
", @@ -772,7 +772,7 @@ "ResourcePath": { "base": null, "refs": { - "HealthCheckConfig$ResourcePath": "The path that you want Route 53 to request when performing health checks. The path can be any value for which your endpoint returns an HTTP status code of a 2xx or 3xx format when the endpoint is healthy, such as the file /docs/route53-health-check.html
. Route 53 automatically adds the DNS name for the service. If you don't specify a value for ResourcePath
, the default value is /
.
If you specify TCP
for Type
, you must not specify a value for ResourcePath
.
The path that you want Route 53 to request when performing health checks. The path can be any value that your endpoint returns an HTTP status code of a 2xx or 3xx format for when the endpoint is healthy. An example file is /docs/route53-health-check.html
. Route 53 automatically adds the DNS name for the service. If you don't specify a value for ResourcePath
, the default value is /
.
If you specify TCP
for Type
, you must not specify a value for ResourcePath
.
The name that you want to assign to the service.
If you want AWS Cloud Map to create an SRV
record when you register an instance and you're using a system that requires a specific SRV
format, such as HAProxy, specify the following for Name
:
Start the name with an underscore (_), such as _exampleservice
.
End the name with ._protocol, such as ._tcp
.
When you register an instance, AWS Cloud Map creates an SRV
record and assigns a name to the record by concatenating the service name and the namespace name, for example:
_exampleservice._tcp.example.com
For services that are accessible by DNS queries, you can't create multiple services with names that differ only by case (such as EXAMPLE and example). Otherwise, these services have the same DNS name and can't be distinguished. However, if you use a namespace that's only accessible by API calls, then you can create services that with names that differ only by case.
The name that you want to assign to the service.
If you want AWS Cloud Map to create an SRV
record when you register an instance and you're using a system that requires a specific SRV
format, such as HAProxy, specify the following for Name
:
Start the name with an underscore (_), such as _exampleservice
.
End the name with ._protocol, such as ._tcp
.
When you register an instance, AWS Cloud Map creates an SRV
record and assigns a name to the record by concatenating the service name and the namespace name (for example,
_exampleservice._tcp.example.com
).
For services that are accessible by DNS queries, you can't create multiple services with names that differ only by case (such as EXAMPLE and example). Otherwise, these services have the same DNS name and can't be distinguished. However, if you use a namespace that's only accessible by API calls, then you can create services that with names that differ only by case.
The name of the service that you specified when you registered the instance.
", "HttpInstanceSummary$ServiceName": "The name of the service that you specified when you registered the instance.
", "Service$Name": "The name of the service.
", @@ -854,11 +854,11 @@ "ServiceTypeOption": { "base": null, "refs": { - "CreateServiceRequest$Type": "If present, specifies that the service instances are only discoverable using the DiscoverInstances
API operation. No DNS records will be registered for the service instances. The only valid value is HTTP
.
If present, specifies that the service instances are only discoverable using the DiscoverInstances
API operation. No DNS records is registered for the service instances. The only valid value is HTTP
.
A custom key-value pair associated with a resource.
", + "base": "A custom key-value pair that's associated with a resource.
", "refs": { "TagList$member": null } @@ -900,7 +900,7 @@ "TagValue": { "base": null, "refs": { - "Tag$Value": "The string value associated with the key of the tag. You can set the value of a tag to an empty string, but you can't set the value of a tag to null.
" + "Tag$Value": "The string value that's associated with the key of the tag. You can set the value of a tag to an empty string, but you can't set the value of a tag to null.
" } }, "Timestamp": { diff --git a/models/apis/sns/2010-03-31/api-2.json b/models/apis/sns/2010-03-31/api-2.json index abf7476239f..0a654695704 100644 --- a/models/apis/sns/2010-03-31/api-2.json +++ b/models/apis/sns/2010-03-31/api-2.json @@ -99,6 +99,26 @@ {"shape":"NotFoundException"} ] }, + "CreateSMSSandboxPhoneNumber":{ + "name":"CreateSMSSandboxPhoneNumber", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSMSSandboxPhoneNumberInput"}, + "output":{ + "shape":"CreateSMSSandboxPhoneNumberResult", + "resultWrapper":"CreateSMSSandboxPhoneNumberResult" + }, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"OptedOutException"}, + {"shape":"UserErrorException"}, + {"shape":"ThrottledException"} + ] + }, "CreateTopic":{ "name":"CreateTopic", "http":{ @@ -148,6 +168,26 @@ {"shape":"AuthorizationErrorException"} ] }, + "DeleteSMSSandboxPhoneNumber":{ + "name":"DeleteSMSSandboxPhoneNumber", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSMSSandboxPhoneNumberInput"}, + "output":{ + "shape":"DeleteSMSSandboxPhoneNumberResult", + "resultWrapper":"DeleteSMSSandboxPhoneNumberResult" + }, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"UserErrorException"}, + {"shape":"ThrottledException"} + ] + }, "DeleteTopic":{ "name":"DeleteTopic", "http":{ @@ -219,6 +259,23 @@ {"shape":"InvalidParameterException"} ] }, + "GetSMSSandboxAccountStatus":{ + "name":"GetSMSSandboxAccountStatus", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetSMSSandboxAccountStatusInput"}, + "output":{ + "shape":"GetSMSSandboxAccountStatusResult", + "resultWrapper":"GetSMSSandboxAccountStatusResult" + }, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InternalErrorException"}, + {"shape":"ThrottledException"} + ] + }, "GetSubscriptionAttributes":{ "name":"GetSubscriptionAttributes", "http":{ @@ -274,6 +331,25 @@ {"shape":"NotFoundException"} ] }, + "ListOriginationNumbers":{ + "name":"ListOriginationNumbers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListOriginationNumbersRequest"}, + "output":{ + "shape":"ListOriginationNumbersResult", + "resultWrapper":"ListOriginationNumbersResult" + }, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"AuthorizationErrorException"}, + {"shape":"ThrottledException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ValidationException"} + ] + }, "ListPhoneNumbersOptedOut":{ "name":"ListPhoneNumbersOptedOut", "http":{ @@ -309,6 +385,25 @@ {"shape":"AuthorizationErrorException"} ] }, + "ListSMSSandboxPhoneNumbers":{ + "name":"ListSMSSandboxPhoneNumbers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSMSSandboxPhoneNumbersInput"}, + "output":{ + "shape":"ListSMSSandboxPhoneNumbersResult", + "resultWrapper":"ListSMSSandboxPhoneNumbersResult" + }, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottledException"} + ] + }, "ListSubscriptions":{ "name":"ListSubscriptions", "http":{ @@ -593,6 +688,26 @@ {"shape":"AuthorizationErrorException"}, {"shape":"ConcurrentAccessException"} ] + }, + "VerifySMSSandboxPhoneNumber":{ + "name":"VerifySMSSandboxPhoneNumber", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"VerifySMSSandboxPhoneNumberInput"}, + "output":{ + "shape":"VerifySMSSandboxPhoneNumberResult", + "resultWrapper":"VerifySMSSandboxPhoneNumberResult" + }, + "errors":[ + {"shape":"AuthorizationErrorException"}, + {"shape":"InternalErrorException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"VerificationException"}, + {"shape":"ThrottledException"} + ] } }, "shapes":{ @@ -714,6 +829,19 @@ "Attributes":{"shape":"MapStringToString"} } }, + "CreateSMSSandboxPhoneNumberInput":{ + "type":"structure", + "required":["PhoneNumber"], + "members":{ + "PhoneNumber":{"shape":"PhoneNumberString"}, + "LanguageCode":{"shape":"LanguageCodeString"} + } + }, + "CreateSMSSandboxPhoneNumberResult":{ + "type":"structure", + "members":{ + } + }, "CreateTopicInput":{ "type":"structure", "required":["Name"], @@ -747,6 +875,18 @@ "PlatformApplicationArn":{"shape":"String"} } }, + "DeleteSMSSandboxPhoneNumberInput":{ + "type":"structure", + "required":["PhoneNumber"], + "members":{ + "PhoneNumber":{"shape":"PhoneNumberString"} + } + }, + "DeleteSMSSandboxPhoneNumberResult":{ + "type":"structure", + "members":{ + } + }, "DeleteTopicInput":{ "type":"structure", "required":["TopicArn"], @@ -823,6 +963,18 @@ "attributes":{"shape":"MapStringToString"} } }, + "GetSMSSandboxAccountStatusInput":{ + "type":"structure", + "members":{ + } + }, + "GetSMSSandboxAccountStatusResult":{ + "type":"structure", + "required":["IsInSandbox"], + "members":{ + "IsInSandbox":{"shape":"boolean"} + } + }, "GetSubscriptionAttributesInput":{ "type":"structure", "required":["SubscriptionArn"], @@ -897,6 +1049,11 @@ }, "exception":true }, + "Iso2CountryCode":{ + "type":"string", + "max":2, + "pattern":"^[A-Za-z]{2}$" + }, "KMSAccessDeniedException":{ "type":"structure", "members":{ @@ -969,6 +1126,24 @@ }, "exception":true }, + "LanguageCodeString":{ + "type":"string", + "enum":[ + "en-US", + "en-GB", + "es-419", + "es-ES", + "de-DE", + "fr-CA", + "fr-FR", + "it-IT", + "ja-JP", + "pt-BR", + "kr-KR", + "zh-CN", + "zh-TW" + ] + }, "ListEndpointsByPlatformApplicationInput":{ "type":"structure", "required":["PlatformApplicationArn"], @@ -992,6 +1167,20 @@ "type":"list", "member":{"shape":"PlatformApplication"} }, + "ListOriginationNumbersRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"nextToken"}, + "MaxResults":{"shape":"MaxItemsListOriginationNumbers"} + } + }, + "ListOriginationNumbersResult":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"nextToken"}, + "PhoneNumbers":{"shape":"PhoneNumberInformationList"} + } + }, "ListPhoneNumbersOptedOutInput":{ "type":"structure", "members":{ @@ -1018,6 +1207,21 @@ "NextToken":{"shape":"String"} } }, + "ListSMSSandboxPhoneNumbersInput":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"nextToken"}, + "MaxResults":{"shape":"MaxItems"} + } + }, + "ListSMSSandboxPhoneNumbersResult":{ + "type":"structure", + "required":["PhoneNumbers"], + "members":{ + "PhoneNumbers":{"shape":"SMSSandboxPhoneNumberList"}, + "NextToken":{"shape":"string"} + } + }, "ListString":{ "type":"list", "member":{"shape":"String"} @@ -1081,6 +1285,16 @@ "key":{"shape":"String"}, "value":{"shape":"String"} }, + "MaxItems":{ + "type":"integer", + "max":100, + "min":1 + }, + "MaxItemsListOriginationNumbers":{ + "type":"integer", + "max":30, + "min":1 + }, "MessageAttributeMap":{ "type":"map", "key":{ @@ -1113,6 +1327,24 @@ }, "exception":true }, + "NumberCapability":{ + "type":"string", + "enum":[ + "SMS", + "MMS", + "VOICE" + ] + }, + "NumberCapabilityList":{ + "type":"list", + "member":{"shape":"NumberCapability"} + }, + "OTPCode":{ + "type":"string", + "max":8, + "min":5, + "pattern":"^[0-9]+$" + }, "OptInPhoneNumberInput":{ "type":"structure", "required":["phoneNumber"], @@ -1125,11 +1357,43 @@ "members":{ } }, + "OptedOutException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "error":{ + "code":"OptedOut", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "PhoneNumber":{"type":"string"}, + "PhoneNumberInformation":{ + "type":"structure", + "members":{ + "CreatedAt":{"shape":"Timestamp"}, + "PhoneNumber":{"shape":"String"}, + "Status":{"shape":"String"}, + "Iso2CountryCode":{"shape":"Iso2CountryCode"}, + "RouteType":{"shape":"RouteType"}, + "NumberCapabilities":{"shape":"NumberCapabilityList"} + } + }, + "PhoneNumberInformationList":{ + "type":"list", + "member":{"shape":"PhoneNumberInformation"} + }, "PhoneNumberList":{ "type":"list", "member":{"shape":"PhoneNumber"} }, + "PhoneNumberString":{ + "type":"string", + "max":20, + "pattern":"^(\\+[0-9]{8,}|[0-9]{0,9})$" + }, "PlatformApplication":{ "type":"structure", "members":{ @@ -1194,6 +1458,32 @@ }, "exception":true }, + "RouteType":{ + "type":"string", + "enum":[ + "Transactional", + "Promotional", + "Premium" + ] + }, + "SMSSandboxPhoneNumber":{ + "type":"structure", + "members":{ + "PhoneNumber":{"shape":"PhoneNumberString"}, + "Status":{"shape":"SMSSandboxPhoneNumberVerificationStatus"} + } + }, + "SMSSandboxPhoneNumberList":{ + "type":"list", + "member":{"shape":"SMSSandboxPhoneNumber"} + }, + "SMSSandboxPhoneNumberVerificationStatus":{ + "type":"string", + "enum":[ + "Pending", + "Verified" + ] + }, "SetEndpointAttributesInput":{ "type":"structure", "required":[ @@ -1397,6 +1687,7 @@ }, "exception":true }, + "Timestamp":{"type":"timestamp"}, "Topic":{ "type":"structure", "members":{ @@ -1447,6 +1738,59 @@ "members":{ } }, + "UserErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"string"} + }, + "error":{ + "code":"UserError", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ValidationException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"string"} + }, + "error":{ + "code":"ValidationException", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "VerificationException":{ + "type":"structure", + "required":[ + "Message", + "Status" + ], + "members":{ + "Message":{"shape":"string"}, + "Status":{"shape":"string"} + }, + "exception":true + }, + "VerifySMSSandboxPhoneNumberInput":{ + "type":"structure", + "required":[ + "PhoneNumber", + "OneTimePassword" + ], + "members":{ + "PhoneNumber":{"shape":"PhoneNumberString"}, + "OneTimePassword":{"shape":"OTPCode"} + } + }, + "VerifySMSSandboxPhoneNumberResult":{ + "type":"structure", + "members":{ + } + }, "account":{"type":"string"}, "action":{"type":"string"}, "attributeName":{"type":"string"}, diff --git a/models/apis/sns/2010-03-31/docs-2.json b/models/apis/sns/2010-03-31/docs-2.json index e8b5eb7034c..0db6e28df69 100644 --- a/models/apis/sns/2010-03-31/docs-2.json +++ b/models/apis/sns/2010-03-31/docs-2.json @@ -7,18 +7,23 @@ "ConfirmSubscription": "Verifies an endpoint owner's intent to receive messages by validating the token sent to the endpoint by an earlier Subscribe
action. If the token is valid, the action creates a new subscription and returns its Amazon Resource Name (ARN). This call requires an AWS signature only when the AuthenticateOnUnsubscribe
flag is set to \"true\".
Creates a platform application object for one of the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging), to which devices and mobile apps may register. You must specify PlatformPrincipal
and PlatformCredential
attributes when using the CreatePlatformApplication
action.
PlatformPrincipal
and PlatformCredential
are received from the notification service.
For ADM
, PlatformPrincipal
is client id
and PlatformCredential
is client secret
.
For Baidu
, PlatformPrincipal
is API key
and PlatformCredential
is secret key
.
For APNS
and APNS_SANDBOX
, PlatformPrincipal
is SSL certificate
and PlatformCredential
is private key
.
For GCM
(Firebase Cloud Messaging), there is no PlatformPrincipal
and the PlatformCredential
is API key
.
For MPNS
, PlatformPrincipal
is TLS certificate
and PlatformCredential
is private key
.
For WNS
, PlatformPrincipal
is Package Security Identifier
and PlatformCredential
is secret key
.
You can use the returned PlatformApplicationArn
as an attribute for the CreatePlatformEndpoint
action.
Creates an endpoint for a device and mobile app on one of the supported push notification services, such as GCM (Firebase Cloud Messaging) and APNS. CreatePlatformEndpoint
requires the PlatformApplicationArn
that is returned from CreatePlatformApplication
. You can use the returned EndpointArn
to send a message to a mobile app or by the Subscribe
action for subscription to a topic. The CreatePlatformEndpoint
action is idempotent, so if the requester already owns an endpoint with the same device token and attributes, that endpoint's ARN is returned without creating a new endpoint. For more information, see Using Amazon SNS Mobile Push Notifications.
When using CreatePlatformEndpoint
with Baidu, two attributes must be provided: ChannelId and UserId. The token field must also contain the ChannelId. For more information, see Creating an Amazon SNS Endpoint for Baidu.
Adds a destination phone number to an AWS account in the SMS sandbox and sends a one-time password (OTP) to that phone number.
When you start using Amazon SNS to send SMS messages, your AWS account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.
", "CreateTopic": "Creates a topic to which notifications can be published. Users can create at most 100,000 standard topics (at most 1,000 FIFO topics). For more information, see https://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.
", "DeleteEndpoint": "Deletes the endpoint for a device and mobile app from Amazon SNS. This action is idempotent. For more information, see Using Amazon SNS Mobile Push Notifications.
When you delete an endpoint that is also subscribed to a topic, then you must also unsubscribe the endpoint from the topic.
", "DeletePlatformApplication": "Deletes a platform application object for one of the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). For more information, see Using Amazon SNS Mobile Push Notifications.
", + "DeleteSMSSandboxPhoneNumber": "Deletes an AWS account's verified or pending phone number from the SMS sandbox.
When you start using Amazon SNS to send SMS messages, your AWS account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.
", "DeleteTopic": "Deletes a topic and all its subscriptions. Deleting a topic might prevent some messages previously sent to the topic from being delivered to subscribers. This action is idempotent, so deleting a topic that does not exist does not result in an error.
", "GetEndpointAttributes": "Retrieves the endpoint attributes for a device on one of the supported push notification services, such as GCM (Firebase Cloud Messaging) and APNS. For more information, see Using Amazon SNS Mobile Push Notifications.
", "GetPlatformApplicationAttributes": "Retrieves the attributes of the platform application object for the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). For more information, see Using Amazon SNS Mobile Push Notifications.
", "GetSMSAttributes": "Returns the settings for sending SMS messages from your account.
These settings are set with the SetSMSAttributes
action.
Retrieves the SMS sandbox status for the calling AWS account in the target AWS Region.
When you start using Amazon SNS to send SMS messages, your AWS account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.
", "GetSubscriptionAttributes": "Returns all of the properties of a subscription.
", "GetTopicAttributes": "Returns all of the properties of a topic. Topic properties returned might differ based on the authorization of the user.
", "ListEndpointsByPlatformApplication": "Lists the endpoints and endpoint attributes for devices in a supported push notification service, such as GCM (Firebase Cloud Messaging) and APNS. The results for ListEndpointsByPlatformApplication
are paginated and return a limited list of endpoints, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListEndpointsByPlatformApplication
again using the NextToken string received from the previous call. When there are no more records to return, NextToken will be null. For more information, see Using Amazon SNS Mobile Push Notifications.
This action is throttled at 30 transactions per second (TPS).
", + "ListOriginationNumbers": "Lists the calling AWS account's dedicated origination numbers and their metadata. For more information about origination numbers, see Origination numbers in the Amazon SNS Developer Guide.
", "ListPhoneNumbersOptedOut": "Returns a list of phone numbers that are opted out, meaning you cannot send SMS messages to them.
The results for ListPhoneNumbersOptedOut
are paginated, and each page returns up to 100 phone numbers. If additional phone numbers are available after the first page of results, then a NextToken
string will be returned. To receive the next page, you call ListPhoneNumbersOptedOut
again using the NextToken
string received from the previous call. When there are no more records to return, NextToken
will be null.
Lists the platform application objects for the supported push notification services, such as APNS and GCM (Firebase Cloud Messaging). The results for ListPlatformApplications
are paginated and return a limited list of applications, up to 100. If additional records are available after the first page results, then a NextToken string will be returned. To receive the next page, you call ListPlatformApplications
using the NextToken string received from the previous call. When there are no more records to return, NextToken
will be null. For more information, see Using Amazon SNS Mobile Push Notifications.
This action is throttled at 15 transactions per second (TPS).
", + "ListSMSSandboxPhoneNumbers": "Lists the calling AWS account's current verified and pending destination phone numbers in the SMS sandbox.
When you start using Amazon SNS to send SMS messages, your AWS account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.
", "ListSubscriptions": "Returns a list of the requester's subscriptions. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken
is also returned. Use the NextToken
parameter in a new ListSubscriptions
call to get further results.
This action is throttled at 30 transactions per second (TPS).
", "ListSubscriptionsByTopic": "Returns a list of the subscriptions to a specific topic. Each call returns a limited list of subscriptions, up to 100. If there are more subscriptions, a NextToken
is also returned. Use the NextToken
parameter in a new ListSubscriptionsByTopic
call to get further results.
This action is throttled at 30 transactions per second (TPS).
", "ListTagsForResource": "List all tags added to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon Simple Notification Service Developer Guide.
", @@ -34,7 +39,8 @@ "Subscribe": "Subscribes an endpoint to an Amazon SNS topic. If the endpoint type is HTTP/S or email, or if the endpoint and the topic are not in the same AWS account, the endpoint owner must run the ConfirmSubscription
action to confirm the subscription.
You call the ConfirmSubscription
action with the token from the subscription response. Confirmation tokens are valid for three days.
This action is throttled at 100 transactions per second (TPS).
", "TagResource": "Add tags to the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer Guide.
When you use topic tags, keep the following guidelines in mind:
Adding more than 50 tags to a topic isn't recommended.
Tags don't have any semantic meaning. Amazon SNS interprets tags as character strings.
Tags are case-sensitive.
A new tag with a key identical to that of an existing tag overwrites the existing tag.
Tagging actions are limited to 10 TPS per AWS account, per AWS region. If your application requires a higher throughput, file a technical support request.
Deletes a subscription. If the subscription requires authentication for deletion, only the owner of the subscription or the topic's owner can unsubscribe, and an AWS signature is required. If the Unsubscribe
call does not require authentication and the requester is not the subscription owner, a final cancellation message is delivered to the endpoint, so that the endpoint owner can easily resubscribe to the topic if the Unsubscribe
request was unintended.
This action is throttled at 100 transactions per second (TPS).
", - "UntagResource": "Remove tags from the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer Guide.
" + "UntagResource": "Remove tags from the specified Amazon SNS topic. For an overview, see Amazon SNS Tags in the Amazon SNS Developer Guide.
", + "VerifySMSSandboxPhoneNumber": "Verifies a destination phone number with a one-time password (OTP) for the calling AWS account.
When you start using Amazon SNS to send SMS messages, your AWS account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.
" }, "shapes": { "ActionsList": { @@ -112,6 +118,16 @@ "refs": { } }, + "CreateSMSSandboxPhoneNumberInput": { + "base": null, + "refs": { + } + }, + "CreateSMSSandboxPhoneNumberResult": { + "base": null, + "refs": { + } + }, "CreateTopicInput": { "base": "Input for CreateTopic action.
", "refs": { @@ -138,6 +154,16 @@ "refs": { } }, + "DeleteSMSSandboxPhoneNumberInput": { + "base": null, + "refs": { + } + }, + "DeleteSMSSandboxPhoneNumberResult": { + "base": null, + "refs": { + } + }, "DeleteTopicInput": { "base": null, "refs": { @@ -189,6 +215,16 @@ "refs": { } }, + "GetSMSSandboxAccountStatusInput": { + "base": null, + "refs": { + } + }, + "GetSMSSandboxAccountStatusResult": { + "base": null, + "refs": { + } + }, "GetSubscriptionAttributesInput": { "base": "Input for GetSubscriptionAttributes.
", "refs": { @@ -229,6 +265,12 @@ "refs": { } }, + "Iso2CountryCode": { + "base": "The two-character code, in ISO 3166-1 alpha-2 format, for the country or region. For example, GB or US.", + "refs": { + "PhoneNumberInformation$Iso2CountryCode": "The two-character code for the country or region, in ISO 3166-1 alpha-2 format.
" + } + }, "KMSAccessDeniedException": { "base": "The ciphertext references a key that doesn't exist or that you don't have access to.
", "refs": { @@ -259,6 +301,12 @@ "refs": { } }, + "LanguageCodeString": { + "base": "Supported language code for sending OTP message", + "refs": { + "CreateSMSSandboxPhoneNumberInput$LanguageCode": "The language to use for sending the OTP. The default value is en-US
.
Input for ListEndpointsByPlatformApplication action.
", "refs": { @@ -281,6 +329,16 @@ "ListPlatformApplicationsResponse$PlatformApplications": "Platform applications returned when calling ListPlatformApplications action.
" } }, + "ListOriginationNumbersRequest": { + "base": null, + "refs": { + } + }, + "ListOriginationNumbersResult": { + "base": null, + "refs": { + } + }, "ListPhoneNumbersOptedOutInput": { "base": "The input for the ListPhoneNumbersOptedOut
action.
For a list of attributes, see SetPlatformApplicationAttributes
", + "CreatePlatformApplicationInput$Attributes": "For a list of attributes, see SetPlatformApplicationAttributes.
", "CreatePlatformEndpointInput$Attributes": "For a list of attributes, see SetEndpointAttributes.
", "Endpoint$Attributes": "Attributes for endpoint.
", "GetEndpointAttributesResponse$Attributes": "Attributes include the following:
CustomUserData
– arbitrary user data to associate with the endpoint. Amazon SNS does not use this data. The data must be in UTF-8 format and less than 2KB.
Enabled
– flag that enables/disables delivery to the endpoint. Amazon SNS will set this to false when a notification service indicates to Amazon SNS that the endpoint is invalid. Users can set it back to true, typically after updating Token.
Token
– device token, also referred to as a registration id, for an app and mobile device. This is returned from the notification service when an app and mobile device are registered with the notification service.
The device token for the iOS platform is returned in lowercase.
The default settings for sending SMS messages from your account. You can set values for the following attribute names:
MonthlySpendLimit
– The maximum amount in USD that you are willing to spend each month to send SMS messages. When Amazon SNS determines that sending an SMS message would incur a cost that exceeds this limit, it stops sending SMS messages within minutes.
Amazon SNS stops sending SMS messages within minutes of the limit being crossed. During that interval, if you continue to send SMS messages, you will incur costs that exceed your limit.
By default, the spend limit is set to the maximum allowed by Amazon SNS. If you want to raise the limit, submit an SNS Limit Increase case. For New limit value, enter your desired monthly spend limit. In the Use Case Description field, explain that you are requesting an SMS monthly spend limit increase.
DeliveryStatusIAMRole
– The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs. For each SMS message that you send, Amazon SNS writes a log that includes the message price, the success or failure status, the reason for failure (if the message failed), the message dwell time, and other information.
DeliveryStatusSuccessSamplingRate
– The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value can be an integer from 0 - 100. For example, to write logs only for failed deliveries, set this value to 0
. To write logs for 10% of your successful deliveries, set it to 10
.
DefaultSenderID
– A string, such as your business brand, that is displayed as the sender on the receiving device. Support for sender IDs varies by country. The sender ID can be 1 - 11 alphanumeric characters, and it must contain at least one letter.
DefaultSMSType
– The type of SMS message that you will send by default. You can assign the following values:
Promotional
– (Default) Noncritical messages, such as marketing messages. Amazon SNS optimizes the message delivery to incur the lowest cost.
Transactional
– Critical messages that support customer transactions, such as one-time passcodes for multi-factor authentication. Amazon SNS optimizes the message delivery to achieve the highest reliability.
UsageReportS3Bucket
– The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS. Each day, Amazon SNS will deliver a usage report as a CSV file to the bucket. The report includes the following information for each SMS message that was successfully delivered by your account:
Time that the message was published (in UTC)
Message ID
Destination phone number
Message type
Delivery status
Message price (in USD)
Part number (a message is split into multiple parts if it is too long for a single message)
Total number of parts
To receive the report, the bucket must have a policy that allows the Amazon SNS service principle to perform the s3:PutObject
and s3:GetBucketLocation
actions.
For an example bucket policy and usage report, see Monitoring SMS Activity in the Amazon SNS Developer Guide.
" } }, + "MaxItems": { + "base": null, + "refs": { + "ListSMSSandboxPhoneNumbersInput$MaxResults": "The maximum number of phone numbers to return.
" + } + }, + "MaxItemsListOriginationNumbers": { + "base": null, + "refs": { + "ListOriginationNumbersRequest$MaxResults": "The maximum number of origination numbers to return.
" + } + }, "MessageAttributeMap": { "base": null, "refs": { @@ -379,6 +459,24 @@ "refs": { } }, + "NumberCapability": { + "base": "Enum listing out all supported number capabilities.", + "refs": { + "NumberCapabilityList$member": null + } + }, + "NumberCapabilityList": { + "base": "List of number capability (SMS,MMS,Voice).", + "refs": { + "PhoneNumberInformation$NumberCapabilities": "The capabilities of each phone number.
" + } + }, + "OTPCode": { + "base": "String of Origination/Destination address including phone numbers and email addresses", + "refs": { + "VerifySMSSandboxPhoneNumberInput$OneTimePassword": "The OTP sent to the destination number from the CreateSMSSandBoxPhoneNumber
call.
Input for the OptInPhoneNumber action.
", "refs": { @@ -389,6 +487,11 @@ "refs": { } }, + "OptedOutException": { + "base": "Indicates that the specified phone number opted out of receiving SMS messages from your AWS account. You can't send SMS messages to phone numbers that opt out.
", + "refs": { + } + }, "PhoneNumber": { "base": null, "refs": { @@ -397,12 +500,33 @@ "PhoneNumberList$member": null } }, + "PhoneNumberInformation": { + "base": "A list of phone numbers and their metadata.
", + "refs": { + "PhoneNumberInformationList$member": null + } + }, + "PhoneNumberInformationList": { + "base": "List of customer owned phone numbers.", + "refs": { + "ListOriginationNumbersResult$PhoneNumbers": "A list of the calling account's verified and pending origination numbers.
" + } + }, "PhoneNumberList": { "base": null, "refs": { "ListPhoneNumbersOptedOutResponse$phoneNumbers": "A list of phone numbers that are opted out of receiving SMS messages. The list is paginated, and each page can contain up to 100 phone numbers.
" } }, + "PhoneNumberString": { + "base": null, + "refs": { + "CreateSMSSandboxPhoneNumberInput$PhoneNumber": "The destination phone number to verify. On verification, Amazon SNS adds this phone number to the list of verified phone numbers that you can send SMS messages to.
", + "DeleteSMSSandboxPhoneNumberInput$PhoneNumber": "The destination phone number to delete.
", + "SMSSandboxPhoneNumber$PhoneNumber": "The destination phone number.
", + "VerifySMSSandboxPhoneNumberInput$PhoneNumber": "The destination phone number to verify.
" + } + }, "PlatformApplication": { "base": "Platform application object.
", "refs": { @@ -430,10 +554,34 @@ } }, "ResourceNotFoundException": { - "base": "Can't tag resource. Verify that the topic exists.
", + "base": "Can’t perform the action on the specified resource. Make sure that the resource exists.
", "refs": { } }, + "RouteType": { + "base": "Enum listing out all supported route types. The following enum values are supported. 1. Transactional : Non-marketing traffic 2. Promotional : Marketing 3. Premium : Premium routes for OTP delivery to the carriers", + "refs": { + "PhoneNumberInformation$RouteType": "The list of supported routes.
" + } + }, + "SMSSandboxPhoneNumber": { + "base": "A verified or pending destination phone number in the SMS sandbox.
When you start using Amazon SNS to send SMS messages, your AWS account is in the SMS sandbox. The SMS sandbox provides a safe environment for you to try Amazon SNS features without risking your reputation as an SMS sender. While your account is in the SMS sandbox, you can use all of the features of Amazon SNS. However, you can send SMS messages only to verified destination phone numbers. For more information, including how to move out of the sandbox to send messages without restrictions, see SMS sandbox in the Amazon SNS Developer Guide.
", + "refs": { + "SMSSandboxPhoneNumberList$member": null + } + }, + "SMSSandboxPhoneNumberList": { + "base": null, + "refs": { + "ListSMSSandboxPhoneNumbersResult$PhoneNumbers": "A list of the calling account's pending and verified phone numbers.
" + } + }, + "SMSSandboxPhoneNumberVerificationStatus": { + "base": "Enum listing out all supported destination phone number verification statuses. The following enum values are supported. 1. PENDING : The destination phone number is pending verification. 2. VERIFIED : The destination phone number is verified.", + "refs": { + "SMSSandboxPhoneNumber$Status": "The destination phone number's verification status.
" + } + }, "SetEndpointAttributesInput": { "base": "Input for SetEndpointAttributes action.
", "refs": { @@ -495,6 +643,8 @@ "MessageAttributeMap$key": null, "MessageAttributeValue$DataType": "Amazon SNS supports the following logical data types: String, String.Array, Number, and Binary. For more information, see Message Attribute Data Types.
", "MessageAttributeValue$StringValue": "Strings are Unicode with UTF8 binary encoding. For a list of code values, see ASCII Printable Characters.
", + "PhoneNumberInformation$PhoneNumber": "The phone number.
", + "PhoneNumberInformation$Status": "The status of the phone number.
", "PlatformApplication$PlatformApplicationArn": "PlatformApplicationArn for platform application object.
", "PublishInput$TargetArn": "If you don't specify a value for the TargetArn
parameter, you must specify a value for the PhoneNumber
or TopicArn
parameters.
The phone number to which you want to deliver an SMS message. Use E.164 format.
If you don't specify a value for the PhoneNumber
parameter, you must specify a value for the TargetArn
or TopicArn
parameters.
The date and time when the phone number was created.
" + } + }, "Topic": { "base": "A wrapper type for the topic's Amazon Resource Name (ARN). To retrieve a topic's attributes, use GetTopicAttributes
.
A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the CreateTopic
action uses:
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
DisplayName
– The display name to use for a topic with SMS subscriptions.
FifoTopic
– Set to true to create a FIFO topic.
Policy
– The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.
The following attribute applies only to server-side-encryption:
KmsMasterKeyId
– The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
The following attributes apply only to FIFO topics:
FifoTopic
– When this is set to true
, a FIFO topic is created.
ContentBasedDeduplication
– Enables content-based deduplication for FIFO topics.
By default, ContentBasedDeduplication
is set to false
. If you create a FIFO topic and this attribute is false
, you must specify a value for the MessageDeduplicationId
parameter for the Publish action.
When you set ContentBasedDeduplication
to true
, Amazon SNS uses a SHA-256 hash to generate the MessageDeduplicationId
using the body of the message (but not the attributes of the message).
(Optional) To override the generated value, you can specify a value for the the MessageDeduplicationId
parameter for the Publish
action.
A map of the topic's attributes. Attributes in this map include the following:
DeliveryPolicy
– The JSON serialization of the topic's delivery policy.
DisplayName
– The human-readable name used in the From
field for notifications to email
and email-json
endpoints.
Owner
– The AWS account ID of the topic's owner.
Policy
– The JSON serialization of the topic's access control policy.
SubscriptionsConfirmed
– The number of confirmed subscriptions for the topic.
SubscriptionsDeleted
– The number of deleted subscriptions for the topic.
SubscriptionsPending
– The number of subscriptions pending confirmation for the topic.
TopicArn
– The topic's ARN.
EffectiveDeliveryPolicy
– The JSON serialization of the effective delivery policy, taking system defaults into account.
The following attribute applies only to server-side-encryption:
KmsMasterKeyId
- The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
The following attributes apply only to FIFO topics:
FifoTopic
– When this is set to true
, a FIFO topic is created.
ContentBasedDeduplication
– Enables content-based deduplication for FIFO topics.
By default, ContentBasedDeduplication
is set to false
. If you create a FIFO topic and this attribute is false
, you must specify a value for the MessageDeduplicationId
parameter for the Publish action.
When you set ContentBasedDeduplication
to true
, Amazon SNS uses a SHA-256 hash to generate the MessageDeduplicationId
using the body of the message (but not the attributes of the message).
(Optional) To override the generated value, you can specify a value for the the MessageDeduplicationId
parameter for the Publish
action.
A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the CreateTopic
action uses:
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
DisplayName
– The display name to use for a topic with SMS subscriptions.
FifoTopic
– Set to true to create a FIFO topic.
Policy
– The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.
The following attribute applies only to server-side encryption:
KmsMasterKeyId
– The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
The following attributes apply only to FIFO topics:
FifoTopic
– When this is set to true
, a FIFO topic is created.
ContentBasedDeduplication
– Enables content-based deduplication for FIFO topics.
By default, ContentBasedDeduplication
is set to false
. If you create a FIFO topic and this attribute is false
, you must specify a value for the MessageDeduplicationId
parameter for the Publish action.
When you set ContentBasedDeduplication
to true
, Amazon SNS uses a SHA-256 hash to generate the MessageDeduplicationId
using the body of the message (but not the attributes of the message).
(Optional) To override the generated value, you can specify a value for the MessageDeduplicationId
parameter for the Publish
action.
A map of the topic's attributes. Attributes in this map include the following:
DeliveryPolicy
– The JSON serialization of the topic's delivery policy.
DisplayName
– The human-readable name used in the From
field for notifications to email
and email-json
endpoints.
Owner
– The AWS account ID of the topic's owner.
Policy
– The JSON serialization of the topic's access control policy.
SubscriptionsConfirmed
– The number of confirmed subscriptions for the topic.
SubscriptionsDeleted
– The number of deleted subscriptions for the topic.
SubscriptionsPending
– The number of subscriptions pending confirmation for the topic.
TopicArn
– The topic's ARN.
EffectiveDeliveryPolicy
– The JSON serialization of the effective delivery policy, taking system defaults into account.
The following attribute applies only to server-side-encryption:
KmsMasterKeyId
- The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
The following attributes apply only to FIFO topics:
FifoTopic
– When this is set to true
, a FIFO topic is created.
ContentBasedDeduplication
– Enables content-based deduplication for FIFO topics.
By default, ContentBasedDeduplication
is set to false
. If you create a FIFO topic and this attribute is false
, you must specify a value for the MessageDeduplicationId
parameter for the Publish action.
When you set ContentBasedDeduplication
to true
, Amazon SNS uses a SHA-256 hash to generate the MessageDeduplicationId
using the body of the message (but not the attributes of the message).
(Optional) To override the generated value, you can specify a value for the MessageDeduplicationId
parameter for the Publish
action.
Indicates that a request parameter does not comply with the associated constraints.
", + "refs": { + } + }, + "ValidationException": { + "base": "Indicates that a parameter in the request is invalid.
", + "refs": { + } + }, + "VerificationException": { + "base": "Indicates that the one-time password (OTP) used for verification is invalid.
", + "refs": { + } + }, + "VerifySMSSandboxPhoneNumberInput": { + "base": null, + "refs": { + } + }, + "VerifySMSSandboxPhoneNumberResult": { + "base": "The destination phone number's verification status.
", + "refs": { + } + }, "account": { "base": null, "refs": { @@ -653,7 +834,7 @@ "base": null, "refs": { "SetSubscriptionAttributesInput$AttributeName": "A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that this action uses:
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
FilterPolicy
– The simple JSON object that lets your subscriber receive only a subset of messages, rather than receiving every message published to the topic.
RawMessageDelivery
– When set to true
, enables raw message delivery to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints to process JSON formatting, which is otherwise created for Amazon SNS metadata.
RedrivePolicy
– When specified, sends undeliverable messages to the specified Amazon SQS dead-letter queue. Messages that can't be delivered due to client errors (for example, when the subscribed endpoint is unreachable) or server errors (for example, when the service that powers the subscribed endpoint becomes unavailable) are held in the dead-letter queue for further analysis or reprocessing.
The following attribute applies only to Amazon Kinesis Data Firehose delivery stream subscriptions:
SubscriptionRoleArn
– The ARN of the IAM role that has the following:
Permission to write to the Kinesis Data Firehose delivery stream
Amazon SNS listed as a trusted entity
Specifying a valid ARN for this attribute is required for Kinesis Data Firehose delivery stream subscriptions. For more information, see Fanout to Kinesis Data Firehose delivery streams in the Amazon SNS Developer Guide.
A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes
action uses:
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
DisplayName
– The display name to use for a topic with SMS subscriptions.
Policy
– The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.
The following attribute applies only to server-side-encryption:
KmsMasterKeyId
– The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
The following attribute applies only to FIFO topics:
ContentBasedDeduplication
– Enables content-based deduplication for FIFO topics.
By default, ContentBasedDeduplication
is set to false
. If you create a FIFO topic and this attribute is false
, you must specify a value for the MessageDeduplicationId
parameter for the Publish action.
When you set ContentBasedDeduplication
to true
, Amazon SNS uses a SHA-256 hash to generate the MessageDeduplicationId
using the body of the message (but not the attributes of the message).
(Optional) To override the generated value, you can specify a value for the the MessageDeduplicationId
parameter for the Publish
action.
A map of attributes with their corresponding values.
The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes
action uses:
DeliveryPolicy
– The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.
DisplayName
– The display name to use for a topic with SMS subscriptions.
Policy
– The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.
The following attribute applies only to server-side-encryption:
KmsMasterKeyId
– The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.
The following attribute applies only to FIFO topics:
ContentBasedDeduplication
– Enables content-based deduplication for FIFO topics.
By default, ContentBasedDeduplication
is set to false
. If you create a FIFO topic and this attribute is false
, you must specify a value for the MessageDeduplicationId
parameter for the Publish action.
When you set ContentBasedDeduplication
to true
, Amazon SNS uses a SHA-256 hash to generate the MessageDeduplicationId
using the body of the message (but not the attributes of the message).
(Optional) To override the generated value, you can specify a value for the MessageDeduplicationId
parameter for the Publish
action.
Indicates whether the phone number is opted out:
true
– The phone number is opted out, meaning you cannot publish SMS messages to it.
false
– The phone number is opted in, meaning you can publish SMS messages to it.
Indicates whether the calling account is in the SMS sandbox.
", "SubscribeInput$ReturnSubscriptionArn": "Sets whether the response from the Subscribe
request includes the subscription ARN, even if the subscription is not yet confirmed.
If you set this parameter to true
, the response includes the ARN in all cases, even if the subscription is not yet confirmed. In addition to the ARN for confirmed subscriptions, the response also includes the pending subscription
ARN value for subscriptions that aren't yet confirmed. A subscription becomes confirmed when the subscriber calls the ConfirmSubscription
action with a confirmation token.
The default value is false
.
Token that the previous ListOriginationNumbers
request returns.
A NextToken
string is returned when you call the ListOriginationNumbers
operation if additional pages of records are available.
Token that the previous ListSMSSandboxPhoneNumbersInput
request returns.
Token returned by the previous ListSubscriptionsByTopic
request.
Token to pass along to the next ListSubscriptionsByTopic
request. This element is returned if there are more subscriptions to retrieve.
Token returned by the previous ListSubscriptions
request.
A NextToken
string is used when you call the ListPhoneNumbersOptedOut
action to retrieve additional records that are available after the first page of results.
A NextToken
string is returned when you call the ListPhoneNumbersOptedOut
action if additional records are available after the first page of results.
A NextToken
string is returned when you call the ListSMSSandboxPhoneNumbersInput
operation if additional pages of records are available.
Message for platform application disabled.
", "ResourceNotFoundException$message": null, "StaleTagException$message": null, @@ -763,7 +950,11 @@ "TagLimitExceededException$message": null, "TagPolicyException$message": null, "ThrottledException$message": "Throttled request.
", - "TopicLimitExceededException$message": null + "TopicLimitExceededException$message": null, + "UserErrorException$message": null, + "ValidationException$Message": null, + "VerificationException$Message": null, + "VerificationException$Status": "The status of the verification error.
" } }, "subject": { diff --git a/models/apis/sns/2010-03-31/paginators-1.json b/models/apis/sns/2010-03-31/paginators-1.json index df5bc6bdd71..556f76acdef 100644 --- a/models/apis/sns/2010-03-31/paginators-1.json +++ b/models/apis/sns/2010-03-31/paginators-1.json @@ -5,11 +5,23 @@ "output_token": "NextToken", "result_key": "Endpoints" }, + "ListOriginationNumbers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PhoneNumbers" + }, "ListPlatformApplications": { "input_token": "NextToken", "output_token": "NextToken", "result_key": "PlatformApplications" }, + "ListSMSSandboxPhoneNumbers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "PhoneNumbers" + }, "ListSubscriptions": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/service/ec2/api.go b/service/ec2/api.go index 8550cffea5e..4e8d63f28ca 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -53590,6 +53590,10 @@ func (s *CreateNetworkInsightsPathOutput) SetNetworkInsightsPath(v *NetworkInsig type CreateNetworkInterfaceInput struct { _ struct{} `type:"structure"` + // Unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. For more information, see Ensuring Idempotency (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). + ClientToken *string `type:"string" idempotencyToken:"true"` + // A description for the network interface. Description *string `locationName:"description" type:"string"` @@ -53671,6 +53675,12 @@ func (s *CreateNetworkInterfaceInput) Validate() error { return nil } +// SetClientToken sets the ClientToken field's value. +func (s *CreateNetworkInterfaceInput) SetClientToken(v string) *CreateNetworkInterfaceInput { + s.ClientToken = &v + return s +} + // SetDescription sets the Description field's value. func (s *CreateNetworkInterfaceInput) SetDescription(v string) *CreateNetworkInterfaceInput { s.Description = &v @@ -53741,6 +53751,10 @@ func (s *CreateNetworkInterfaceInput) SetTagSpecifications(v []*TagSpecification type CreateNetworkInterfaceOutput struct { _ struct{} `type:"structure"` + // The token to use to retrieve the next page of results. This value is null + // when there are no more results to return. + ClientToken *string `locationName:"clientToken" type:"string"` + // Information about the network interface. NetworkInterface *NetworkInterface `locationName:"networkInterface" type:"structure"` } @@ -53755,6 +53769,12 @@ func (s CreateNetworkInterfaceOutput) GoString() string { return s.String() } +// SetClientToken sets the ClientToken field's value. +func (s *CreateNetworkInterfaceOutput) SetClientToken(v string) *CreateNetworkInterfaceOutput { + s.ClientToken = &v + return s +} + // SetNetworkInterface sets the NetworkInterface field's value. func (s *CreateNetworkInterfaceOutput) SetNetworkInterface(v *NetworkInterface) *CreateNetworkInterfaceOutput { s.NetworkInterface = v diff --git a/service/iotwireless/api.go b/service/iotwireless/api.go index 554aa5e008c..e797451a9e7 100644 --- a/service/iotwireless/api.go +++ b/service/iotwireless/api.go @@ -2248,6 +2248,98 @@ func (c *IoTWireless) GetDeviceProfileWithContext(ctx aws.Context, input *GetDev return out, req.Send() } +const opGetLogLevelsByResourceTypes = "GetLogLevelsByResourceTypes" + +// GetLogLevelsByResourceTypesRequest generates a "aws/request.Request" representing the +// client's request for the GetLogLevelsByResourceTypes operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetLogLevelsByResourceTypes for more information on using the GetLogLevelsByResourceTypes +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetLogLevelsByResourceTypesRequest method. +// req, resp := client.GetLogLevelsByResourceTypesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetLogLevelsByResourceTypes +func (c *IoTWireless) GetLogLevelsByResourceTypesRequest(input *GetLogLevelsByResourceTypesInput) (req *request.Request, output *GetLogLevelsByResourceTypesOutput) { + op := &request.Operation{ + Name: opGetLogLevelsByResourceTypes, + HTTPMethod: "GET", + HTTPPath: "/log-levels", + } + + if input == nil { + input = &GetLogLevelsByResourceTypesInput{} + } + + output = &GetLogLevelsByResourceTypesOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetLogLevelsByResourceTypes API operation for AWS IoT Wireless. +// +// Returns current default log-levels, or log levels by resource types, could +// be for wireless device log options or wireless gateway log options. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Wireless's +// API operation GetLogLevelsByResourceTypes for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// * ValidationException +// The input did not meet the specified constraints. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetLogLevelsByResourceTypes +func (c *IoTWireless) GetLogLevelsByResourceTypes(input *GetLogLevelsByResourceTypesInput) (*GetLogLevelsByResourceTypesOutput, error) { + req, out := c.GetLogLevelsByResourceTypesRequest(input) + return out, req.Send() +} + +// GetLogLevelsByResourceTypesWithContext is the same as GetLogLevelsByResourceTypes with the addition of +// the ability to pass a context and additional request options. +// +// See GetLogLevelsByResourceTypes for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTWireless) GetLogLevelsByResourceTypesWithContext(ctx aws.Context, input *GetLogLevelsByResourceTypesInput, opts ...request.Option) (*GetLogLevelsByResourceTypesOutput, error) { + req, out := c.GetLogLevelsByResourceTypesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetPartnerAccount = "GetPartnerAccount" // GetPartnerAccountRequest generates a "aws/request.Request" representing the @@ -2337,6 +2429,98 @@ func (c *IoTWireless) GetPartnerAccountWithContext(ctx aws.Context, input *GetPa return out, req.Send() } +const opGetResourceLogLevel = "GetResourceLogLevel" + +// GetResourceLogLevelRequest generates a "aws/request.Request" representing the +// client's request for the GetResourceLogLevel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetResourceLogLevel for more information on using the GetResourceLogLevel +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetResourceLogLevelRequest method. +// req, resp := client.GetResourceLogLevelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetResourceLogLevel +func (c *IoTWireless) GetResourceLogLevelRequest(input *GetResourceLogLevelInput) (req *request.Request, output *GetResourceLogLevelOutput) { + op := &request.Operation{ + Name: opGetResourceLogLevel, + HTTPMethod: "GET", + HTTPPath: "/log-levels/{ResourceIdentifier}", + } + + if input == nil { + input = &GetResourceLogLevelInput{} + } + + output = &GetResourceLogLevelOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetResourceLogLevel API operation for AWS IoT Wireless. +// +// Fetches the log-level override if any for a given resource-ID and resource-type, +// coulde be a wireless device or a wireless gateway. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Wireless's +// API operation GetResourceLogLevel for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// * ValidationException +// The input did not meet the specified constraints. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/GetResourceLogLevel +func (c *IoTWireless) GetResourceLogLevel(input *GetResourceLogLevelInput) (*GetResourceLogLevelOutput, error) { + req, out := c.GetResourceLogLevelRequest(input) + return out, req.Send() +} + +// GetResourceLogLevelWithContext is the same as GetResourceLogLevel with the addition of +// the ability to pass a context and additional request options. +// +// See GetResourceLogLevel for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTWireless) GetResourceLogLevelWithContext(ctx aws.Context, input *GetResourceLogLevelInput, opts ...request.Option) (*GetResourceLogLevelOutput, error) { + req, out := c.GetResourceLogLevelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetServiceEndpoint = "GetServiceEndpoint" // GetServiceEndpointRequest generates a "aws/request.Request" representing the @@ -4243,62 +4427,67 @@ func (c *IoTWireless) ListWirelessGatewaysPagesWithContext(ctx aws.Context, inpu return p.Err() } -const opSendDataToWirelessDevice = "SendDataToWirelessDevice" +const opPutResourceLogLevel = "PutResourceLogLevel" -// SendDataToWirelessDeviceRequest generates a "aws/request.Request" representing the -// client's request for the SendDataToWirelessDevice operation. The "output" return +// PutResourceLogLevelRequest generates a "aws/request.Request" representing the +// client's request for the PutResourceLogLevel operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See SendDataToWirelessDevice for more information on using the SendDataToWirelessDevice +// See PutResourceLogLevel for more information on using the PutResourceLogLevel // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the SendDataToWirelessDeviceRequest method. -// req, resp := client.SendDataToWirelessDeviceRequest(params) +// // Example sending a request using the PutResourceLogLevelRequest method. +// req, resp := client.PutResourceLogLevelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/SendDataToWirelessDevice -func (c *IoTWireless) SendDataToWirelessDeviceRequest(input *SendDataToWirelessDeviceInput) (req *request.Request, output *SendDataToWirelessDeviceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/PutResourceLogLevel +func (c *IoTWireless) PutResourceLogLevelRequest(input *PutResourceLogLevelInput) (req *request.Request, output *PutResourceLogLevelOutput) { op := &request.Operation{ - Name: opSendDataToWirelessDevice, - HTTPMethod: "POST", - HTTPPath: "/wireless-devices/{Id}/data", + Name: opPutResourceLogLevel, + HTTPMethod: "PUT", + HTTPPath: "/log-levels/{ResourceIdentifier}", } if input == nil { - input = &SendDataToWirelessDeviceInput{} + input = &PutResourceLogLevelInput{} } - output = &SendDataToWirelessDeviceOutput{} + output = &PutResourceLogLevelOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// SendDataToWirelessDevice API operation for AWS IoT Wireless. +// PutResourceLogLevel API operation for AWS IoT Wireless. // -// Sends a decrypted application data frame to a device. +// Sets the log-level override for a resource-ID and resource-type, could be +// a wireless gateway or a wireless device. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Wireless's -// API operation SendDataToWirelessDevice for usage and error information. +// API operation PutResourceLogLevel for usage and error information. // // Returned Error Types: -// * ValidationException -// The input did not meet the specified constraints. +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. // // * ResourceNotFoundException // Resource does not exist. @@ -4306,182 +4495,185 @@ func (c *IoTWireless) SendDataToWirelessDeviceRequest(input *SendDataToWirelessD // * ThrottlingException // The request was denied because it exceeded the allowed API request rate. // -// * InternalServerException -// An unexpected error occurred while processing a request. +// * ValidationException +// The input did not meet the specified constraints. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/SendDataToWirelessDevice -func (c *IoTWireless) SendDataToWirelessDevice(input *SendDataToWirelessDeviceInput) (*SendDataToWirelessDeviceOutput, error) { - req, out := c.SendDataToWirelessDeviceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/PutResourceLogLevel +func (c *IoTWireless) PutResourceLogLevel(input *PutResourceLogLevelInput) (*PutResourceLogLevelOutput, error) { + req, out := c.PutResourceLogLevelRequest(input) return out, req.Send() } -// SendDataToWirelessDeviceWithContext is the same as SendDataToWirelessDevice with the addition of +// PutResourceLogLevelWithContext is the same as PutResourceLogLevel with the addition of // the ability to pass a context and additional request options. // -// See SendDataToWirelessDevice for details on how to use this API operation. +// See PutResourceLogLevel for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTWireless) SendDataToWirelessDeviceWithContext(ctx aws.Context, input *SendDataToWirelessDeviceInput, opts ...request.Option) (*SendDataToWirelessDeviceOutput, error) { - req, out := c.SendDataToWirelessDeviceRequest(input) +func (c *IoTWireless) PutResourceLogLevelWithContext(ctx aws.Context, input *PutResourceLogLevelInput, opts ...request.Option) (*PutResourceLogLevelOutput, error) { + req, out := c.PutResourceLogLevelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +const opResetAllResourceLogLevels = "ResetAllResourceLogLevels" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// ResetAllResourceLogLevelsRequest generates a "aws/request.Request" representing the +// client's request for the ResetAllResourceLogLevels operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TagResource for more information on using the TagResource +// See ResetAllResourceLogLevels for more information on using the ResetAllResourceLogLevels // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the ResetAllResourceLogLevelsRequest method. +// req, resp := client.ResetAllResourceLogLevelsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TagResource -func (c *IoTWireless) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ResetAllResourceLogLevels +func (c *IoTWireless) ResetAllResourceLogLevelsRequest(input *ResetAllResourceLogLevelsInput) (req *request.Request, output *ResetAllResourceLogLevelsOutput) { op := &request.Operation{ - Name: opTagResource, - HTTPMethod: "POST", - HTTPPath: "/tags", + Name: opResetAllResourceLogLevels, + HTTPMethod: "DELETE", + HTTPPath: "/log-levels", } if input == nil { - input = &TagResourceInput{} + input = &ResetAllResourceLogLevelsInput{} } - output = &TagResourceOutput{} + output = &ResetAllResourceLogLevelsOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for AWS IoT Wireless. +// ResetAllResourceLogLevels API operation for AWS IoT Wireless. // -// Adds a tag to a resource. +// Remove log-level overrides if any for all resources (both wireless devices +// and wireless gateways). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Wireless's -// API operation TagResource for usage and error information. +// API operation ResetAllResourceLogLevels for usage and error information. // // Returned Error Types: -// * ValidationException -// The input did not meet the specified constraints. -// -// * ResourceNotFoundException -// Resource does not exist. -// -// * ConflictException -// Adding, updating, or deleting the resource can cause an inconsistent state. +// * AccessDeniedException +// User does not have permission to perform this action. // // * InternalServerException // An unexpected error occurred while processing a request. // +// * ResourceNotFoundException +// Resource does not exist. +// // * ThrottlingException // The request was denied because it exceeded the allowed API request rate. // -// * TooManyTagsException -// The request was denied because the resource can't have any more tags. +// * ValidationException +// The input did not meet the specified constraints. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TagResource -func (c *IoTWireless) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ResetAllResourceLogLevels +func (c *IoTWireless) ResetAllResourceLogLevels(input *ResetAllResourceLogLevelsInput) (*ResetAllResourceLogLevelsOutput, error) { + req, out := c.ResetAllResourceLogLevelsRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// ResetAllResourceLogLevelsWithContext is the same as ResetAllResourceLogLevels with the addition of // the ability to pass a context and additional request options. // -// See TagResource for details on how to use this API operation. +// See ResetAllResourceLogLevels for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTWireless) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *IoTWireless) ResetAllResourceLogLevelsWithContext(ctx aws.Context, input *ResetAllResourceLogLevelsInput, opts ...request.Option) (*ResetAllResourceLogLevelsOutput, error) { + req, out := c.ResetAllResourceLogLevelsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTestWirelessDevice = "TestWirelessDevice" +const opResetResourceLogLevel = "ResetResourceLogLevel" -// TestWirelessDeviceRequest generates a "aws/request.Request" representing the -// client's request for the TestWirelessDevice operation. The "output" return +// ResetResourceLogLevelRequest generates a "aws/request.Request" representing the +// client's request for the ResetResourceLogLevel operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TestWirelessDevice for more information on using the TestWirelessDevice +// See ResetResourceLogLevel for more information on using the ResetResourceLogLevel // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the TestWirelessDeviceRequest method. -// req, resp := client.TestWirelessDeviceRequest(params) +// // Example sending a request using the ResetResourceLogLevelRequest method. +// req, resp := client.ResetResourceLogLevelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TestWirelessDevice -func (c *IoTWireless) TestWirelessDeviceRequest(input *TestWirelessDeviceInput) (req *request.Request, output *TestWirelessDeviceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ResetResourceLogLevel +func (c *IoTWireless) ResetResourceLogLevelRequest(input *ResetResourceLogLevelInput) (req *request.Request, output *ResetResourceLogLevelOutput) { op := &request.Operation{ - Name: opTestWirelessDevice, - HTTPMethod: "POST", - HTTPPath: "/wireless-devices/{Id}/test", + Name: opResetResourceLogLevel, + HTTPMethod: "DELETE", + HTTPPath: "/log-levels/{ResourceIdentifier}", } if input == nil { - input = &TestWirelessDeviceInput{} + input = &ResetResourceLogLevelInput{} } - output = &TestWirelessDeviceOutput{} + output = &ResetResourceLogLevelOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TestWirelessDevice API operation for AWS IoT Wireless. +// ResetResourceLogLevel API operation for AWS IoT Wireless. // -// Simulates a provisioned device by sending an uplink data payload of Hello. +// Remove log-level override if any for a specific resource-ID and resource-type, +// could be a wireless device or a wireless gateway. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Wireless's -// API operation TestWirelessDevice for usage and error information. +// API operation ResetResourceLogLevel for usage and error information. // // Returned Error Types: -// * ValidationException -// The input did not meet the specified constraints. +// * AccessDeniedException +// User does not have permission to perform this action. +// +// * InternalServerException +// An unexpected error occurred while processing a request. // // * ResourceNotFoundException // Resource does not exist. @@ -4489,36 +4681,307 @@ func (c *IoTWireless) TestWirelessDeviceRequest(input *TestWirelessDeviceInput) // * ThrottlingException // The request was denied because it exceeded the allowed API request rate. // -// * InternalServerException -// An unexpected error occurred while processing a request. +// * ValidationException +// The input did not meet the specified constraints. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TestWirelessDevice -func (c *IoTWireless) TestWirelessDevice(input *TestWirelessDeviceInput) (*TestWirelessDeviceOutput, error) { - req, out := c.TestWirelessDeviceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/ResetResourceLogLevel +func (c *IoTWireless) ResetResourceLogLevel(input *ResetResourceLogLevelInput) (*ResetResourceLogLevelOutput, error) { + req, out := c.ResetResourceLogLevelRequest(input) return out, req.Send() } -// TestWirelessDeviceWithContext is the same as TestWirelessDevice with the addition of +// ResetResourceLogLevelWithContext is the same as ResetResourceLogLevel with the addition of // the ability to pass a context and additional request options. // -// See TestWirelessDevice for details on how to use this API operation. +// See ResetResourceLogLevel for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTWireless) TestWirelessDeviceWithContext(ctx aws.Context, input *TestWirelessDeviceInput, opts ...request.Option) (*TestWirelessDeviceOutput, error) { - req, out := c.TestWirelessDeviceRequest(input) +func (c *IoTWireless) ResetResourceLogLevelWithContext(ctx aws.Context, input *ResetResourceLogLevelInput, opts ...request.Option) (*ResetResourceLogLevelOutput, error) { + req, out := c.ResetResourceLogLevelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opSendDataToWirelessDevice = "SendDataToWirelessDevice" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return -// value will be populated with the request's response once the request completes +// SendDataToWirelessDeviceRequest generates a "aws/request.Request" representing the +// client's request for the SendDataToWirelessDevice operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SendDataToWirelessDevice for more information on using the SendDataToWirelessDevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the SendDataToWirelessDeviceRequest method. +// req, resp := client.SendDataToWirelessDeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/SendDataToWirelessDevice +func (c *IoTWireless) SendDataToWirelessDeviceRequest(input *SendDataToWirelessDeviceInput) (req *request.Request, output *SendDataToWirelessDeviceOutput) { + op := &request.Operation{ + Name: opSendDataToWirelessDevice, + HTTPMethod: "POST", + HTTPPath: "/wireless-devices/{Id}/data", + } + + if input == nil { + input = &SendDataToWirelessDeviceInput{} + } + + output = &SendDataToWirelessDeviceOutput{} + req = c.newRequest(op, input, output) + return +} + +// SendDataToWirelessDevice API operation for AWS IoT Wireless. +// +// Sends a decrypted application data frame to a device. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Wireless's +// API operation SendDataToWirelessDevice for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/SendDataToWirelessDevice +func (c *IoTWireless) SendDataToWirelessDevice(input *SendDataToWirelessDeviceInput) (*SendDataToWirelessDeviceOutput, error) { + req, out := c.SendDataToWirelessDeviceRequest(input) + return out, req.Send() +} + +// SendDataToWirelessDeviceWithContext is the same as SendDataToWirelessDevice with the addition of +// the ability to pass a context and additional request options. +// +// See SendDataToWirelessDevice for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTWireless) SendDataToWirelessDeviceWithContext(ctx aws.Context, input *SendDataToWirelessDeviceInput, opts ...request.Option) (*SendDataToWirelessDeviceOutput, error) { + req, out := c.SendDataToWirelessDeviceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TagResource +func (c *IoTWireless) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS IoT Wireless. +// +// Adds a tag to a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Wireless's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// * TooManyTagsException +// The request was denied because the resource can't have any more tags. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TagResource +func (c *IoTWireless) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTWireless) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTestWirelessDevice = "TestWirelessDevice" + +// TestWirelessDeviceRequest generates a "aws/request.Request" representing the +// client's request for the TestWirelessDevice operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TestWirelessDevice for more information on using the TestWirelessDevice +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TestWirelessDeviceRequest method. +// req, resp := client.TestWirelessDeviceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TestWirelessDevice +func (c *IoTWireless) TestWirelessDeviceRequest(input *TestWirelessDeviceInput) (req *request.Request, output *TestWirelessDeviceOutput) { + op := &request.Operation{ + Name: opTestWirelessDevice, + HTTPMethod: "POST", + HTTPPath: "/wireless-devices/{Id}/test", + } + + if input == nil { + input = &TestWirelessDeviceInput{} + } + + output = &TestWirelessDeviceOutput{} + req = c.newRequest(op, input, output) + return +} + +// TestWirelessDevice API operation for AWS IoT Wireless. +// +// Simulates a provisioned device by sending an uplink data payload of Hello. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type 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 Wireless's +// API operation TestWirelessDevice for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/TestWirelessDevice +func (c *IoTWireless) TestWirelessDevice(input *TestWirelessDeviceInput) (*TestWirelessDeviceOutput, error) { + req, out := c.TestWirelessDeviceRequest(input) + return out, req.Send() +} + +// TestWirelessDeviceWithContext is the same as TestWirelessDevice with the addition of +// the ability to pass a context and additional request options. +// +// See TestWirelessDevice for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTWireless) TestWirelessDeviceWithContext(ctx aws.Context, input *TestWirelessDeviceInput, opts ...request.Option) (*TestWirelessDeviceOutput, error) { + req, out := c.TestWirelessDeviceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. @@ -4557,16 +5020,108 @@ func (c *IoTWireless) UntagResourceRequest(input *UntagResourceInput) (req *requ return } -// UntagResource API operation for AWS IoT Wireless. +// UntagResource API operation for AWS IoT Wireless. +// +// Removes one or more tags from a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT Wireless's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The input did not meet the specified constraints. +// +// * ResourceNotFoundException +// Resource does not exist. +// +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// +// * InternalServerException +// An unexpected error occurred while processing a request. +// +// * ThrottlingException +// The request was denied because it exceeded the allowed API request rate. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UntagResource +func (c *IoTWireless) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTWireless) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateDestination = "UpdateDestination" + +// UpdateDestinationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDestination operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateDestination for more information on using the UpdateDestination +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UpdateDestinationRequest method. +// req, resp := client.UpdateDestinationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateDestination +func (c *IoTWireless) UpdateDestinationRequest(input *UpdateDestinationInput) (req *request.Request, output *UpdateDestinationOutput) { + op := &request.Operation{ + Name: opUpdateDestination, + HTTPMethod: "PATCH", + HTTPPath: "/destinations/{Name}", + } + + if input == nil { + input = &UpdateDestinationInput{} + } + + output = &UpdateDestinationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateDestination API operation for AWS IoT Wireless. // -// Removes one or more tags from a resource. +// Updates properties of a destination. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS IoT Wireless's -// API operation UntagResource for usage and error information. +// API operation UpdateDestination for usage and error information. // // Returned Error Types: // * ValidationException @@ -4575,8 +5130,8 @@ func (c *IoTWireless) UntagResourceRequest(input *UntagResourceInput) (req *requ // * ResourceNotFoundException // Resource does not exist. // -// * ConflictException -// Adding, updating, or deleting the resource can cause an inconsistent state. +// * AccessDeniedException +// User does not have permission to perform this action. // // * InternalServerException // An unexpected error occurred while processing a request. @@ -4584,115 +5139,120 @@ func (c *IoTWireless) UntagResourceRequest(input *UntagResourceInput) (req *requ // * ThrottlingException // The request was denied because it exceeded the allowed API request rate. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UntagResource -func (c *IoTWireless) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateDestination +func (c *IoTWireless) UpdateDestination(input *UpdateDestinationInput) (*UpdateDestinationOutput, error) { + req, out := c.UpdateDestinationRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// UpdateDestinationWithContext is the same as UpdateDestination with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See UpdateDestination for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTWireless) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *IoTWireless) UpdateDestinationWithContext(ctx aws.Context, input *UpdateDestinationInput, opts ...request.Option) (*UpdateDestinationOutput, error) { + req, out := c.UpdateDestinationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateDestination = "UpdateDestination" +const opUpdateLogLevelsByResourceTypes = "UpdateLogLevelsByResourceTypes" -// UpdateDestinationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateDestination operation. The "output" return +// UpdateLogLevelsByResourceTypesRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLogLevelsByResourceTypes operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateDestination for more information on using the UpdateDestination +// See UpdateLogLevelsByResourceTypes for more information on using the UpdateLogLevelsByResourceTypes // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateDestinationRequest method. -// req, resp := client.UpdateDestinationRequest(params) +// // Example sending a request using the UpdateLogLevelsByResourceTypesRequest method. +// req, resp := client.UpdateLogLevelsByResourceTypesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateDestination -func (c *IoTWireless) UpdateDestinationRequest(input *UpdateDestinationInput) (req *request.Request, output *UpdateDestinationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateLogLevelsByResourceTypes +func (c *IoTWireless) UpdateLogLevelsByResourceTypesRequest(input *UpdateLogLevelsByResourceTypesInput) (req *request.Request, output *UpdateLogLevelsByResourceTypesOutput) { op := &request.Operation{ - Name: opUpdateDestination, - HTTPMethod: "PATCH", - HTTPPath: "/destinations/{Name}", + Name: opUpdateLogLevelsByResourceTypes, + HTTPMethod: "POST", + HTTPPath: "/log-levels", } if input == nil { - input = &UpdateDestinationInput{} + input = &UpdateLogLevelsByResourceTypesInput{} } - output = &UpdateDestinationOutput{} + output = &UpdateLogLevelsByResourceTypesOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateDestination API operation for AWS IoT Wireless. +// UpdateLogLevelsByResourceTypes API operation for AWS IoT Wireless. // -// Updates properties of a destination. +// Set default log level, or log levels by resource types, could be for wireless +// device log options or wireless gateways log options. This is to control the +// log messages that will be displayed in CloudWatch. // // Returns awserr.Error for service API and SDK errors. Use runtime type 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 Wireless's -// API operation UpdateDestination for usage and error information. +// API operation UpdateLogLevelsByResourceTypes for usage and error information. // // Returned Error Types: -// * ValidationException -// The input did not meet the specified constraints. -// -// * ResourceNotFoundException -// Resource does not exist. -// // * AccessDeniedException // User does not have permission to perform this action. // +// * ConflictException +// Adding, updating, or deleting the resource can cause an inconsistent state. +// // * InternalServerException // An unexpected error occurred while processing a request. // +// * ResourceNotFoundException +// Resource does not exist. +// // * ThrottlingException // The request was denied because it exceeded the allowed API request rate. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateDestination -func (c *IoTWireless) UpdateDestination(input *UpdateDestinationInput) (*UpdateDestinationOutput, error) { - req, out := c.UpdateDestinationRequest(input) +// * ValidationException +// The input did not meet the specified constraints. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotwireless-2020-11-22/UpdateLogLevelsByResourceTypes +func (c *IoTWireless) UpdateLogLevelsByResourceTypes(input *UpdateLogLevelsByResourceTypesInput) (*UpdateLogLevelsByResourceTypesOutput, error) { + req, out := c.UpdateLogLevelsByResourceTypesRequest(input) return out, req.Send() } -// UpdateDestinationWithContext is the same as UpdateDestination with the addition of +// UpdateLogLevelsByResourceTypesWithContext is the same as UpdateLogLevelsByResourceTypes with the addition of // the ability to pass a context and additional request options. // -// See UpdateDestination for details on how to use this API operation. +// See UpdateLogLevelsByResourceTypes for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *IoTWireless) UpdateDestinationWithContext(ctx aws.Context, input *UpdateDestinationInput, opts ...request.Option) (*UpdateDestinationOutput, error) { - req, out := c.UpdateDestinationRequest(input) +func (c *IoTWireless) UpdateLogLevelsByResourceTypesWithContext(ctx aws.Context, input *UpdateLogLevelsByResourceTypesInput, opts ...request.Option) (*UpdateLogLevelsByResourceTypesOutput, error) { + req, out := c.UpdateLogLevelsByResourceTypesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -7322,6 +7882,61 @@ func (s *GetDeviceProfileOutput) SetName(v string) *GetDeviceProfileOutput { return s } +type GetLogLevelsByResourceTypesInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s GetLogLevelsByResourceTypesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetLogLevelsByResourceTypesInput) GoString() string { + return s.String() +} + +type GetLogLevelsByResourceTypesOutput struct { + _ struct{} `type:"structure"` + + // The log level for a log message. + DefaultLogLevel *string `type:"string" enum:"LogLevel"` + + // The list of wireless device log options. + WirelessDeviceLogOptions []*WirelessDeviceLogOption `type:"list"` + + // The list of wireless gateway log options. + WirelessGatewayLogOptions []*WirelessGatewayLogOption `type:"list"` +} + +// String returns the string representation +func (s GetLogLevelsByResourceTypesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetLogLevelsByResourceTypesOutput) GoString() string { + return s.String() +} + +// SetDefaultLogLevel sets the DefaultLogLevel field's value. +func (s *GetLogLevelsByResourceTypesOutput) SetDefaultLogLevel(v string) *GetLogLevelsByResourceTypesOutput { + s.DefaultLogLevel = &v + return s +} + +// SetWirelessDeviceLogOptions sets the WirelessDeviceLogOptions field's value. +func (s *GetLogLevelsByResourceTypesOutput) SetWirelessDeviceLogOptions(v []*WirelessDeviceLogOption) *GetLogLevelsByResourceTypesOutput { + s.WirelessDeviceLogOptions = v + return s +} + +// SetWirelessGatewayLogOptions sets the WirelessGatewayLogOptions field's value. +func (s *GetLogLevelsByResourceTypesOutput) SetWirelessGatewayLogOptions(v []*WirelessGatewayLogOption) *GetLogLevelsByResourceTypesOutput { + s.WirelessGatewayLogOptions = v + return s +} + type GetPartnerAccountInput struct { _ struct{} `type:"structure"` @@ -7409,6 +8024,85 @@ func (s *GetPartnerAccountOutput) SetSidewalk(v *SidewalkAccountInfoWithFingerpr return s } +type GetResourceLogLevelInput struct { + _ struct{} `type:"structure"` + + // The identifier of the resource. For a Wireless Device, it is the wireless + // device id. For a wireless gateway, it is the wireless gateway id. + // + // ResourceIdentifier is a required field + ResourceIdentifier *string `location:"uri" locationName:"ResourceIdentifier" type:"string" required:"true"` + + // The type of the resource, currently support WirelessDevice and WirelessGateway. + // + // ResourceType is a required field + ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetResourceLogLevelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourceLogLevelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResourceLogLevelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourceLogLevelInput"} + if s.ResourceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier")) + } + if s.ResourceIdentifier != nil && len(*s.ResourceIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceIdentifier", 1)) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *GetResourceLogLevelInput) SetResourceIdentifier(v string) *GetResourceLogLevelInput { + s.ResourceIdentifier = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *GetResourceLogLevelInput) SetResourceType(v string) *GetResourceLogLevelInput { + s.ResourceType = &v + return s +} + +type GetResourceLogLevelOutput struct { + _ struct{} `type:"structure"` + + // The log level for a log message. + LogLevel *string `type:"string" enum:"LogLevel"` +} + +// String returns the string representation +func (s GetResourceLogLevelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetResourceLogLevelOutput) GoString() string { + return s.String() +} + +// SetLogLevel sets the LogLevel field's value. +func (s *GetResourceLogLevelOutput) SetLogLevel(v string) *GetResourceLogLevelOutput { + s.LogLevel = &v + return s +} + type GetServiceEndpointInput struct { _ struct{} `type:"structure"` @@ -10023,6 +10717,188 @@ func (s *OtaaV11) SetNwkKey(v string) *OtaaV11 { return s } +type PutResourceLogLevelInput struct { + _ struct{} `type:"structure"` + + // The log level for a log message. + // + // LogLevel is a required field + LogLevel *string `type:"string" required:"true" enum:"LogLevel"` + + // The identifier of the resource. For a Wireless Device, it is the wireless + // device id. For a wireless gateway, it is the wireless gateway id. + // + // ResourceIdentifier is a required field + ResourceIdentifier *string `location:"uri" locationName:"ResourceIdentifier" type:"string" required:"true"` + + // The type of the resource, currently support WirelessDevice and WirelessGateway. + // + // ResourceType is a required field + ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutResourceLogLevelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResourceLogLevelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutResourceLogLevelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutResourceLogLevelInput"} + if s.LogLevel == nil { + invalidParams.Add(request.NewErrParamRequired("LogLevel")) + } + if s.ResourceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier")) + } + if s.ResourceIdentifier != nil && len(*s.ResourceIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceIdentifier", 1)) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLogLevel sets the LogLevel field's value. +func (s *PutResourceLogLevelInput) SetLogLevel(v string) *PutResourceLogLevelInput { + s.LogLevel = &v + return s +} + +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *PutResourceLogLevelInput) SetResourceIdentifier(v string) *PutResourceLogLevelInput { + s.ResourceIdentifier = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *PutResourceLogLevelInput) SetResourceType(v string) *PutResourceLogLevelInput { + s.ResourceType = &v + return s +} + +type PutResourceLogLevelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutResourceLogLevelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutResourceLogLevelOutput) GoString() string { + return s.String() +} + +type ResetAllResourceLogLevelsInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ResetAllResourceLogLevelsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetAllResourceLogLevelsInput) GoString() string { + return s.String() +} + +type ResetAllResourceLogLevelsOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ResetAllResourceLogLevelsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetAllResourceLogLevelsOutput) GoString() string { + return s.String() +} + +type ResetResourceLogLevelInput struct { + _ struct{} `type:"structure"` + + // The identifier of the resource. For a Wireless Device, it is the wireless + // device id. For a wireless gateway, it is the wireless gateway id. + // + // ResourceIdentifier is a required field + ResourceIdentifier *string `location:"uri" locationName:"ResourceIdentifier" type:"string" required:"true"` + + // The type of the resource, currently support WirelessDevice and WirelessGateway. + // + // ResourceType is a required field + ResourceType *string `location:"querystring" locationName:"resourceType" type:"string" required:"true"` +} + +// String returns the string representation +func (s ResetResourceLogLevelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetResourceLogLevelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResetResourceLogLevelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResetResourceLogLevelInput"} + if s.ResourceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier")) + } + if s.ResourceIdentifier != nil && len(*s.ResourceIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceIdentifier", 1)) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceIdentifier sets the ResourceIdentifier field's value. +func (s *ResetResourceLogLevelInput) SetResourceIdentifier(v string) *ResetResourceLogLevelInput { + s.ResourceIdentifier = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *ResetResourceLogLevelInput) SetResourceType(v string) *ResetResourceLogLevelInput { + s.ResourceType = &v + return s +} + +type ResetResourceLogLevelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s ResetResourceLogLevelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetResourceLogLevelOutput) GoString() string { + return s.String() +} + // Resource does not exist. type ResourceNotFoundException struct { _ struct{} `type:"structure"` @@ -11098,6 +11974,91 @@ func (s UpdateDestinationOutput) GoString() string { return s.String() } +type UpdateLogLevelsByResourceTypesInput struct { + _ struct{} `type:"structure"` + + // The log level for a log message. + DefaultLogLevel *string `type:"string" enum:"LogLevel"` + + // The list of wireless device log options. + WirelessDeviceLogOptions []*WirelessDeviceLogOption `type:"list"` + + // The list of wireless gateway log options. + WirelessGatewayLogOptions []*WirelessGatewayLogOption `type:"list"` +} + +// String returns the string representation +func (s UpdateLogLevelsByResourceTypesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLogLevelsByResourceTypesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateLogLevelsByResourceTypesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateLogLevelsByResourceTypesInput"} + if s.WirelessDeviceLogOptions != nil { + for i, v := range s.WirelessDeviceLogOptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WirelessDeviceLogOptions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.WirelessGatewayLogOptions != nil { + for i, v := range s.WirelessGatewayLogOptions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WirelessGatewayLogOptions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultLogLevel sets the DefaultLogLevel field's value. +func (s *UpdateLogLevelsByResourceTypesInput) SetDefaultLogLevel(v string) *UpdateLogLevelsByResourceTypesInput { + s.DefaultLogLevel = &v + return s +} + +// SetWirelessDeviceLogOptions sets the WirelessDeviceLogOptions field's value. +func (s *UpdateLogLevelsByResourceTypesInput) SetWirelessDeviceLogOptions(v []*WirelessDeviceLogOption) *UpdateLogLevelsByResourceTypesInput { + s.WirelessDeviceLogOptions = v + return s +} + +// SetWirelessGatewayLogOptions sets the WirelessGatewayLogOptions field's value. +func (s *UpdateLogLevelsByResourceTypesInput) SetWirelessGatewayLogOptions(v []*WirelessGatewayLogOption) *UpdateLogLevelsByResourceTypesInput { + s.WirelessGatewayLogOptions = v + return s +} + +type UpdateLogLevelsByResourceTypesOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdateLogLevelsByResourceTypesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLogLevelsByResourceTypesOutput) GoString() string { + return s.String() +} + type UpdatePartnerAccountInput struct { _ struct{} `type:"structure"` @@ -11530,6 +12491,136 @@ func (s *ValidationException) RequestID() string { return s.RespMetadata.RequestID } +// The log option for a wireless device event. Can be used to set log level +// for a specific wireless device event. For a LoRaWAN device, the possible +// events for a log messsage are: Join, Rejoin, Downlink_Data, Uplink_Data. +// For a Sidewalk device, the possible events for a log message are: Registration, +// Downlink_Data, Uplink_Data. +type WirelessDeviceEventLogOption struct { + _ struct{} `type:"structure"` + + // The event for a log message, if the log message is tied to a wireless device. + // + // Event is a required field + Event *string `type:"string" required:"true" enum:"WirelessDeviceEvent"` + + // The log level for a log message. + // + // LogLevel is a required field + LogLevel *string `type:"string" required:"true" enum:"LogLevel"` +} + +// String returns the string representation +func (s WirelessDeviceEventLogOption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WirelessDeviceEventLogOption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *WirelessDeviceEventLogOption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WirelessDeviceEventLogOption"} + if s.Event == nil { + invalidParams.Add(request.NewErrParamRequired("Event")) + } + if s.LogLevel == nil { + invalidParams.Add(request.NewErrParamRequired("LogLevel")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvent sets the Event field's value. +func (s *WirelessDeviceEventLogOption) SetEvent(v string) *WirelessDeviceEventLogOption { + s.Event = &v + return s +} + +// SetLogLevel sets the LogLevel field's value. +func (s *WirelessDeviceEventLogOption) SetLogLevel(v string) *WirelessDeviceEventLogOption { + s.LogLevel = &v + return s +} + +// The log option for wireless devices. Can be used to set log level for a specific +// type of wireless device. +type WirelessDeviceLogOption struct { + _ struct{} `type:"structure"` + + // The list of wireless device event log options. + Events []*WirelessDeviceEventLogOption `type:"list"` + + // The log level for a log message. + // + // LogLevel is a required field + LogLevel *string `type:"string" required:"true" enum:"LogLevel"` + + // The wireless device type. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"WirelessDeviceType"` +} + +// String returns the string representation +func (s WirelessDeviceLogOption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WirelessDeviceLogOption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *WirelessDeviceLogOption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WirelessDeviceLogOption"} + if s.LogLevel == nil { + invalidParams.Add(request.NewErrParamRequired("LogLevel")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Events != nil { + for i, v := range s.Events { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvents sets the Events field's value. +func (s *WirelessDeviceLogOption) SetEvents(v []*WirelessDeviceEventLogOption) *WirelessDeviceLogOption { + s.Events = v + return s +} + +// SetLogLevel sets the LogLevel field's value. +func (s *WirelessDeviceLogOption) SetLogLevel(v string) *WirelessDeviceLogOption { + s.LogLevel = &v + return s +} + +// SetType sets the Type field's value. +func (s *WirelessDeviceLogOption) SetType(v string) *WirelessDeviceLogOption { + s.Type = &v + return s +} + // Information about a wireless device's operation. type WirelessDeviceStatistics struct { _ struct{} `type:"structure"` @@ -11617,6 +12708,134 @@ func (s *WirelessDeviceStatistics) SetType(v string) *WirelessDeviceStatistics { return s } +// The log option for a wireless gateway event. Can be used to set log level +// for a specific wireless gateway event. For a LoRaWAN gateway, the possible +// events for a log message are: CUPS_Request, Certificate. +type WirelessGatewayEventLogOption struct { + _ struct{} `type:"structure"` + + // The event for a log message, if the log message is tied to a wireless gateway. + // + // Event is a required field + Event *string `type:"string" required:"true" enum:"WirelessGatewayEvent"` + + // The log level for a log message. + // + // LogLevel is a required field + LogLevel *string `type:"string" required:"true" enum:"LogLevel"` +} + +// String returns the string representation +func (s WirelessGatewayEventLogOption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WirelessGatewayEventLogOption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *WirelessGatewayEventLogOption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WirelessGatewayEventLogOption"} + if s.Event == nil { + invalidParams.Add(request.NewErrParamRequired("Event")) + } + if s.LogLevel == nil { + invalidParams.Add(request.NewErrParamRequired("LogLevel")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvent sets the Event field's value. +func (s *WirelessGatewayEventLogOption) SetEvent(v string) *WirelessGatewayEventLogOption { + s.Event = &v + return s +} + +// SetLogLevel sets the LogLevel field's value. +func (s *WirelessGatewayEventLogOption) SetLogLevel(v string) *WirelessGatewayEventLogOption { + s.LogLevel = &v + return s +} + +// The log option for wireless gateways. Can be used to set log level for a +// specific type of wireless gateway. +type WirelessGatewayLogOption struct { + _ struct{} `type:"structure"` + + // The list of wireless gateway event log options. + Events []*WirelessGatewayEventLogOption `type:"list"` + + // The log level for a log message. + // + // LogLevel is a required field + LogLevel *string `type:"string" required:"true" enum:"LogLevel"` + + // The wireless gateway type. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"WirelessGatewayType"` +} + +// String returns the string representation +func (s WirelessGatewayLogOption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s WirelessGatewayLogOption) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *WirelessGatewayLogOption) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WirelessGatewayLogOption"} + if s.LogLevel == nil { + invalidParams.Add(request.NewErrParamRequired("LogLevel")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Events != nil { + for i, v := range s.Events { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Events", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEvents sets the Events field's value. +func (s *WirelessGatewayLogOption) SetEvents(v []*WirelessGatewayEventLogOption) *WirelessGatewayLogOption { + s.Events = v + return s +} + +// SetLogLevel sets the LogLevel field's value. +func (s *WirelessGatewayLogOption) SetLogLevel(v string) *WirelessGatewayLogOption { + s.LogLevel = &v + return s +} + +// SetType sets the Type field's value. +func (s *WirelessGatewayLogOption) SetType(v string) *WirelessGatewayLogOption { + s.Type = &v + return s +} + // Information about a wireless gateway's operation. type WirelessGatewayStatistics struct { _ struct{} `type:"structure"` @@ -11841,6 +13060,27 @@ func ExpressionType_Values() []string { } } +// The log level for a log message. +const ( + // LogLevelInfo is a LogLevel enum value + LogLevelInfo = "INFO" + + // LogLevelError is a LogLevel enum value + LogLevelError = "ERROR" + + // LogLevelDisabled is a LogLevel enum value + LogLevelDisabled = "DISABLED" +) + +// LogLevel_Values returns all elements of the LogLevel enum +func LogLevel_Values() []string { + return []string{ + LogLevelInfo, + LogLevelError, + LogLevelDisabled, + } +} + // Sidewalk device message type. const ( // MessageTypeCustomCommandIdNotify is a MessageType enum value @@ -11895,6 +13135,35 @@ func SigningAlg_Values() []string { } } +// The event for a log message, if the log message is tied to a wireless device. +const ( + // WirelessDeviceEventJoin is a WirelessDeviceEvent enum value + WirelessDeviceEventJoin = "Join" + + // WirelessDeviceEventRejoin is a WirelessDeviceEvent enum value + WirelessDeviceEventRejoin = "Rejoin" + + // WirelessDeviceEventUplinkData is a WirelessDeviceEvent enum value + WirelessDeviceEventUplinkData = "Uplink_Data" + + // WirelessDeviceEventDownlinkData is a WirelessDeviceEvent enum value + WirelessDeviceEventDownlinkData = "Downlink_Data" + + // WirelessDeviceEventRegistration is a WirelessDeviceEvent enum value + WirelessDeviceEventRegistration = "Registration" +) + +// WirelessDeviceEvent_Values returns all elements of the WirelessDeviceEvent enum +func WirelessDeviceEvent_Values() []string { + return []string{ + WirelessDeviceEventJoin, + WirelessDeviceEventRejoin, + WirelessDeviceEventUplinkData, + WirelessDeviceEventDownlinkData, + WirelessDeviceEventRegistration, + } +} + const ( // WirelessDeviceIdTypeWirelessDeviceId is a WirelessDeviceIdType enum value WirelessDeviceIdTypeWirelessDeviceId = "WirelessDeviceId" @@ -11931,6 +13200,23 @@ func WirelessDeviceType_Values() []string { } } +// The event for a log message, if the log message is tied to a wireless gateway. +const ( + // WirelessGatewayEventCupsRequest is a WirelessGatewayEvent enum value + WirelessGatewayEventCupsRequest = "CUPS_Request" + + // WirelessGatewayEventCertificate is a WirelessGatewayEvent enum value + WirelessGatewayEventCertificate = "Certificate" +) + +// WirelessGatewayEvent_Values returns all elements of the WirelessGatewayEvent enum +func WirelessGatewayEvent_Values() []string { + return []string{ + WirelessGatewayEventCupsRequest, + WirelessGatewayEventCertificate, + } +} + const ( // WirelessGatewayIdTypeGatewayEui is a WirelessGatewayIdType enum value WirelessGatewayIdTypeGatewayEui = "GatewayEui" @@ -12010,3 +13296,16 @@ func WirelessGatewayTaskStatus_Values() []string { WirelessGatewayTaskStatusFailed, } } + +// The wireless gateway type. +const ( + // WirelessGatewayTypeLoRaWan is a WirelessGatewayType enum value + WirelessGatewayTypeLoRaWan = "LoRaWAN" +) + +// WirelessGatewayType_Values returns all elements of the WirelessGatewayType enum +func WirelessGatewayType_Values() []string { + return []string{ + WirelessGatewayTypeLoRaWan, + } +} diff --git a/service/iotwireless/iotwirelessiface/interface.go b/service/iotwireless/iotwirelessiface/interface.go index cc996874a01..8ec682202c1 100644 --- a/service/iotwireless/iotwirelessiface/interface.go +++ b/service/iotwireless/iotwirelessiface/interface.go @@ -156,10 +156,18 @@ type IoTWirelessAPI interface { GetDeviceProfileWithContext(aws.Context, *iotwireless.GetDeviceProfileInput, ...request.Option) (*iotwireless.GetDeviceProfileOutput, error) GetDeviceProfileRequest(*iotwireless.GetDeviceProfileInput) (*request.Request, *iotwireless.GetDeviceProfileOutput) + GetLogLevelsByResourceTypes(*iotwireless.GetLogLevelsByResourceTypesInput) (*iotwireless.GetLogLevelsByResourceTypesOutput, error) + GetLogLevelsByResourceTypesWithContext(aws.Context, *iotwireless.GetLogLevelsByResourceTypesInput, ...request.Option) (*iotwireless.GetLogLevelsByResourceTypesOutput, error) + GetLogLevelsByResourceTypesRequest(*iotwireless.GetLogLevelsByResourceTypesInput) (*request.Request, *iotwireless.GetLogLevelsByResourceTypesOutput) + GetPartnerAccount(*iotwireless.GetPartnerAccountInput) (*iotwireless.GetPartnerAccountOutput, error) GetPartnerAccountWithContext(aws.Context, *iotwireless.GetPartnerAccountInput, ...request.Option) (*iotwireless.GetPartnerAccountOutput, error) GetPartnerAccountRequest(*iotwireless.GetPartnerAccountInput) (*request.Request, *iotwireless.GetPartnerAccountOutput) + GetResourceLogLevel(*iotwireless.GetResourceLogLevelInput) (*iotwireless.GetResourceLogLevelOutput, error) + GetResourceLogLevelWithContext(aws.Context, *iotwireless.GetResourceLogLevelInput, ...request.Option) (*iotwireless.GetResourceLogLevelOutput, error) + GetResourceLogLevelRequest(*iotwireless.GetResourceLogLevelInput) (*request.Request, *iotwireless.GetResourceLogLevelOutput) + GetServiceEndpoint(*iotwireless.GetServiceEndpointInput) (*iotwireless.GetServiceEndpointOutput, error) GetServiceEndpointWithContext(aws.Context, *iotwireless.GetServiceEndpointInput, ...request.Option) (*iotwireless.GetServiceEndpointOutput, error) GetServiceEndpointRequest(*iotwireless.GetServiceEndpointInput) (*request.Request, *iotwireless.GetServiceEndpointOutput) @@ -247,6 +255,18 @@ type IoTWirelessAPI interface { ListWirelessGatewaysPages(*iotwireless.ListWirelessGatewaysInput, func(*iotwireless.ListWirelessGatewaysOutput, bool) bool) error ListWirelessGatewaysPagesWithContext(aws.Context, *iotwireless.ListWirelessGatewaysInput, func(*iotwireless.ListWirelessGatewaysOutput, bool) bool, ...request.Option) error + PutResourceLogLevel(*iotwireless.PutResourceLogLevelInput) (*iotwireless.PutResourceLogLevelOutput, error) + PutResourceLogLevelWithContext(aws.Context, *iotwireless.PutResourceLogLevelInput, ...request.Option) (*iotwireless.PutResourceLogLevelOutput, error) + PutResourceLogLevelRequest(*iotwireless.PutResourceLogLevelInput) (*request.Request, *iotwireless.PutResourceLogLevelOutput) + + ResetAllResourceLogLevels(*iotwireless.ResetAllResourceLogLevelsInput) (*iotwireless.ResetAllResourceLogLevelsOutput, error) + ResetAllResourceLogLevelsWithContext(aws.Context, *iotwireless.ResetAllResourceLogLevelsInput, ...request.Option) (*iotwireless.ResetAllResourceLogLevelsOutput, error) + ResetAllResourceLogLevelsRequest(*iotwireless.ResetAllResourceLogLevelsInput) (*request.Request, *iotwireless.ResetAllResourceLogLevelsOutput) + + ResetResourceLogLevel(*iotwireless.ResetResourceLogLevelInput) (*iotwireless.ResetResourceLogLevelOutput, error) + ResetResourceLogLevelWithContext(aws.Context, *iotwireless.ResetResourceLogLevelInput, ...request.Option) (*iotwireless.ResetResourceLogLevelOutput, error) + ResetResourceLogLevelRequest(*iotwireless.ResetResourceLogLevelInput) (*request.Request, *iotwireless.ResetResourceLogLevelOutput) + SendDataToWirelessDevice(*iotwireless.SendDataToWirelessDeviceInput) (*iotwireless.SendDataToWirelessDeviceOutput, error) SendDataToWirelessDeviceWithContext(aws.Context, *iotwireless.SendDataToWirelessDeviceInput, ...request.Option) (*iotwireless.SendDataToWirelessDeviceOutput, error) SendDataToWirelessDeviceRequest(*iotwireless.SendDataToWirelessDeviceInput) (*request.Request, *iotwireless.SendDataToWirelessDeviceOutput) @@ -267,6 +287,10 @@ type IoTWirelessAPI interface { UpdateDestinationWithContext(aws.Context, *iotwireless.UpdateDestinationInput, ...request.Option) (*iotwireless.UpdateDestinationOutput, error) UpdateDestinationRequest(*iotwireless.UpdateDestinationInput) (*request.Request, *iotwireless.UpdateDestinationOutput) + UpdateLogLevelsByResourceTypes(*iotwireless.UpdateLogLevelsByResourceTypesInput) (*iotwireless.UpdateLogLevelsByResourceTypesOutput, error) + UpdateLogLevelsByResourceTypesWithContext(aws.Context, *iotwireless.UpdateLogLevelsByResourceTypesInput, ...request.Option) (*iotwireless.UpdateLogLevelsByResourceTypesOutput, error) + UpdateLogLevelsByResourceTypesRequest(*iotwireless.UpdateLogLevelsByResourceTypesInput) (*request.Request, *iotwireless.UpdateLogLevelsByResourceTypesOutput) + UpdatePartnerAccount(*iotwireless.UpdatePartnerAccountInput) (*iotwireless.UpdatePartnerAccountOutput, error) UpdatePartnerAccountWithContext(aws.Context, *iotwireless.UpdatePartnerAccountInput, ...request.Option) (*iotwireless.UpdatePartnerAccountOutput, error) UpdatePartnerAccountRequest(*iotwireless.UpdatePartnerAccountInput) (*request.Request, *iotwireless.UpdatePartnerAccountOutput) diff --git a/service/polly/api.go b/service/polly/api.go index 6a72cd5e832..0ce7da33d6b 100644 --- a/service/polly/api.go +++ b/service/polly/api.go @@ -3785,6 +3785,9 @@ const ( // VoiceIdFiliz is a VoiceId enum value VoiceIdFiliz = "Filiz" + // VoiceIdGabrielle is a VoiceId enum value + VoiceIdGabrielle = "Gabrielle" + // VoiceIdGeraint is a VoiceId enum value VoiceIdGeraint = "Geraint" @@ -3941,6 +3944,7 @@ func VoiceId_Values() []string { VoiceIdEnrique, VoiceIdEwa, VoiceIdFiliz, + VoiceIdGabrielle, VoiceIdGeraint, VoiceIdGiorgio, VoiceIdGwyneth, diff --git a/service/servicediscovery/api.go b/service/servicediscovery/api.go index 7a78e3e94de..9979e2f1dc0 100644 --- a/service/servicediscovery/api.go +++ b/service/servicediscovery/api.go @@ -57,9 +57,9 @@ func (c *ServiceDiscovery) CreateHttpNamespaceRequest(input *CreateHttpNamespace // CreateHttpNamespace API operation for AWS Cloud Map. // -// Creates an HTTP namespace. Service instances that you register using an HTTP -// namespace can be discovered using a DiscoverInstances request but can't be -// discovered using DNS. +// Creates an HTTP namespace. Service instances registered using an HTTP namespace +// can be discovered using a DiscoverInstances request but can't be discovered +// using DNS. // // For the current quota on the number of namespaces that you can create using // the same AWS account, see AWS Cloud Map quotas (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) @@ -161,9 +161,11 @@ func (c *ServiceDiscovery) CreatePrivateDnsNamespaceRequest(input *CreatePrivate // Creates a private namespace based on DNS, which is visible only inside a // specified Amazon VPC. The namespace defines your service naming scheme. For // example, if you name your namespace example.com and name your service backend, -// the resulting DNS name for the service is backend.example.com. For the current -// quota on the number of namespaces that you can create using the same AWS -// account, see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) +// the resulting DNS name for the service is backend.example.com. Service instances +// that are registered using a private DNS namespace can be discovered using +// either a DiscoverInstances request or using DNS. For the current quota on +// the number of namespaces that you can create using the same AWS account, +// see AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) // in the AWS Cloud Map Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -262,10 +264,11 @@ func (c *ServiceDiscovery) CreatePublicDnsNamespaceRequest(input *CreatePublicDn // Creates a public namespace based on DNS, which is visible on the internet. // The namespace defines your service naming scheme. For example, if you name // your namespace example.com and name your service backend, the resulting DNS -// name for the service is backend.example.com. For the current quota on the -// number of namespaces that you can create using the same AWS account, see -// AWS Cloud Map Limits (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html) -// in the AWS Cloud Map Developer Guide. +// name for the service is backend.example.com. You can discover instances that +// were registered with a public DNS namespace by using either a DiscoverInstances +// request or using DNS. For the current quota on the number of namespaces that +// you can create using the same AWS account, see AWS Cloud Map Quotas (https://docs.aws.amazon.com/cloud-map/latest/dg/cloud-map-limits.html)in +// the AWS Cloud Map Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -360,7 +363,8 @@ func (c *ServiceDiscovery) CreateServiceRequest(input *CreateServiceInput) (req // CreateService API operation for AWS Cloud Map. // -// Creates a service, which defines the configuration for the following entities: +// Creates a service. This action defines the configuration for the following +// entities: // // * For public and private DNS namespaces, one of the following combinations // of DNS records in Amazon Route 53: A AAAA A and AAAA SRV CNAME @@ -942,7 +946,7 @@ func (c *ServiceDiscovery) GetInstancesHealthStatusRequest(input *GetInstancesHe // Gets the current health status (Healthy, Unhealthy, or Unknown) of one or // more instances that are associated with a specified service. // -// There is a brief delay between when you register an instance and when the +// There's a brief delay between when you register an instance and when the // health status for the instance is available. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1989,8 +1993,8 @@ func (c *ServiceDiscovery) RegisterInstanceRequest(input *RegisterInstanceInput) // check based on the settings in a specified service. When you submit a RegisterInstance // request, the following occurs: // -// * For each DNS record that you define in the service that is specified -// by ServiceId, a record is created or updated in the hosted zone that is +// * For each DNS record that you define in the service that's specified +// by ServiceId, a record is created or updated in the hosted zone that's // associated with the corresponding namespace. // // * If the service includes HealthCheckConfig, a health check is created @@ -2453,7 +2457,7 @@ type CreateHttpNamespaceInput struct { // A unique string that identifies the request and that allows failed CreateHttpNamespace // requests to be retried without the risk of running the operation twice. CreatorRequestId - // can be any unique string, for example, a date/time stamp. + // can be any unique string (for example, a date/time stamp). CreatorRequestId *string `type:"string" idempotencyToken:"true"` // A description for the namespace. @@ -2556,7 +2560,7 @@ type CreatePrivateDnsNamespaceInput struct { // A unique string that identifies the request and that allows failed CreatePrivateDnsNamespace // requests to be retried without the risk of running the operation twice. CreatorRequestId - // can be any unique string, for example, a date/timestamp. + // can be any unique string (for example, a date/timestamp). CreatorRequestId *string `type:"string" idempotencyToken:"true"` // A description for the namespace. @@ -2675,7 +2679,7 @@ type CreatePublicDnsNamespaceInput struct { // A unique string that identifies the request and that allows failed CreatePublicDnsNamespace // requests to be retried without the risk of running the operation twice. CreatorRequestId - // can be any unique string, for example, a date/timestamp. + // can be any unique string (for example, a date/timestamp). CreatorRequestId *string `type:"string" idempotencyToken:"true"` // A description for the namespace. @@ -2778,7 +2782,7 @@ type CreateServiceInput struct { // A unique string that identifies the request and that allows failed CreateService // requests to be retried without the risk of running the operation twice. CreatorRequestId - // can be any unique string, for example, a date/timestamp. + // can be any unique string (for example, a date/timestamp). CreatorRequestId *string `type:"string" idempotencyToken:"true"` // A description for the service. @@ -2822,9 +2826,9 @@ type CreateServiceInput struct { // // When you register an instance, AWS Cloud Map creates an SRV record and assigns // a name to the record by concatenating the service name and the namespace - // name, for example: + // name (for example, // - // _exampleservice._tcp.example.com + // _exampleservice._tcp.example.com). // // For services that are accessible by DNS queries, you can't create multiple // services with names that differ only by case (such as EXAMPLE and example). @@ -2846,8 +2850,8 @@ type CreateServiceInput struct { Tags []*Tag `type:"list"` // If present, specifies that the service instances are only discoverable using - // the DiscoverInstances API operation. No DNS records will be registered for - // the service instances. The only valid value is HTTP. + // the DiscoverInstances API operation. No DNS records is registered for the + // service instances. The only valid value is HTTP. Type *string `type:"string" enum:"ServiceTypeOption"` } @@ -3227,7 +3231,26 @@ func (s *DeregisterInstanceOutput) SetOperationId(v string) *DeregisterInstanceO type DiscoverInstancesInput struct { _ struct{} `type:"structure"` - // The health status of the instances that you want to discover. + // The health status of the instances that you want to discover. This parameter + // is ignored for services that don't have a health check configured, and all + // instances are returned. + // + // HEALTHY + // + // Returns healthy instances. + // + // UNHEALTHY + // + // Returns unhealthy instances. + // + // ALL + // + // Returns all instances. + // + // HEALTHY_OR_ELSE_ALL + // + // Returns healthy instances, unless none are reporting a healthy state. In + // that case, return all instances. This is also called failing open. HealthStatus *string `type:"string" enum:"HealthStatusFilter"` // The maximum number of instances that you want AWS Cloud Map to return in @@ -3235,21 +3258,21 @@ type DiscoverInstancesInput struct { // for MaxResults, AWS Cloud Map returns up to 100 instances. MaxResults *int64 `min:"1" type:"integer"` - // The HttpName name of the namespace, found in the HttpProperties member of - // the Properties member of the namespace. + // The HttpName name of the namespace. It's found in the HttpProperties member + // of the Properties member of the namespace. // // NamespaceName is a required field NamespaceName *string `type:"string" required:"true"` // Opportunistic filters to scope the results based on custom attributes. If // there are instances that match both the filters specified in both the QueryParameters - // parameter and this parameter, they are returned. Otherwise, these filters - // are ignored and only instances that match the filters specified in the QueryParameters - // parameter are returned. + // parameter and this parameter, all of these instances are returned. Otherwise, + // the filters are ignored, and only instances that match the filters that are + // specified in the QueryParameters parameter are returned. OptionalParameters map[string]*string `type:"map"` - // Filters to scope the results based on custom attributes for the instance. - // For example, {version=v1, az=1a}. Only instances that match all the specified + // Filters to scope the results based on custom attributes for the instance + // (for example, {version=v1, az=1a}). Only instances that match all the specified // key-value pairs are returned. QueryParameters map[string]*string `type:"map"` @@ -3685,7 +3708,7 @@ type DuplicateRequest struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The ID of the operation that is already in progress. + // The ID of the operation that's already in progress. DuplicateOperationId *string `type:"string"` Message_ *string `locationName:"Message" type:"string"` @@ -4135,7 +4158,7 @@ func (s *GetServiceOutput) SetService(v *Service) *GetServiceOutput { // // If DnsConfig includes configurations for both A and AAAA records, AWS Cloud // Map creates a health check that uses the IPv4 address to check the health -// of the resource. If the endpoint that is specified by the IPv4 address is +// of the resource. If the endpoint tthat's specified by the IPv4 address is // unhealthy, Route 53 considers both the A and AAAA records to be unhealthy. // // CNAME records @@ -4146,16 +4169,17 @@ func (s *GetServiceOutput) SetService(v *Service) *GetServiceOutput { // // Request interval // -// A Route 53 health checker in each health-checking region sends a health check -// request to an endpoint every 30 seconds. On average, your endpoint receives -// a health check request about every two seconds. However, health checkers -// don't coordinate with one another, so you'll sometimes see several requests -// per second followed by a few seconds with no health checks at all. +// A Route 53 health checker in each health-checking AWS Region sends a health +// check request to an endpoint every 30 seconds. On average, your endpoint +// receives a health check request about every two seconds. However, health +// checkers don't coordinate with one another. Therefore, you might sometimes +// see several requests in one second that's followed by a few seconds with +// no health checks at all. // // Health checking regions // -// Health checkers perform checks from all Route 53 health-checking regions. -// For a list of the current regions, see Regions (https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions). +// Health checkers perform checks from all Route 53 health-checking Regions. +// For a list of the current Regions, see Regions (https://docs.aws.amazon.com/Route53/latest/APIReference/API_HealthCheckConfig.html#Route53-Type-HealthCheckConfig-Regions). // // Alias records // @@ -4187,9 +4211,9 @@ type HealthCheckConfig struct { FailureThreshold *int64 `min:"1" type:"integer"` // The path that you want Route 53 to request when performing health checks. - // The path can be any value for which your endpoint returns an HTTP status - // code of a 2xx or 3xx format when the endpoint is healthy, such as the file - // /docs/route53-health-check.html. Route 53 automatically adds the DNS name + // The path can be any value that your endpoint returns an HTTP status code + // of a 2xx or 3xx format for when the endpoint is healthy. An example file + // is /docs/route53-health-check.html. Route 53 automatically adds the DNS name // for the service. If you don't specify a value for ResourcePath, the default // value is /. // @@ -4272,14 +4296,14 @@ func (s *HealthCheckConfig) SetType(v string) *HealthCheckConfig { // checker to evaluate the health of your resources, is useful in the following // circumstances: // -// * You can't use a health check that is defined by HealthCheckConfig because +// * You can't use a health check that's defined by HealthCheckConfig because // the resource isn't available over the internet. For example, you can use // a custom health check when the instance is in an Amazon VPC. (To check // the health of resources in a VPC, the health checker must also be in the // VPC.) // // * You want to use a third-party health checker regardless of where your -// resources are. +// resources are located. // // If you specify a health check configuration, you can specify either HealthCheckCustomConfig // or HealthCheckConfig but not both. @@ -4291,17 +4315,11 @@ func (s *HealthCheckConfig) SetType(v string) *HealthCheckConfig { // // Here's how custom health checks work: // -// You create a service and specify a value for FailureThreshold. -// -// The failure threshold indicates the number of 30-second intervals you want -// AWS Cloud Map to wait between the time that your application sends an UpdateInstanceCustomHealthStatus -// (https://docs.aws.amazon.com/cloud-map/latest/api/API_UpdateInstanceCustomHealthStatus.html) -// request and the time that AWS Cloud Map stops routing internet traffic to -// the corresponding resource. +// You create a service. // // You register an instance. // -// You configure a third-party health checker to monitor the resource that is +// You configure a third-party health checker to monitor the resource that's // associated with the new instance. // // AWS Cloud Map doesn't check the health of the resource directly. @@ -4311,7 +4329,7 @@ func (s *HealthCheckConfig) SetType(v string) *HealthCheckConfig { // // Your application submits an UpdateInstanceCustomHealthStatus request. // -// AWS Cloud Map waits for (FailureThreshold x 30) seconds. +// AWS Cloud Map waits for 30 seconds. // // If another UpdateInstanceCustomHealthStatus request doesn't arrive during // that time to change the status back to healthy, AWS Cloud Map stops routing @@ -4320,7 +4338,7 @@ type HealthCheckCustomConfig struct { _ struct{} `type:"structure"` // - // This parameter has been deprecated and is always set to 1. AWS Cloud Map + // This parameter is no longer supported and is always set to 1. AWS Cloud Map // waits for approximately 30 seconds after receiving an UpdateInstanceCustomHealthStatus // request before changing the status of the service instance. // @@ -4384,8 +4402,8 @@ type HttpInstanceSummary struct { InstanceId *string `type:"string"` // - // The HttpName name of the namespace, found in the HttpProperties member of - // the Properties member of the namespace. + // The HttpName name of the namespace. It's found in the HttpProperties member + // of the Properties member of the namespace. NamespaceName *string `type:"string"` // The name of the service that you specified when you registered the instance. @@ -4473,20 +4491,20 @@ type Instance struct { // AWS_ALIAS_DNS_NAME // // If you want AWS Cloud Map to create a Route 53 alias record that routes traffic - // to an Elastic Load Balancing load balancer, specify the DNS name that is - // associated with the load balancer. For information about how to get the DNS - // name, see AliasTarget->DNSName (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-DNSName) + // to an Elastic Load Balancing load balancer, specify the DNS name that's associated + // with the load balancer. For information about how to get the DNS name, see + // AliasTarget->DNSName (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html#Route53-Type-AliasTarget-DNSName) // in the Route 53 API Reference. // // Note the following: // - // * The configuration for the service that is specified by ServiceId must + // * The configuration for the service that's specified by ServiceId must // include settings for an A record, an AAAA record, or both. // - // * In the service that is specified by ServiceId, the value of RoutingPolicy + // * In the service that's specified by ServiceId, the value of RoutingPolicy // must be WEIGHTED. // - // * If the service that is specified by ServiceId includes HealthCheckConfig + // * If the service that's specified by ServiceId includes HealthCheckConfig // settings, AWS Cloud Map creates the health check, but it won't associate // the health check with the alias record. // @@ -4511,7 +4529,7 @@ type Instance struct { // AWS_INSTANCE_CNAME // // If the service configuration includes a CNAME record, the domain name that - // you want Route 53 to return in response to DNS queries, for example, example.com. + // you want Route 53 to return in response to DNS queries (for example, example.com). // // This value is required if the service specified by ServiceId includes settings // for an CNAME record. @@ -4519,7 +4537,7 @@ type Instance struct { // AWS_INSTANCE_IPV4 // // If the service configuration includes an A record, the IPv4 address that - // you want Route 53 to return in response to DNS queries, for example, 192.0.2.44. + // you want Route 53 to return in response to DNS queries (for example, 192.0.2.44). // // This value is required if the service specified by ServiceId includes settings // for an A record. If the service includes settings for an SRV record, you @@ -4528,7 +4546,7 @@ type Instance struct { // AWS_INSTANCE_IPV6 // // If the service configuration includes an AAAA record, the IPv6 address that - // you want Route 53 to return in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. + // you want Route 53 to return in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345). // // This value is required if the service specified by ServiceId includes settings // for an AAAA record. If the service includes settings for an SRV record, you @@ -4550,21 +4568,21 @@ type Instance struct { // requests to be retried without the risk of executing the operation twice. // You must use a unique CreatorRequestId string every time you submit a RegisterInstance // request if you're registering additional instances for the same namespace - // and service. CreatorRequestId can be any unique string, for example, a date/time - // stamp. + // and service. CreatorRequestId can be any unique string (for example, a date/time + // stamp). CreatorRequestId *string `type:"string"` // An identifier that you want to associate with the instance. Note the following: // - // * If the service that is specified by ServiceId includes settings for - // an SRV record, the value of InstanceId is automatically included as part + // * If the service that's specified by ServiceId includes settings for an + // SRV record, the value of InstanceId is automatically included as part // of the value for the SRV record. For more information, see DnsRecord > // Type (https://docs.aws.amazon.com/cloud-map/latest/api/API_DnsRecord.html#cloudmap-Type-DnsRecord-Type). // // * You can use this value to update an existing instance. // - // * To register a new instance, you must specify a value that is unique - // among instances that you register by using the same service. + // * To register a new instance, you must specify a value that's unique among + // instances that you register by using the same service. // // * If you specify an existing InstanceId and ServiceId, AWS Cloud Map updates // the existing DNS records. If there's also an existing health check, AWS @@ -4668,7 +4686,7 @@ type InstanceSummary struct { // A string map that contains the following information: // - // * The attributes that are associate with the instance. + // * The attributes that are associated with the instance. // // * For each attribute, the applicable value. // @@ -4677,7 +4695,7 @@ type InstanceSummary struct { // AWS_ALIAS_DNS_NAME // // For an alias record that routes traffic to an Elastic Load Balancing load - // balancer, the DNS name that is associated with the load balancer. + // balancer, the DNS name that's associated with the load balancer. // // AWS_EC2_INSTANCE_ID (HTTP namespaces only) // @@ -4695,17 +4713,17 @@ type InstanceSummary struct { // AWS_INSTANCE_CNAME // // For a CNAME record, the domain name that Route 53 returns in response to - // DNS queries, for example, example.com. + // DNS queries (for example, example.com). // // AWS_INSTANCE_IPV4 // // For an A record, the IPv4 address that Route 53 returns in response to DNS - // queries, for example, 192.0.2.44. + // queries (for example, 192.0.2.44). // // AWS_INSTANCE_IPV6 // // For an AAAA record, the IPv6 address that Route 53 returns in response to - // DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. + // DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345). // // AWS_INSTANCE_PORT // @@ -5638,7 +5656,7 @@ func (s *NamespaceNotFound) RequestID() string { return s.RespMetadata.RequestID } -// A complex type that contains information that is specific to the namespace +// A complex type that contains information that's specific to the namespace // type. type NamespaceProperties struct { _ struct{} `type:"structure"` @@ -5799,7 +5817,7 @@ type Operation struct { // // SUBMITTED // - // This is the initial state immediately after you submit a request. + // This is the initial state that occurs immediately after you submit a request. // // PENDING // @@ -5814,7 +5832,7 @@ type Operation struct { // The operation failed. For the failure reason, see ErrorMessage. Status *string `type:"string" enum:"OperationStatus"` - // The name of the target entity that is associated with the operation: + // The name of the target entity that's associated with the operation: // // NAMESPACE // @@ -5829,7 +5847,7 @@ type Operation struct { // The instance ID is returned in the ResourceId property. Targets map[string]*string `type:"map"` - // The name of the operation that is associated with the specified ID. + // The name of the operation that's associated with the specified ID. Type *string `type:"string" enum:"OperationType"` // The date and time that the value of Status changed to the current value, @@ -6114,19 +6132,19 @@ type RegisterInstanceInput struct { // // If you want AWS Cloud Map to create an Amazon Route 53 alias record that // routes traffic to an Elastic Load Balancing load balancer, specify the DNS - // name that is associated with the load balancer. For information about how + // name that's associated with the load balancer. For information about how // to get the DNS name, see "DNSName" in the topic AliasTarget (https://docs.aws.amazon.com/Route53/latest/APIReference/API_AliasTarget.html) // in the Route 53 API Reference. // // Note the following: // - // * The configuration for the service that is specified by ServiceId must + // * The configuration for the service that's specified by ServiceId must // include settings for an A record, an AAAA record, or both. // - // * In the service that is specified by ServiceId, the value of RoutingPolicy + // * In the service that's specified by ServiceId, the value of RoutingPolicy // must be WEIGHTED. // - // * If the service that is specified by ServiceId includes HealthCheckConfig + // * If the service that's specified by ServiceId includes HealthCheckConfig // settings, AWS Cloud Map will create the Route 53 health check, but it // doesn't associate the health check with the alias record. // @@ -6154,7 +6172,7 @@ type RegisterInstanceInput struct { // AWS_INSTANCE_CNAME // // If the service configuration includes a CNAME record, the domain name that - // you want Route 53 to return in response to DNS queries, for example, example.com. + // you want Route 53 to return in response to DNS queries (for example, example.com). // // This value is required if the service specified by ServiceId includes settings // for an CNAME record. @@ -6162,7 +6180,7 @@ type RegisterInstanceInput struct { // AWS_INSTANCE_IPV4 // // If the service configuration includes an A record, the IPv4 address that - // you want Route 53 to return in response to DNS queries, for example, 192.0.2.44. + // you want Route 53 to return in response to DNS queries (for example, 192.0.2.44). // // This value is required if the service specified by ServiceId includes settings // for an A record. If the service includes settings for an SRV record, you @@ -6171,7 +6189,7 @@ type RegisterInstanceInput struct { // AWS_INSTANCE_IPV6 // // If the service configuration includes an AAAA record, the IPv6 address that - // you want Route 53 to return in response to DNS queries, for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345. + // you want Route 53 to return in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345). // // This value is required if the service specified by ServiceId includes settings // for an AAAA record. If the service includes settings for an SRV record, you @@ -6202,21 +6220,21 @@ type RegisterInstanceInput struct { // requests to be retried without the risk of executing the operation twice. // You must use a unique CreatorRequestId string every time you submit a RegisterInstance // request if you're registering additional instances for the same namespace - // and service. CreatorRequestId can be any unique string, for example, a date/time - // stamp. + // and service. CreatorRequestId can be any unique string (for example, a date/time + // stamp). CreatorRequestId *string `type:"string" idempotencyToken:"true"` // An identifier that you want to associate with the instance. Note the following: // - // * If the service that is specified by ServiceId includes settings for - // an SRV record, the value of InstanceId is automatically included as part + // * If the service that's specified by ServiceId includes settings for an + // SRV record, the value of InstanceId is automatically included as part // of the value for the SRV record. For more information, see DnsRecord > // Type (https://docs.aws.amazon.com/cloud-map/latest/api/API_DnsRecord.html#cloudmap-Type-DnsRecord-Type). // // * You can use this value to update an existing instance. // - // * To register a new instance, you must specify a value that is unique - // among instances that you register by using the same service. + // * To register a new instance, you must specify a value that's unique among + // instances that you register by using the same service. // // * If you specify an existing InstanceId and ServiceId, AWS Cloud Map updates // the existing DNS records, if any. If there's also an existing health check, @@ -6555,7 +6573,7 @@ type Service struct { // A unique string that identifies the request and that allows failed requests // to be retried without the risk of running the operation twice. CreatorRequestId - // can be any unique string, for example, a date/timestamp. + // can be any unique string (for example, a date/timestamp). CreatorRequestId *string `type:"string"` // The description of the service. @@ -6585,8 +6603,8 @@ type Service struct { Id *string `type:"string"` // The number of instances that are currently associated with the service. Instances - // that were previously associated with the service but that have been deleted - // are not included in the count. The count might not reflect pending registrations + // that were previously associated with the service but that are deleted aren't + // included in the count. The count might not reflect pending registrations // and deregistrations. InstanceCount *int64 `type:"integer"` @@ -6980,14 +6998,14 @@ type ServiceSummary struct { // which requires that you use a third-party health checker to evaluate the // health of your resources, is useful in the following circumstances: // - // * You can't use a health check that is defined by HealthCheckConfig because + // * You can't use a health check that's defined by HealthCheckConfig because // the resource isn't available over the internet. For example, you can use // a custom health check when the instance is in an Amazon VPC. (To check // the health of resources in a VPC, the health checker must also be in the // VPC.) // // * You want to use a third-party health checker regardless of where your - // resources are. + // resources are located. // // If you specify a health check configuration, you can specify either HealthCheckCustomConfig // or HealthCheckConfig but not both. @@ -6997,8 +7015,8 @@ type ServiceSummary struct { Id *string `type:"string"` // The number of instances that are currently associated with the service. Instances - // that were previously associated with the service but that have been deleted - // are not included in the count. The count might not reflect pending registrations + // that were previously associated with the service but that are deleted aren't + // included in the count. The count might not reflect pending registrations // and deregistrations. InstanceCount *int64 `type:"integer"` @@ -7093,7 +7111,7 @@ func (s *ServiceSummary) SetType(v string) *ServiceSummary { return s } -// A custom key-value pair associated with a resource. +// A custom key-value pair that's associated with a resource. type Tag struct { _ struct{} `type:"structure"` @@ -7102,8 +7120,9 @@ type Tag struct { // Key is a required field Key *string `min:"1" type:"string" required:"true"` - // The string value associated with the key of the tag. You can set the value - // of a tag to an empty string, but you can't set the value of a tag to null. + // The string value that's associated with the key of the tag. You can set the + // value of a tag to an empty string, but you can't set the value of a tag to + // null. // // Value is a required field Value *string `type:"string" required:"true"` @@ -7609,6 +7628,9 @@ const ( // HealthStatusFilterAll is a HealthStatusFilter enum value HealthStatusFilterAll = "ALL" + + // HealthStatusFilterHealthyOrElseAll is a HealthStatusFilter enum value + HealthStatusFilterHealthyOrElseAll = "HEALTHY_OR_ELSE_ALL" ) // HealthStatusFilter_Values returns all elements of the HealthStatusFilter enum @@ -7617,6 +7639,7 @@ func HealthStatusFilter_Values() []string { HealthStatusFilterHealthy, HealthStatusFilterUnhealthy, HealthStatusFilterAll, + HealthStatusFilterHealthyOrElseAll, } } diff --git a/service/sns/api.go b/service/sns/api.go index ce7e35d62f6..30204862b2a 100644 --- a/service/sns/api.go +++ b/service/sns/api.go @@ -4,6 +4,7 @@ package sns import ( "fmt" + "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" @@ -508,6 +509,114 @@ func (c *SNS) CreatePlatformEndpointWithContext(ctx aws.Context, input *CreatePl return out, req.Send() } +const opCreateSMSSandboxPhoneNumber = "CreateSMSSandboxPhoneNumber" + +// CreateSMSSandboxPhoneNumberRequest generates a "aws/request.Request" representing the +// client's request for the CreateSMSSandboxPhoneNumber operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateSMSSandboxPhoneNumber for more information on using the CreateSMSSandboxPhoneNumber +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateSMSSandboxPhoneNumberRequest method. +// req, resp := client.CreateSMSSandboxPhoneNumberRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreateSMSSandboxPhoneNumber +func (c *SNS) CreateSMSSandboxPhoneNumberRequest(input *CreateSMSSandboxPhoneNumberInput) (req *request.Request, output *CreateSMSSandboxPhoneNumberOutput) { + op := &request.Operation{ + Name: opCreateSMSSandboxPhoneNumber, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateSMSSandboxPhoneNumberInput{} + } + + output = &CreateSMSSandboxPhoneNumberOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreateSMSSandboxPhoneNumber API operation for Amazon Simple Notification Service. +// +// Adds a destination phone number to an AWS account in the SMS sandbox and +// sends a one-time password (OTP) to that phone number. +// +// When you start using Amazon SNS to send SMS messages, your AWS account is +// in the SMS sandbox. The SMS sandbox provides a safe environment for you to +// try Amazon SNS features without risking your reputation as an SMS sender. +// While your account is in the SMS sandbox, you can use all of the features +// of Amazon SNS. However, you can send SMS messages only to verified destination +// phone numbers. For more information, including how to move out of the sandbox +// to send messages without restrictions, see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) +// in the Amazon SNS Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation CreateSMSSandboxPhoneNumber for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeOptedOutException "OptedOut" +// Indicates that the specified phone number opted out of receiving SMS messages +// from your AWS account. You can't send SMS messages to phone numbers that +// opt out. +// +// * ErrCodeUserErrorException "UserError" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeThrottledException "Throttled" +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/CreateSMSSandboxPhoneNumber +func (c *SNS) CreateSMSSandboxPhoneNumber(input *CreateSMSSandboxPhoneNumberInput) (*CreateSMSSandboxPhoneNumberOutput, error) { + req, out := c.CreateSMSSandboxPhoneNumberRequest(input) + return out, req.Send() +} + +// CreateSMSSandboxPhoneNumberWithContext is the same as CreateSMSSandboxPhoneNumber with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSMSSandboxPhoneNumber for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) CreateSMSSandboxPhoneNumberWithContext(ctx aws.Context, input *CreateSMSSandboxPhoneNumberInput, opts ...request.Option) (*CreateSMSSandboxPhoneNumberOutput, error) { + req, out := c.CreateSMSSandboxPhoneNumberRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateTopic = "CreateTopic" // CreateTopicRequest generates a "aws/request.Request" representing the @@ -798,6 +907,112 @@ func (c *SNS) DeletePlatformApplicationWithContext(ctx aws.Context, input *Delet return out, req.Send() } +const opDeleteSMSSandboxPhoneNumber = "DeleteSMSSandboxPhoneNumber" + +// DeleteSMSSandboxPhoneNumberRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSMSSandboxPhoneNumber operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteSMSSandboxPhoneNumber for more information on using the DeleteSMSSandboxPhoneNumber +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteSMSSandboxPhoneNumberRequest method. +// req, resp := client.DeleteSMSSandboxPhoneNumberRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeleteSMSSandboxPhoneNumber +func (c *SNS) DeleteSMSSandboxPhoneNumberRequest(input *DeleteSMSSandboxPhoneNumberInput) (req *request.Request, output *DeleteSMSSandboxPhoneNumberOutput) { + op := &request.Operation{ + Name: opDeleteSMSSandboxPhoneNumber, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteSMSSandboxPhoneNumberInput{} + } + + output = &DeleteSMSSandboxPhoneNumberOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteSMSSandboxPhoneNumber API operation for Amazon Simple Notification Service. +// +// Deletes an AWS account's verified or pending phone number from the SMS sandbox. +// +// When you start using Amazon SNS to send SMS messages, your AWS account is +// in the SMS sandbox. The SMS sandbox provides a safe environment for you to +// try Amazon SNS features without risking your reputation as an SMS sender. +// While your account is in the SMS sandbox, you can use all of the features +// of Amazon SNS. However, you can send SMS messages only to verified destination +// phone numbers. For more information, including how to move out of the sandbox +// to send messages without restrictions, see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) +// in the Amazon SNS Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation DeleteSMSSandboxPhoneNumber for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// Can’t perform the action on the specified resource. Make sure that the +// resource exists. +// +// * ErrCodeUserErrorException "UserError" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeThrottledException "Throttled" +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/DeleteSMSSandboxPhoneNumber +func (c *SNS) DeleteSMSSandboxPhoneNumber(input *DeleteSMSSandboxPhoneNumberInput) (*DeleteSMSSandboxPhoneNumberOutput, error) { + req, out := c.DeleteSMSSandboxPhoneNumberRequest(input) + return out, req.Send() +} + +// DeleteSMSSandboxPhoneNumberWithContext is the same as DeleteSMSSandboxPhoneNumber with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSMSSandboxPhoneNumber for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) DeleteSMSSandboxPhoneNumberWithContext(ctx aws.Context, input *DeleteSMSSandboxPhoneNumberInput, opts ...request.Option) (*DeleteSMSSandboxPhoneNumberOutput, error) { + req, out := c.DeleteSMSSandboxPhoneNumberRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteTopic = "DeleteTopic" // DeleteTopicRequest generates a "aws/request.Request" representing the @@ -1173,6 +1388,102 @@ func (c *SNS) GetSMSAttributesWithContext(ctx aws.Context, input *GetSMSAttribut return out, req.Send() } +const opGetSMSSandboxAccountStatus = "GetSMSSandboxAccountStatus" + +// GetSMSSandboxAccountStatusRequest generates a "aws/request.Request" representing the +// client's request for the GetSMSSandboxAccountStatus operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetSMSSandboxAccountStatus for more information on using the GetSMSSandboxAccountStatus +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetSMSSandboxAccountStatusRequest method. +// req, resp := client.GetSMSSandboxAccountStatusRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSMSSandboxAccountStatus +func (c *SNS) GetSMSSandboxAccountStatusRequest(input *GetSMSSandboxAccountStatusInput) (req *request.Request, output *GetSMSSandboxAccountStatusOutput) { + op := &request.Operation{ + Name: opGetSMSSandboxAccountStatus, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetSMSSandboxAccountStatusInput{} + } + + output = &GetSMSSandboxAccountStatusOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetSMSSandboxAccountStatus API operation for Amazon Simple Notification Service. +// +// Retrieves the SMS sandbox status for the calling AWS account in the target +// AWS Region. +// +// When you start using Amazon SNS to send SMS messages, your AWS account is +// in the SMS sandbox. The SMS sandbox provides a safe environment for you to +// try Amazon SNS features without risking your reputation as an SMS sender. +// While your account is in the SMS sandbox, you can use all of the features +// of Amazon SNS. However, you can send SMS messages only to verified destination +// phone numbers. For more information, including how to move out of the sandbox +// to send messages without restrictions, see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) +// in the Amazon SNS Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation GetSMSSandboxAccountStatus for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeThrottledException "Throttled" +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/GetSMSSandboxAccountStatus +func (c *SNS) GetSMSSandboxAccountStatus(input *GetSMSSandboxAccountStatusInput) (*GetSMSSandboxAccountStatusOutput, error) { + req, out := c.GetSMSSandboxAccountStatusRequest(input) + return out, req.Send() +} + +// GetSMSSandboxAccountStatusWithContext is the same as GetSMSSandboxAccountStatus with the addition of +// the ability to pass a context and additional request options. +// +// See GetSMSSandboxAccountStatus for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) GetSMSSandboxAccountStatusWithContext(ctx aws.Context, input *GetSMSSandboxAccountStatusInput, opts ...request.Option) (*GetSMSSandboxAccountStatusOutput, error) { + req, out := c.GetSMSSandboxAccountStatusRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetSubscriptionAttributes = "GetSubscriptionAttributes" // GetSubscriptionAttributesRequest generates a "aws/request.Request" representing the @@ -1510,6 +1821,158 @@ func (c *SNS) ListEndpointsByPlatformApplicationPagesWithContext(ctx aws.Context return p.Err() } +const opListOriginationNumbers = "ListOriginationNumbers" + +// ListOriginationNumbersRequest generates a "aws/request.Request" representing the +// client's request for the ListOriginationNumbers operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListOriginationNumbers for more information on using the ListOriginationNumbers +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListOriginationNumbersRequest method. +// req, resp := client.ListOriginationNumbersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListOriginationNumbers +func (c *SNS) ListOriginationNumbersRequest(input *ListOriginationNumbersInput) (req *request.Request, output *ListOriginationNumbersOutput) { + op := &request.Operation{ + Name: opListOriginationNumbers, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListOriginationNumbersInput{} + } + + output = &ListOriginationNumbersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListOriginationNumbers API operation for Amazon Simple Notification Service. +// +// Lists the calling AWS account's dedicated origination numbers and their metadata. +// For more information about origination numbers, see Origination numbers (https://docs.aws.amazon.com/sns/latest/dg/channels-sms-originating-identities-origination-numbers.html) +// in the Amazon SNS Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation ListOriginationNumbers for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeThrottledException "Throttled" +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeValidationException "ValidationException" +// Indicates that a parameter in the request is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListOriginationNumbers +func (c *SNS) ListOriginationNumbers(input *ListOriginationNumbersInput) (*ListOriginationNumbersOutput, error) { + req, out := c.ListOriginationNumbersRequest(input) + return out, req.Send() +} + +// ListOriginationNumbersWithContext is the same as ListOriginationNumbers with the addition of +// the ability to pass a context and additional request options. +// +// See ListOriginationNumbers for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ListOriginationNumbersWithContext(ctx aws.Context, input *ListOriginationNumbersInput, opts ...request.Option) (*ListOriginationNumbersOutput, error) { + req, out := c.ListOriginationNumbersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListOriginationNumbersPages iterates over the pages of a ListOriginationNumbers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListOriginationNumbers 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 ListOriginationNumbers operation. +// pageNum := 0 +// err := client.ListOriginationNumbersPages(params, +// func(page *sns.ListOriginationNumbersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SNS) ListOriginationNumbersPages(input *ListOriginationNumbersInput, fn func(*ListOriginationNumbersOutput, bool) bool) error { + return c.ListOriginationNumbersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListOriginationNumbersPagesWithContext same as ListOriginationNumbersPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ListOriginationNumbersPagesWithContext(ctx aws.Context, input *ListOriginationNumbersInput, fn func(*ListOriginationNumbersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListOriginationNumbersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListOriginationNumbersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListOriginationNumbersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListPhoneNumbersOptedOut = "ListPhoneNumbersOptedOut" // ListPhoneNumbersOptedOutRequest generates a "aws/request.Request" representing the @@ -1607,143 +2070,304 @@ func (c *SNS) ListPhoneNumbersOptedOutWithContext(ctx aws.Context, input *ListPh return out, req.Send() } -const opListPlatformApplications = "ListPlatformApplications" +const opListPlatformApplications = "ListPlatformApplications" + +// ListPlatformApplicationsRequest generates a "aws/request.Request" representing the +// client's request for the ListPlatformApplications operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListPlatformApplications for more information on using the ListPlatformApplications +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListPlatformApplicationsRequest method. +// req, resp := client.ListPlatformApplicationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListPlatformApplications +func (c *SNS) ListPlatformApplicationsRequest(input *ListPlatformApplicationsInput) (req *request.Request, output *ListPlatformApplicationsOutput) { + op := &request.Operation{ + Name: opListPlatformApplications, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPlatformApplicationsInput{} + } + + output = &ListPlatformApplicationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPlatformApplications API operation for Amazon Simple Notification Service. +// +// Lists the platform application objects for the supported push notification +// services, such as APNS and GCM (Firebase Cloud Messaging). The results for +// ListPlatformApplications are paginated and return a limited list of applications, +// up to 100. If additional records are available after the first page results, +// then a NextToken string will be returned. To receive the next page, you call +// ListPlatformApplications using the NextToken string received from the previous +// call. When there are no more records to return, NextToken will be null. For +// more information, see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// +// This action is throttled at 15 transactions per second (TPS). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation ListPlatformApplications for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListPlatformApplications +func (c *SNS) ListPlatformApplications(input *ListPlatformApplicationsInput) (*ListPlatformApplicationsOutput, error) { + req, out := c.ListPlatformApplicationsRequest(input) + return out, req.Send() +} + +// ListPlatformApplicationsWithContext is the same as ListPlatformApplications with the addition of +// the ability to pass a context and additional request options. +// +// See ListPlatformApplications for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ListPlatformApplicationsWithContext(ctx aws.Context, input *ListPlatformApplicationsInput, opts ...request.Option) (*ListPlatformApplicationsOutput, error) { + req, out := c.ListPlatformApplicationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPlatformApplicationsPages iterates over the pages of a ListPlatformApplications operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPlatformApplications 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 ListPlatformApplications operation. +// pageNum := 0 +// err := client.ListPlatformApplicationsPages(params, +// func(page *sns.ListPlatformApplicationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SNS) ListPlatformApplicationsPages(input *ListPlatformApplicationsInput, fn func(*ListPlatformApplicationsOutput, bool) bool) error { + return c.ListPlatformApplicationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPlatformApplicationsPagesWithContext same as ListPlatformApplicationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) ListPlatformApplicationsPagesWithContext(ctx aws.Context, input *ListPlatformApplicationsInput, fn func(*ListPlatformApplicationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPlatformApplicationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPlatformApplicationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPlatformApplicationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListSMSSandboxPhoneNumbers = "ListSMSSandboxPhoneNumbers" -// ListPlatformApplicationsRequest generates a "aws/request.Request" representing the -// client's request for the ListPlatformApplications operation. The "output" return +// ListSMSSandboxPhoneNumbersRequest generates a "aws/request.Request" representing the +// client's request for the ListSMSSandboxPhoneNumbers operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListPlatformApplications for more information on using the ListPlatformApplications +// See ListSMSSandboxPhoneNumbers for more information on using the ListSMSSandboxPhoneNumbers // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the ListPlatformApplicationsRequest method. -// req, resp := client.ListPlatformApplicationsRequest(params) +// // Example sending a request using the ListSMSSandboxPhoneNumbersRequest method. +// req, resp := client.ListSMSSandboxPhoneNumbersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListPlatformApplications -func (c *SNS) ListPlatformApplicationsRequest(input *ListPlatformApplicationsInput) (req *request.Request, output *ListPlatformApplicationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListSMSSandboxPhoneNumbers +func (c *SNS) ListSMSSandboxPhoneNumbersRequest(input *ListSMSSandboxPhoneNumbersInput) (req *request.Request, output *ListSMSSandboxPhoneNumbersOutput) { op := &request.Operation{ - Name: opListPlatformApplications, + Name: opListSMSSandboxPhoneNumbers, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, - LimitToken: "", + LimitToken: "MaxResults", TruncationToken: "", }, } if input == nil { - input = &ListPlatformApplicationsInput{} + input = &ListSMSSandboxPhoneNumbersInput{} } - output = &ListPlatformApplicationsOutput{} + output = &ListSMSSandboxPhoneNumbersOutput{} req = c.newRequest(op, input, output) return } -// ListPlatformApplications API operation for Amazon Simple Notification Service. +// ListSMSSandboxPhoneNumbers API operation for Amazon Simple Notification Service. // -// Lists the platform application objects for the supported push notification -// services, such as APNS and GCM (Firebase Cloud Messaging). The results for -// ListPlatformApplications are paginated and return a limited list of applications, -// up to 100. If additional records are available after the first page results, -// then a NextToken string will be returned. To receive the next page, you call -// ListPlatformApplications using the NextToken string received from the previous -// call. When there are no more records to return, NextToken will be null. For -// more information, see Using Amazon SNS Mobile Push Notifications (https://docs.aws.amazon.com/sns/latest/dg/SNSMobilePush.html). +// Lists the calling AWS account's current verified and pending destination +// phone numbers in the SMS sandbox. // -// This action is throttled at 15 transactions per second (TPS). +// When you start using Amazon SNS to send SMS messages, your AWS account is +// in the SMS sandbox. The SMS sandbox provides a safe environment for you to +// try Amazon SNS features without risking your reputation as an SMS sender. +// While your account is in the SMS sandbox, you can use all of the features +// of Amazon SNS. However, you can send SMS messages only to verified destination +// phone numbers. For more information, including how to move out of the sandbox +// to send messages without restrictions, see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) +// in the Amazon SNS Developer Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Simple Notification Service's -// API operation ListPlatformApplications for usage and error information. +// API operation ListSMSSandboxPhoneNumbers for usage and error information. // // Returned Error Codes: -// * ErrCodeInvalidParameterException "InvalidParameter" -// Indicates that a request parameter does not comply with the associated constraints. +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. // // * ErrCodeInternalErrorException "InternalError" // Indicates an internal service error. // -// * ErrCodeAuthorizationErrorException "AuthorizationError" -// Indicates that the user has been denied access to the requested resource. +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListPlatformApplications -func (c *SNS) ListPlatformApplications(input *ListPlatformApplicationsInput) (*ListPlatformApplicationsOutput, error) { - req, out := c.ListPlatformApplicationsRequest(input) +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// Can’t perform the action on the specified resource. Make sure that the +// resource exists. +// +// * ErrCodeThrottledException "Throttled" +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/ListSMSSandboxPhoneNumbers +func (c *SNS) ListSMSSandboxPhoneNumbers(input *ListSMSSandboxPhoneNumbersInput) (*ListSMSSandboxPhoneNumbersOutput, error) { + req, out := c.ListSMSSandboxPhoneNumbersRequest(input) return out, req.Send() } -// ListPlatformApplicationsWithContext is the same as ListPlatformApplications with the addition of +// ListSMSSandboxPhoneNumbersWithContext is the same as ListSMSSandboxPhoneNumbers with the addition of // the ability to pass a context and additional request options. // -// See ListPlatformApplications for details on how to use this API operation. +// See ListSMSSandboxPhoneNumbers for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SNS) ListPlatformApplicationsWithContext(ctx aws.Context, input *ListPlatformApplicationsInput, opts ...request.Option) (*ListPlatformApplicationsOutput, error) { - req, out := c.ListPlatformApplicationsRequest(input) +func (c *SNS) ListSMSSandboxPhoneNumbersWithContext(ctx aws.Context, input *ListSMSSandboxPhoneNumbersInput, opts ...request.Option) (*ListSMSSandboxPhoneNumbersOutput, error) { + req, out := c.ListSMSSandboxPhoneNumbersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListPlatformApplicationsPages iterates over the pages of a ListPlatformApplications operation, +// ListSMSSandboxPhoneNumbersPages iterates over the pages of a ListSMSSandboxPhoneNumbers operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListPlatformApplications method for more information on how to use this operation. +// See ListSMSSandboxPhoneNumbers 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 ListPlatformApplications operation. +// // Example iterating over at most 3 pages of a ListSMSSandboxPhoneNumbers operation. // pageNum := 0 -// err := client.ListPlatformApplicationsPages(params, -// func(page *sns.ListPlatformApplicationsOutput, lastPage bool) bool { +// err := client.ListSMSSandboxPhoneNumbersPages(params, +// func(page *sns.ListSMSSandboxPhoneNumbersOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *SNS) ListPlatformApplicationsPages(input *ListPlatformApplicationsInput, fn func(*ListPlatformApplicationsOutput, bool) bool) error { - return c.ListPlatformApplicationsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *SNS) ListSMSSandboxPhoneNumbersPages(input *ListSMSSandboxPhoneNumbersInput, fn func(*ListSMSSandboxPhoneNumbersOutput, bool) bool) error { + return c.ListSMSSandboxPhoneNumbersPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListPlatformApplicationsPagesWithContext same as ListPlatformApplicationsPages except +// ListSMSSandboxPhoneNumbersPagesWithContext same as ListSMSSandboxPhoneNumbersPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *SNS) ListPlatformApplicationsPagesWithContext(ctx aws.Context, input *ListPlatformApplicationsInput, fn func(*ListPlatformApplicationsOutput, bool) bool, opts ...request.Option) error { +func (c *SNS) ListSMSSandboxPhoneNumbersPagesWithContext(ctx aws.Context, input *ListSMSSandboxPhoneNumbersInput, fn func(*ListSMSSandboxPhoneNumbersOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListPlatformApplicationsInput + var inCpy *ListSMSSandboxPhoneNumbersInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListPlatformApplicationsRequest(inCpy) + req, _ := c.ListSMSSandboxPhoneNumbersRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1751,7 +2375,7 @@ func (c *SNS) ListPlatformApplicationsPagesWithContext(ctx aws.Context, input *L } for p.Next() { - if !fn(p.Page().(*ListPlatformApplicationsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListSMSSandboxPhoneNumbersOutput), !p.HasNextPage()) { break } } @@ -2115,7 +2739,8 @@ func (c *SNS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req * // // Returned Error Codes: // * ErrCodeResourceNotFoundException "ResourceNotFound" -// Can't tag resource. Verify that the topic exists. +// Can’t perform the action on the specified resource. Make sure that the +// resource exists. // // * ErrCodeTagPolicyException "TagPolicy" // The request doesn't comply with the IAM tag policy. Correct your request @@ -3281,7 +3906,8 @@ func (c *SNS) TagResourceRequest(input *TagResourceInput) (req *request.Request, // // Returned Error Codes: // * ErrCodeResourceNotFoundException "ResourceNotFound" -// Can't tag resource. Verify that the topic exists. +// Can’t perform the action on the specified resource. Make sure that the +// resource exists. // // * ErrCodeTagLimitExceededException "TagLimitExceeded" // Can't add more than 50 tags to a topic. @@ -3484,7 +4110,8 @@ func (c *SNS) UntagResourceRequest(input *UntagResourceInput) (req *request.Requ // // Returned Error Codes: // * ErrCodeResourceNotFoundException "ResourceNotFound" -// Can't tag resource. Verify that the topic exists. +// Can’t perform the action on the specified resource. Make sure that the +// resource exists. // // * ErrCodeTagLimitExceededException "TagLimitExceeded" // Can't add more than 50 tags to a topic. @@ -3529,6 +4156,113 @@ func (c *SNS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInpu return out, req.Send() } +const opVerifySMSSandboxPhoneNumber = "VerifySMSSandboxPhoneNumber" + +// VerifySMSSandboxPhoneNumberRequest generates a "aws/request.Request" representing the +// client's request for the VerifySMSSandboxPhoneNumber operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See VerifySMSSandboxPhoneNumber for more information on using the VerifySMSSandboxPhoneNumber +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the VerifySMSSandboxPhoneNumberRequest method. +// req, resp := client.VerifySMSSandboxPhoneNumberRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/VerifySMSSandboxPhoneNumber +func (c *SNS) VerifySMSSandboxPhoneNumberRequest(input *VerifySMSSandboxPhoneNumberInput) (req *request.Request, output *VerifySMSSandboxPhoneNumberOutput) { + op := &request.Operation{ + Name: opVerifySMSSandboxPhoneNumber, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &VerifySMSSandboxPhoneNumberInput{} + } + + output = &VerifySMSSandboxPhoneNumberOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// VerifySMSSandboxPhoneNumber API operation for Amazon Simple Notification Service. +// +// Verifies a destination phone number with a one-time password (OTP) for the +// calling AWS account. +// +// When you start using Amazon SNS to send SMS messages, your AWS account is +// in the SMS sandbox. The SMS sandbox provides a safe environment for you to +// try Amazon SNS features without risking your reputation as an SMS sender. +// While your account is in the SMS sandbox, you can use all of the features +// of Amazon SNS. However, you can send SMS messages only to verified destination +// phone numbers. For more information, including how to move out of the sandbox +// to send messages without restrictions, see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) +// in the Amazon SNS Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Notification Service's +// API operation VerifySMSSandboxPhoneNumber for usage and error information. +// +// Returned Error Codes: +// * ErrCodeAuthorizationErrorException "AuthorizationError" +// Indicates that the user has been denied access to the requested resource. +// +// * ErrCodeInternalErrorException "InternalError" +// Indicates an internal service error. +// +// * ErrCodeInvalidParameterException "InvalidParameter" +// Indicates that a request parameter does not comply with the associated constraints. +// +// * ErrCodeResourceNotFoundException "ResourceNotFound" +// Can’t perform the action on the specified resource. Make sure that the +// resource exists. +// +// * ErrCodeVerificationException "VerificationException" +// Indicates that the one-time password (OTP) used for verification is invalid. +// +// * ErrCodeThrottledException "Throttled" +// Indicates that the rate at which requests have been submitted for this action +// exceeds the limit for your account. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sns-2010-03-31/VerifySMSSandboxPhoneNumber +func (c *SNS) VerifySMSSandboxPhoneNumber(input *VerifySMSSandboxPhoneNumberInput) (*VerifySMSSandboxPhoneNumberOutput, error) { + req, out := c.VerifySMSSandboxPhoneNumberRequest(input) + return out, req.Send() +} + +// VerifySMSSandboxPhoneNumberWithContext is the same as VerifySMSSandboxPhoneNumber with the addition of +// the ability to pass a context and additional request options. +// +// See VerifySMSSandboxPhoneNumber for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SNS) VerifySMSSandboxPhoneNumberWithContext(ctx aws.Context, input *VerifySMSSandboxPhoneNumberInput, opts ...request.Option) (*VerifySMSSandboxPhoneNumberOutput, error) { + req, out := c.VerifySMSSandboxPhoneNumberRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + type AddPermissionInput struct { _ struct{} `type:"structure"` @@ -3789,7 +4523,7 @@ func (s *ConfirmSubscriptionOutput) SetSubscriptionArn(v string) *ConfirmSubscri type CreatePlatformApplicationInput struct { _ struct{} `type:"structure"` - // For a list of attributes, see SetPlatformApplicationAttributes (https://docs.aws.amazon.com/sns/latest/api/API_SetPlatformApplicationAttributes.html) + // For a list of attributes, see SetPlatformApplicationAttributes (https://docs.aws.amazon.com/sns/latest/api/API_SetPlatformApplicationAttributes.html). // // Attributes is a required field Attributes map[string]*string `type:"map" required:"true"` @@ -3982,6 +4716,69 @@ func (s *CreatePlatformEndpointOutput) SetEndpointArn(v string) *CreatePlatformE return s } +type CreateSMSSandboxPhoneNumberInput struct { + _ struct{} `type:"structure"` + + // The language to use for sending the OTP. The default value is en-US. + LanguageCode *string `type:"string" enum:"LanguageCodeString"` + + // The destination phone number to verify. On verification, Amazon SNS adds + // this phone number to the list of verified phone numbers that you can send + // SMS messages to. + // + // PhoneNumber is a required field + PhoneNumber *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateSMSSandboxPhoneNumberInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSMSSandboxPhoneNumberInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSMSSandboxPhoneNumberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSMSSandboxPhoneNumberInput"} + if s.PhoneNumber == nil { + invalidParams.Add(request.NewErrParamRequired("PhoneNumber")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLanguageCode sets the LanguageCode field's value. +func (s *CreateSMSSandboxPhoneNumberInput) SetLanguageCode(v string) *CreateSMSSandboxPhoneNumberInput { + s.LanguageCode = &v + return s +} + +// SetPhoneNumber sets the PhoneNumber field's value. +func (s *CreateSMSSandboxPhoneNumberInput) SetPhoneNumber(v string) *CreateSMSSandboxPhoneNumberInput { + s.PhoneNumber = &v + return s +} + +type CreateSMSSandboxPhoneNumberOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreateSMSSandboxPhoneNumberOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSMSSandboxPhoneNumberOutput) GoString() string { + return s.String() +} + // Input for CreateTopic action. type CreateTopicInput struct { _ struct{} `type:"structure"` @@ -4001,9 +4798,9 @@ type CreateTopicInput struct { // * Policy – The policy that defines who can access your topic. By default, // only the topic owner can publish or subscribe to the topic. // - // The following attribute applies only to server-side-encryption (https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html): + // The following attribute applies only to server-side encryption (https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html): // - // * KmsMasterKeyId – The ID of an AWS-managed customer master key (CMK) + // * KmsMasterKeyId – The ID of an AWS managed customer master key (CMK) // for Amazon SNS or a custom CMK. For more information, see Key Terms (https://docs.aws.amazon.com/sns/latest/dg/sns-server-side-encryption.html#sse-key-terms). // For more examples, see KeyId (https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters) // in the AWS Key Management Service API Reference. @@ -4019,7 +4816,7 @@ type CreateTopicInput struct { // action. When you set ContentBasedDeduplication to true, Amazon SNS uses // a SHA-256 hash to generate the MessageDeduplicationId using the body of // the message (but not the attributes of the message). (Optional) To override - // the generated value, you can specify a value for the the MessageDeduplicationId + // the generated value, you can specify a value for the MessageDeduplicationId // parameter for the Publish action. Attributes map[string]*string `type:"map"` @@ -4222,6 +5019,58 @@ func (s DeletePlatformApplicationOutput) GoString() string { return s.String() } +type DeleteSMSSandboxPhoneNumberInput struct { + _ struct{} `type:"structure"` + + // The destination phone number to delete. + // + // PhoneNumber is a required field + PhoneNumber *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteSMSSandboxPhoneNumberInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSMSSandboxPhoneNumberInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSMSSandboxPhoneNumberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSMSSandboxPhoneNumberInput"} + if s.PhoneNumber == nil { + invalidParams.Add(request.NewErrParamRequired("PhoneNumber")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPhoneNumber sets the PhoneNumber field's value. +func (s *DeleteSMSSandboxPhoneNumberInput) SetPhoneNumber(v string) *DeleteSMSSandboxPhoneNumberInput { + s.PhoneNumber = &v + return s +} + +type DeleteSMSSandboxPhoneNumberOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteSMSSandboxPhoneNumberOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSMSSandboxPhoneNumberOutput) GoString() string { + return s.String() +} + type DeleteTopicInput struct { _ struct{} `type:"structure"` @@ -4507,9 +5356,48 @@ func (s GetSMSAttributesOutput) GoString() string { return s.String() } -// SetAttributes sets the Attributes field's value. -func (s *GetSMSAttributesOutput) SetAttributes(v map[string]*string) *GetSMSAttributesOutput { - s.Attributes = v +// SetAttributes sets the Attributes field's value. +func (s *GetSMSAttributesOutput) SetAttributes(v map[string]*string) *GetSMSAttributesOutput { + s.Attributes = v + return s +} + +type GetSMSSandboxAccountStatusInput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s GetSMSSandboxAccountStatusInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSMSSandboxAccountStatusInput) GoString() string { + return s.String() +} + +type GetSMSSandboxAccountStatusOutput struct { + _ struct{} `type:"structure"` + + // Indicates whether the calling account is in the SMS sandbox. + // + // IsInSandbox is a required field + IsInSandbox *bool `type:"boolean" required:"true"` +} + +// String returns the string representation +func (s GetSMSSandboxAccountStatusOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetSMSSandboxAccountStatusOutput) GoString() string { + return s.String() +} + +// SetIsInSandbox sets the IsInSandbox field's value. +func (s *GetSMSSandboxAccountStatusOutput) SetIsInSandbox(v bool) *GetSMSSandboxAccountStatusOutput { + s.IsInSandbox = &v return s } @@ -4709,7 +5597,7 @@ type GetTopicAttributesOutput struct { // action. When you set ContentBasedDeduplication to true, Amazon SNS uses // a SHA-256 hash to generate the MessageDeduplicationId using the body of // the message (but not the attributes of the message). (Optional) To override - // the generated value, you can specify a value for the the MessageDeduplicationId + // the generated value, you can specify a value for the MessageDeduplicationId // parameter for the Publish action. Attributes map[string]*string `type:"map"` } @@ -4814,6 +5702,84 @@ func (s *ListEndpointsByPlatformApplicationOutput) SetNextToken(v string) *ListE return s } +type ListOriginationNumbersInput struct { + _ struct{} `type:"structure"` + + // The maximum number of origination numbers to return. + MaxResults *int64 `min:"1" type:"integer"` + + // Token that the previous ListOriginationNumbers request returns. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListOriginationNumbersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListOriginationNumbersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListOriginationNumbersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListOriginationNumbersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListOriginationNumbersInput) SetMaxResults(v int64) *ListOriginationNumbersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOriginationNumbersInput) SetNextToken(v string) *ListOriginationNumbersInput { + s.NextToken = &v + return s +} + +type ListOriginationNumbersOutput struct { + _ struct{} `type:"structure"` + + // A NextToken string is returned when you call the ListOriginationNumbers operation + // if additional pages of records are available. + NextToken *string `type:"string"` + + // A list of the calling account's verified and pending origination numbers. + PhoneNumbers []*PhoneNumberInformation `type:"list"` +} + +// String returns the string representation +func (s ListOriginationNumbersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListOriginationNumbersOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListOriginationNumbersOutput) SetNextToken(v string) *ListOriginationNumbersOutput { + s.NextToken = &v + return s +} + +// SetPhoneNumbers sets the PhoneNumbers field's value. +func (s *ListOriginationNumbersOutput) SetPhoneNumbers(v []*PhoneNumberInformation) *ListOriginationNumbersOutput { + s.PhoneNumbers = v + return s +} + // The input for the ListPhoneNumbersOptedOut action. type ListPhoneNumbersOptedOutInput struct { _ struct{} `type:"structure"` @@ -4934,6 +5900,86 @@ func (s *ListPlatformApplicationsOutput) SetPlatformApplications(v []*PlatformAp return s } +type ListSMSSandboxPhoneNumbersInput struct { + _ struct{} `type:"structure"` + + // The maximum number of phone numbers to return. + MaxResults *int64 `min:"1" type:"integer"` + + // Token that the previous ListSMSSandboxPhoneNumbersInput request returns. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListSMSSandboxPhoneNumbersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSMSSandboxPhoneNumbersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListSMSSandboxPhoneNumbersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSMSSandboxPhoneNumbersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListSMSSandboxPhoneNumbersInput) SetMaxResults(v int64) *ListSMSSandboxPhoneNumbersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSMSSandboxPhoneNumbersInput) SetNextToken(v string) *ListSMSSandboxPhoneNumbersInput { + s.NextToken = &v + return s +} + +type ListSMSSandboxPhoneNumbersOutput struct { + _ struct{} `type:"structure"` + + // A NextToken string is returned when you call the ListSMSSandboxPhoneNumbersInput + // operation if additional pages of records are available. + NextToken *string `type:"string"` + + // A list of the calling account's pending and verified phone numbers. + // + // PhoneNumbers is a required field + PhoneNumbers []*SMSSandboxPhoneNumber `type:"list" required:"true"` +} + +// String returns the string representation +func (s ListSMSSandboxPhoneNumbersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListSMSSandboxPhoneNumbersOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListSMSSandboxPhoneNumbersOutput) SetNextToken(v string) *ListSMSSandboxPhoneNumbersOutput { + s.NextToken = &v + return s +} + +// SetPhoneNumbers sets the PhoneNumbers field's value. +func (s *ListSMSSandboxPhoneNumbersOutput) SetPhoneNumbers(v []*SMSSandboxPhoneNumber) *ListSMSSandboxPhoneNumbersOutput { + s.PhoneNumbers = v + return s +} + // Input for ListSubscriptionsByTopic action. type ListSubscriptionsByTopicInput struct { _ struct{} `type:"structure"` @@ -5322,6 +6368,75 @@ func (s OptInPhoneNumberOutput) GoString() string { return s.String() } +// A list of phone numbers and their metadata. +type PhoneNumberInformation struct { + _ struct{} `type:"structure"` + + // The date and time when the phone number was created. + CreatedAt *time.Time `type:"timestamp"` + + // The two-character code for the country or region, in ISO 3166-1 alpha-2 format. + Iso2CountryCode *string `type:"string"` + + // The capabilities of each phone number. + NumberCapabilities []*string `type:"list"` + + // The phone number. + PhoneNumber *string `type:"string"` + + // The list of supported routes. + RouteType *string `type:"string" enum:"RouteType"` + + // The status of the phone number. + Status *string `type:"string"` +} + +// String returns the string representation +func (s PhoneNumberInformation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PhoneNumberInformation) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *PhoneNumberInformation) SetCreatedAt(v time.Time) *PhoneNumberInformation { + s.CreatedAt = &v + return s +} + +// SetIso2CountryCode sets the Iso2CountryCode field's value. +func (s *PhoneNumberInformation) SetIso2CountryCode(v string) *PhoneNumberInformation { + s.Iso2CountryCode = &v + return s +} + +// SetNumberCapabilities sets the NumberCapabilities field's value. +func (s *PhoneNumberInformation) SetNumberCapabilities(v []*string) *PhoneNumberInformation { + s.NumberCapabilities = v + return s +} + +// SetPhoneNumber sets the PhoneNumber field's value. +func (s *PhoneNumberInformation) SetPhoneNumber(v string) *PhoneNumberInformation { + s.PhoneNumber = &v + return s +} + +// SetRouteType sets the RouteType field's value. +func (s *PhoneNumberInformation) SetRouteType(v string) *PhoneNumberInformation { + s.RouteType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *PhoneNumberInformation) SetStatus(v string) *PhoneNumberInformation { + s.Status = &v + return s +} + // Platform application object. type PlatformApplication struct { _ struct{} `type:"structure"` @@ -5670,6 +6785,48 @@ func (s RemovePermissionOutput) GoString() string { return s.String() } +// A verified or pending destination phone number in the SMS sandbox. +// +// When you start using Amazon SNS to send SMS messages, your AWS account is +// in the SMS sandbox. The SMS sandbox provides a safe environment for you to +// try Amazon SNS features without risking your reputation as an SMS sender. +// While your account is in the SMS sandbox, you can use all of the features +// of Amazon SNS. However, you can send SMS messages only to verified destination +// phone numbers. For more information, including how to move out of the sandbox +// to send messages without restrictions, see SMS sandbox (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) +// in the Amazon SNS Developer Guide. +type SMSSandboxPhoneNumber struct { + _ struct{} `type:"structure"` + + // The destination phone number. + PhoneNumber *string `type:"string"` + + // The destination phone number's verification status. + Status *string `type:"string" enum:"SMSSandboxPhoneNumberVerificationStatus"` +} + +// String returns the string representation +func (s SMSSandboxPhoneNumber) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SMSSandboxPhoneNumber) GoString() string { + return s.String() +} + +// SetPhoneNumber sets the PhoneNumber field's value. +func (s *SMSSandboxPhoneNumber) SetPhoneNumber(v string) *SMSSandboxPhoneNumber { + s.PhoneNumber = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *SMSSandboxPhoneNumber) SetStatus(v string) *SMSSandboxPhoneNumber { + s.Status = &v + return s +} + // Input for SetEndpointAttributes action. type SetEndpointAttributesInput struct { _ struct{} `type:"structure"` @@ -6119,7 +7276,7 @@ type SetTopicAttributesInput struct { // action. When you set ContentBasedDeduplication to true, Amazon SNS uses // a SHA-256 hash to generate the MessageDeduplicationId using the body of // the message (but not the attributes of the message). (Optional) To override - // the generated value, you can specify a value for the the MessageDeduplicationId + // the generated value, you can specify a value for the MessageDeduplicationId // parameter for the Publish action. // // AttributeName is a required field @@ -6727,3 +7884,199 @@ func (s UntagResourceOutput) String() string { func (s UntagResourceOutput) GoString() string { return s.String() } + +type VerifySMSSandboxPhoneNumberInput struct { + _ struct{} `type:"structure"` + + // The OTP sent to the destination number from the CreateSMSSandBoxPhoneNumber + // call. + // + // OneTimePassword is a required field + OneTimePassword *string `min:"5" type:"string" required:"true"` + + // The destination phone number to verify. + // + // PhoneNumber is a required field + PhoneNumber *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s VerifySMSSandboxPhoneNumberInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VerifySMSSandboxPhoneNumberInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VerifySMSSandboxPhoneNumberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VerifySMSSandboxPhoneNumberInput"} + if s.OneTimePassword == nil { + invalidParams.Add(request.NewErrParamRequired("OneTimePassword")) + } + if s.OneTimePassword != nil && len(*s.OneTimePassword) < 5 { + invalidParams.Add(request.NewErrParamMinLen("OneTimePassword", 5)) + } + if s.PhoneNumber == nil { + invalidParams.Add(request.NewErrParamRequired("PhoneNumber")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOneTimePassword sets the OneTimePassword field's value. +func (s *VerifySMSSandboxPhoneNumberInput) SetOneTimePassword(v string) *VerifySMSSandboxPhoneNumberInput { + s.OneTimePassword = &v + return s +} + +// SetPhoneNumber sets the PhoneNumber field's value. +func (s *VerifySMSSandboxPhoneNumberInput) SetPhoneNumber(v string) *VerifySMSSandboxPhoneNumberInput { + s.PhoneNumber = &v + return s +} + +// The destination phone number's verification status. +type VerifySMSSandboxPhoneNumberOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s VerifySMSSandboxPhoneNumberOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s VerifySMSSandboxPhoneNumberOutput) GoString() string { + return s.String() +} + +// Supported language code for sending OTP message +const ( + // LanguageCodeStringEnUs is a LanguageCodeString enum value + LanguageCodeStringEnUs = "en-US" + + // LanguageCodeStringEnGb is a LanguageCodeString enum value + LanguageCodeStringEnGb = "en-GB" + + // LanguageCodeStringEs419 is a LanguageCodeString enum value + LanguageCodeStringEs419 = "es-419" + + // LanguageCodeStringEsEs is a LanguageCodeString enum value + LanguageCodeStringEsEs = "es-ES" + + // LanguageCodeStringDeDe is a LanguageCodeString enum value + LanguageCodeStringDeDe = "de-DE" + + // LanguageCodeStringFrCa is a LanguageCodeString enum value + LanguageCodeStringFrCa = "fr-CA" + + // LanguageCodeStringFrFr is a LanguageCodeString enum value + LanguageCodeStringFrFr = "fr-FR" + + // LanguageCodeStringItIt is a LanguageCodeString enum value + LanguageCodeStringItIt = "it-IT" + + // LanguageCodeStringJaJp is a LanguageCodeString enum value + LanguageCodeStringJaJp = "ja-JP" + + // LanguageCodeStringPtBr is a LanguageCodeString enum value + LanguageCodeStringPtBr = "pt-BR" + + // LanguageCodeStringKrKr is a LanguageCodeString enum value + LanguageCodeStringKrKr = "kr-KR" + + // LanguageCodeStringZhCn is a LanguageCodeString enum value + LanguageCodeStringZhCn = "zh-CN" + + // LanguageCodeStringZhTw is a LanguageCodeString enum value + LanguageCodeStringZhTw = "zh-TW" +) + +// LanguageCodeString_Values returns all elements of the LanguageCodeString enum +func LanguageCodeString_Values() []string { + return []string{ + LanguageCodeStringEnUs, + LanguageCodeStringEnGb, + LanguageCodeStringEs419, + LanguageCodeStringEsEs, + LanguageCodeStringDeDe, + LanguageCodeStringFrCa, + LanguageCodeStringFrFr, + LanguageCodeStringItIt, + LanguageCodeStringJaJp, + LanguageCodeStringPtBr, + LanguageCodeStringKrKr, + LanguageCodeStringZhCn, + LanguageCodeStringZhTw, + } +} + +// Enum listing out all supported number capabilities. +const ( + // NumberCapabilitySms is a NumberCapability enum value + NumberCapabilitySms = "SMS" + + // NumberCapabilityMms is a NumberCapability enum value + NumberCapabilityMms = "MMS" + + // NumberCapabilityVoice is a NumberCapability enum value + NumberCapabilityVoice = "VOICE" +) + +// NumberCapability_Values returns all elements of the NumberCapability enum +func NumberCapability_Values() []string { + return []string{ + NumberCapabilitySms, + NumberCapabilityMms, + NumberCapabilityVoice, + } +} + +// Enum listing out all supported route types. The following enum values are +// supported. 1. Transactional : Non-marketing traffic 2. Promotional : Marketing +// 3. Premium : Premium routes for OTP delivery to the carriers +const ( + // RouteTypeTransactional is a RouteType enum value + RouteTypeTransactional = "Transactional" + + // RouteTypePromotional is a RouteType enum value + RouteTypePromotional = "Promotional" + + // RouteTypePremium is a RouteType enum value + RouteTypePremium = "Premium" +) + +// RouteType_Values returns all elements of the RouteType enum +func RouteType_Values() []string { + return []string{ + RouteTypeTransactional, + RouteTypePromotional, + RouteTypePremium, + } +} + +// Enum listing out all supported destination phone number verification statuses. +// The following enum values are supported. 1. PENDING : The destination phone +// number is pending verification. 2. VERIFIED : The destination phone number +// is verified. +const ( + // SMSSandboxPhoneNumberVerificationStatusPending is a SMSSandboxPhoneNumberVerificationStatus enum value + SMSSandboxPhoneNumberVerificationStatusPending = "Pending" + + // SMSSandboxPhoneNumberVerificationStatusVerified is a SMSSandboxPhoneNumberVerificationStatus enum value + SMSSandboxPhoneNumberVerificationStatusVerified = "Verified" +) + +// SMSSandboxPhoneNumberVerificationStatus_Values returns all elements of the SMSSandboxPhoneNumberVerificationStatus enum +func SMSSandboxPhoneNumberVerificationStatus_Values() []string { + return []string{ + SMSSandboxPhoneNumberVerificationStatusPending, + SMSSandboxPhoneNumberVerificationStatusVerified, + } +} diff --git a/service/sns/errors.go b/service/sns/errors.go index ad55a69a491..8b416554ce5 100644 --- a/service/sns/errors.go +++ b/service/sns/errors.go @@ -106,6 +106,14 @@ const ( // Indicates that the requested resource does not exist. ErrCodeNotFoundException = "NotFound" + // ErrCodeOptedOutException for service response error code + // "OptedOut". + // + // Indicates that the specified phone number opted out of receiving SMS messages + // from your AWS account. You can't send SMS messages to phone numbers that + // opt out. + ErrCodeOptedOutException = "OptedOut" + // ErrCodePlatformApplicationDisabledException for service response error code // "PlatformApplicationDisabled". // @@ -115,7 +123,8 @@ const ( // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFound". // - // Can't tag resource. Verify that the topic exists. + // Can’t perform the action on the specified resource. Make sure that the + // resource exists. ErrCodeResourceNotFoundException = "ResourceNotFound" // ErrCodeStaleTagException for service response error code @@ -156,4 +165,22 @@ const ( // // Indicates that the customer already owns the maximum allowed number of topics. ErrCodeTopicLimitExceededException = "TopicLimitExceeded" + + // ErrCodeUserErrorException for service response error code + // "UserError". + // + // Indicates that a request parameter does not comply with the associated constraints. + ErrCodeUserErrorException = "UserError" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // Indicates that a parameter in the request is invalid. + ErrCodeValidationException = "ValidationException" + + // ErrCodeVerificationException for service response error code + // "VerificationException". + // + // Indicates that the one-time password (OTP) used for verification is invalid. + ErrCodeVerificationException = "VerificationException" ) diff --git a/service/sns/snsiface/interface.go b/service/sns/snsiface/interface.go index 0f1b7447d74..41952cd7827 100644 --- a/service/sns/snsiface/interface.go +++ b/service/sns/snsiface/interface.go @@ -80,6 +80,10 @@ type SNSAPI interface { CreatePlatformEndpointWithContext(aws.Context, *sns.CreatePlatformEndpointInput, ...request.Option) (*sns.CreatePlatformEndpointOutput, error) CreatePlatformEndpointRequest(*sns.CreatePlatformEndpointInput) (*request.Request, *sns.CreatePlatformEndpointOutput) + CreateSMSSandboxPhoneNumber(*sns.CreateSMSSandboxPhoneNumberInput) (*sns.CreateSMSSandboxPhoneNumberOutput, error) + CreateSMSSandboxPhoneNumberWithContext(aws.Context, *sns.CreateSMSSandboxPhoneNumberInput, ...request.Option) (*sns.CreateSMSSandboxPhoneNumberOutput, error) + CreateSMSSandboxPhoneNumberRequest(*sns.CreateSMSSandboxPhoneNumberInput) (*request.Request, *sns.CreateSMSSandboxPhoneNumberOutput) + CreateTopic(*sns.CreateTopicInput) (*sns.CreateTopicOutput, error) CreateTopicWithContext(aws.Context, *sns.CreateTopicInput, ...request.Option) (*sns.CreateTopicOutput, error) CreateTopicRequest(*sns.CreateTopicInput) (*request.Request, *sns.CreateTopicOutput) @@ -92,6 +96,10 @@ type SNSAPI interface { DeletePlatformApplicationWithContext(aws.Context, *sns.DeletePlatformApplicationInput, ...request.Option) (*sns.DeletePlatformApplicationOutput, error) DeletePlatformApplicationRequest(*sns.DeletePlatformApplicationInput) (*request.Request, *sns.DeletePlatformApplicationOutput) + DeleteSMSSandboxPhoneNumber(*sns.DeleteSMSSandboxPhoneNumberInput) (*sns.DeleteSMSSandboxPhoneNumberOutput, error) + DeleteSMSSandboxPhoneNumberWithContext(aws.Context, *sns.DeleteSMSSandboxPhoneNumberInput, ...request.Option) (*sns.DeleteSMSSandboxPhoneNumberOutput, error) + DeleteSMSSandboxPhoneNumberRequest(*sns.DeleteSMSSandboxPhoneNumberInput) (*request.Request, *sns.DeleteSMSSandboxPhoneNumberOutput) + DeleteTopic(*sns.DeleteTopicInput) (*sns.DeleteTopicOutput, error) DeleteTopicWithContext(aws.Context, *sns.DeleteTopicInput, ...request.Option) (*sns.DeleteTopicOutput, error) DeleteTopicRequest(*sns.DeleteTopicInput) (*request.Request, *sns.DeleteTopicOutput) @@ -108,6 +116,10 @@ type SNSAPI interface { GetSMSAttributesWithContext(aws.Context, *sns.GetSMSAttributesInput, ...request.Option) (*sns.GetSMSAttributesOutput, error) GetSMSAttributesRequest(*sns.GetSMSAttributesInput) (*request.Request, *sns.GetSMSAttributesOutput) + GetSMSSandboxAccountStatus(*sns.GetSMSSandboxAccountStatusInput) (*sns.GetSMSSandboxAccountStatusOutput, error) + GetSMSSandboxAccountStatusWithContext(aws.Context, *sns.GetSMSSandboxAccountStatusInput, ...request.Option) (*sns.GetSMSSandboxAccountStatusOutput, error) + GetSMSSandboxAccountStatusRequest(*sns.GetSMSSandboxAccountStatusInput) (*request.Request, *sns.GetSMSSandboxAccountStatusOutput) + GetSubscriptionAttributes(*sns.GetSubscriptionAttributesInput) (*sns.GetSubscriptionAttributesOutput, error) GetSubscriptionAttributesWithContext(aws.Context, *sns.GetSubscriptionAttributesInput, ...request.Option) (*sns.GetSubscriptionAttributesOutput, error) GetSubscriptionAttributesRequest(*sns.GetSubscriptionAttributesInput) (*request.Request, *sns.GetSubscriptionAttributesOutput) @@ -123,6 +135,13 @@ type SNSAPI interface { ListEndpointsByPlatformApplicationPages(*sns.ListEndpointsByPlatformApplicationInput, func(*sns.ListEndpointsByPlatformApplicationOutput, bool) bool) error ListEndpointsByPlatformApplicationPagesWithContext(aws.Context, *sns.ListEndpointsByPlatformApplicationInput, func(*sns.ListEndpointsByPlatformApplicationOutput, bool) bool, ...request.Option) error + ListOriginationNumbers(*sns.ListOriginationNumbersInput) (*sns.ListOriginationNumbersOutput, error) + ListOriginationNumbersWithContext(aws.Context, *sns.ListOriginationNumbersInput, ...request.Option) (*sns.ListOriginationNumbersOutput, error) + ListOriginationNumbersRequest(*sns.ListOriginationNumbersInput) (*request.Request, *sns.ListOriginationNumbersOutput) + + ListOriginationNumbersPages(*sns.ListOriginationNumbersInput, func(*sns.ListOriginationNumbersOutput, bool) bool) error + ListOriginationNumbersPagesWithContext(aws.Context, *sns.ListOriginationNumbersInput, func(*sns.ListOriginationNumbersOutput, bool) bool, ...request.Option) error + ListPhoneNumbersOptedOut(*sns.ListPhoneNumbersOptedOutInput) (*sns.ListPhoneNumbersOptedOutOutput, error) ListPhoneNumbersOptedOutWithContext(aws.Context, *sns.ListPhoneNumbersOptedOutInput, ...request.Option) (*sns.ListPhoneNumbersOptedOutOutput, error) ListPhoneNumbersOptedOutRequest(*sns.ListPhoneNumbersOptedOutInput) (*request.Request, *sns.ListPhoneNumbersOptedOutOutput) @@ -134,6 +153,13 @@ type SNSAPI interface { ListPlatformApplicationsPages(*sns.ListPlatformApplicationsInput, func(*sns.ListPlatformApplicationsOutput, bool) bool) error ListPlatformApplicationsPagesWithContext(aws.Context, *sns.ListPlatformApplicationsInput, func(*sns.ListPlatformApplicationsOutput, bool) bool, ...request.Option) error + ListSMSSandboxPhoneNumbers(*sns.ListSMSSandboxPhoneNumbersInput) (*sns.ListSMSSandboxPhoneNumbersOutput, error) + ListSMSSandboxPhoneNumbersWithContext(aws.Context, *sns.ListSMSSandboxPhoneNumbersInput, ...request.Option) (*sns.ListSMSSandboxPhoneNumbersOutput, error) + ListSMSSandboxPhoneNumbersRequest(*sns.ListSMSSandboxPhoneNumbersInput) (*request.Request, *sns.ListSMSSandboxPhoneNumbersOutput) + + ListSMSSandboxPhoneNumbersPages(*sns.ListSMSSandboxPhoneNumbersInput, func(*sns.ListSMSSandboxPhoneNumbersOutput, bool) bool) error + ListSMSSandboxPhoneNumbersPagesWithContext(aws.Context, *sns.ListSMSSandboxPhoneNumbersInput, func(*sns.ListSMSSandboxPhoneNumbersOutput, bool) bool, ...request.Option) error + ListSubscriptions(*sns.ListSubscriptionsInput) (*sns.ListSubscriptionsOutput, error) ListSubscriptionsWithContext(aws.Context, *sns.ListSubscriptionsInput, ...request.Option) (*sns.ListSubscriptionsOutput, error) ListSubscriptionsRequest(*sns.ListSubscriptionsInput) (*request.Request, *sns.ListSubscriptionsOutput) @@ -206,6 +232,10 @@ type SNSAPI interface { UntagResource(*sns.UntagResourceInput) (*sns.UntagResourceOutput, error) UntagResourceWithContext(aws.Context, *sns.UntagResourceInput, ...request.Option) (*sns.UntagResourceOutput, error) UntagResourceRequest(*sns.UntagResourceInput) (*request.Request, *sns.UntagResourceOutput) + + VerifySMSSandboxPhoneNumber(*sns.VerifySMSSandboxPhoneNumberInput) (*sns.VerifySMSSandboxPhoneNumberOutput, error) + VerifySMSSandboxPhoneNumberWithContext(aws.Context, *sns.VerifySMSSandboxPhoneNumberInput, ...request.Option) (*sns.VerifySMSSandboxPhoneNumberOutput, error) + VerifySMSSandboxPhoneNumberRequest(*sns.VerifySMSSandboxPhoneNumberInput) (*request.Request, *sns.VerifySMSSandboxPhoneNumberOutput) } var _ SNSAPI = (*sns.SNS)(nil)