diff --git a/CHANGELOG.md b/CHANGELOG.md index 4456c98532d..a8e4e7b1a7c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +Release v1.44.210 (2023-02-27) +=== + +### Service Client Updates +* `service/devops-guru`: Updates service API and documentation +* `service/drs`: Updates service API and documentation +* `service/internetmonitor`: Adds new service +* `service/lambda`: Updates service API and documentation + * This release adds the ability to create ESMs with Document DB change streams as event source. For more information see https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html. +* `service/mediaconvert`: Updates service API and documentation + * The AWS Elemental MediaConvert SDK has added support for HDR10 to SDR tone mapping, and animated GIF video input sources. +* `service/timestream-write`: Updates service API, documentation, and paginators + Release v1.44.209 (2023-02-24) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 099bf0bf3aa..7ef2b0c1d49 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -13300,6 +13300,56 @@ var awsPartition = partition{ }: endpoint{}, }, }, + "internetmonitor": service{ + Defaults: endpointDefaults{ + defaultKey{}: endpoint{ + DNSSuffix: "api.aws", + }, + defaultKey{ + Variant: fipsVariant, + }: endpoint{ + Hostname: "{service}-fips.{region}.{dnsSuffix}", + DNSSuffix: "api.aws", + }, + }, + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{ + Hostname: "internetmonitor.ap-northeast-3.api.aws", + }, + endpointKey{ + Region: "ap-south-2", + }: endpoint{ + Hostname: "internetmonitor.ap-south-2.api.aws", + }, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{ + Hostname: "internetmonitor.ap-southeast-3.api.aws", + }, + endpointKey{ + Region: "ap-southeast-4", + }: endpoint{ + Hostname: "internetmonitor.ap-southeast-4.api.aws", + }, + endpointKey{ + Region: "eu-central-2", + }: endpoint{ + Hostname: "internetmonitor.eu-central-2.api.aws", + }, + endpointKey{ + Region: "eu-south-2", + }: endpoint{ + Hostname: "internetmonitor.eu-south-2.api.aws", + }, + endpointKey{ + Region: "me-central-1", + }: endpoint{ + Hostname: "internetmonitor.me-central-1.api.aws", + }, + }, + }, "iot": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{ @@ -29797,6 +29847,31 @@ var awscnPartition = partition{ }, }, }, + "internetmonitor": service{ + Defaults: endpointDefaults{ + defaultKey{}: endpoint{ + DNSSuffix: "api.amazonwebservices.com.cn", + }, + defaultKey{ + Variant: fipsVariant, + }: endpoint{ + Hostname: "{service}-fips.{region}.{dnsSuffix}", + DNSSuffix: "api.amazonwebservices.com.cn", + }, + }, + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "cn-north-1", + }: endpoint{ + Hostname: "internetmonitor.cn-north-1.api.amazonwebservices.com.cn", + }, + endpointKey{ + Region: "cn-northwest-1", + }: endpoint{ + Hostname: "internetmonitor.cn-northwest-1.api.amazonwebservices.com.cn", + }, + }, + }, "iot": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{ @@ -33463,6 +33538,31 @@ var awsusgovPartition = partition{ }: endpoint{}, }, }, + "internetmonitor": service{ + Defaults: endpointDefaults{ + defaultKey{}: endpoint{ + DNSSuffix: "api.aws", + }, + defaultKey{ + Variant: fipsVariant, + }: endpoint{ + Hostname: "{service}-fips.{region}.{dnsSuffix}", + DNSSuffix: "api.aws", + }, + }, + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{ + Hostname: "internetmonitor.us-gov-east-1.api.aws", + }, + endpointKey{ + Region: "us-gov-west-1", + }: endpoint{ + Hostname: "internetmonitor.us-gov-west-1.api.aws", + }, + }, + }, "iot": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{ diff --git a/aws/version.go b/aws/version.go index b1c7ff78287..da7c86d8396 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.44.209" +const SDKVersion = "1.44.210" diff --git a/models/apis/devops-guru/2020-12-01/api-2.json b/models/apis/devops-guru/2020-12-01/api-2.json index a596ee051bf..c3d15882669 100644 --- a/models/apis/devops-guru/2020-12-01/api-2.json +++ b/models/apis/devops-guru/2020-12-01/api-2.json @@ -1916,7 +1916,8 @@ "ResourceCollection":{"shape":"ResourceCollection"}, "Limit":{"shape":"AnomalyLimit"}, "SourceMetadata":{"shape":"AnomalySourceMetadata"}, - "AnomalyResources":{"shape":"AnomalyResources"} + "AnomalyResources":{"shape":"AnomalyResources"}, + "Description":{"shape":"AnomalyDescription"} } }, "ProactiveAnomalySummary":{ @@ -1934,7 +1935,8 @@ "ResourceCollection":{"shape":"ResourceCollection"}, "Limit":{"shape":"AnomalyLimit"}, "SourceMetadata":{"shape":"AnomalySourceMetadata"}, - "AnomalyResources":{"shape":"AnomalyResources"} + "AnomalyResources":{"shape":"AnomalyResources"}, + "Description":{"shape":"AnomalyDescription"} } }, "ProactiveInsight":{ diff --git a/models/apis/devops-guru/2020-12-01/docs-2.json b/models/apis/devops-guru/2020-12-01/docs-2.json index 27e95e4aef8..c3f377aa12e 100644 --- a/models/apis/devops-guru/2020-12-01/docs-2.json +++ b/models/apis/devops-guru/2020-12-01/docs-2.json @@ -106,6 +106,8 @@ "AnomalyDescription": { "base": null, "refs": { + "ProactiveAnomaly$Description": "

A description of the proactive anomaly.

", + "ProactiveAnomalySummary$Description": "

A description of the proactive anomaly.

", "ReactiveAnomaly$Description": "

A description of the reactive anomaly.

", "ReactiveAnomalySummary$Description": "

A description of the reactive anomaly.

" } @@ -1789,7 +1791,7 @@ } }, "SearchInsightsFilters": { - "base": "

Specifies one or more severity values and one or more status values that are used to search for insights.

", + "base": "

Specifies values used to filter responses when searching for insights. You can use a ResourceCollection, ServiceCollection, array of severities, and an array of status values. Each filter type contains one or more values to search for. If you specify multiple filter types, the filter types are joined with an AND, and the request returns only results that match all of the specified filters.

", "refs": { "SearchInsightsRequest$Filters": "

A SearchInsightsFilters object that is used to set the severity and status filters on your insight search.

" } @@ -1948,7 +1950,7 @@ } }, "TagCollection": { - "base": "

A collection of Amazon Web Services tags.

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the Tagging best practices whitepaper.

Each Amazon Web Services tag has two parts.

Together these are known as key-value pairs.

The string used for a key in a tag that you use to define your resource coverage must begin with the prefix Devops-guru-. The tag key might be DevOps-Guru-deployment-application or devops-guru-rds-application. When you create a key, the case of characters in the key can be whatever you choose. After you create a key, it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS, and these act as two different keys. Possible key/value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers.

", + "base": "

A collection of Amazon Web Services tags.

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the Tagging best practices whitepaper.

Each Amazon Web Services tag has two parts.

Together these are known as key-value pairs.

The string used for a key in a tag that you use to define your resource coverage must begin with the prefix Devops-guru-. The tag key might be DevOps-Guru-deployment-application or devops-guru-rds-application. When you create a key, the case of characters in the key can be whatever you choose. After you create a key, it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS, and these act as two different keys. Possible key/value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers.

", "refs": { "TagCollections$member": null } @@ -1962,13 +1964,13 @@ "TagCollectionFilters": { "base": null, "refs": { - "ResourceCollectionFilter$Tags": "

The Amazon Web Services tags used to filter the resources in the resource collection.

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the Tagging best practices whitepaper.

Each Amazon Web Services tag has two parts.

Together these are known as key-value pairs.

The string used for a key in a tag that you use to define your resource coverage must begin with the prefix Devops-guru-. The tag key might be DevOps-Guru-deployment-application or devops-guru-rds-application. When you create a key, the case of characters in the key can be whatever you choose. After you create a key, it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS, and these act as two different keys. Possible key/value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers.

" + "ResourceCollectionFilter$Tags": "

The Amazon Web Services tags used to filter the resources in the resource collection.

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the Tagging best practices whitepaper.

Each Amazon Web Services tag has two parts.

Together these are known as key-value pairs.

The string used for a key in a tag that you use to define your resource coverage must begin with the prefix Devops-guru-. The tag key might be DevOps-Guru-deployment-application or devops-guru-rds-application. When you create a key, the case of characters in the key can be whatever you choose. After you create a key, it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS, and these act as two different keys. Possible key/value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers.

" } }, "TagCollections": { "base": null, "refs": { - "ResourceCollection$Tags": "

The Amazon Web Services tags that are used by resources in the resource collection.

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the Tagging best practices whitepaper.

Each Amazon Web Services tag has two parts.

Together these are known as key-value pairs.

The string used for a key in a tag that you use to define your resource coverage must begin with the prefix Devops-guru-. The tag key might be DevOps-Guru-deployment-application or devops-guru-rds-application. When you create a key, the case of characters in the key can be whatever you choose. After you create a key, it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS, and these act as two different keys. Possible key/value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers.

" + "ResourceCollection$Tags": "

The Amazon Web Services tags that are used by resources in the resource collection.

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the Tagging best practices whitepaper.

Each Amazon Web Services tag has two parts.

Together these are known as key-value pairs.

The string used for a key in a tag that you use to define your resource coverage must begin with the prefix Devops-guru-. The tag key might be DevOps-Guru-deployment-application or devops-guru-rds-application. When you create a key, the case of characters in the key can be whatever you choose. After you create a key, it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS, and these act as two different keys. Possible key/value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers.

" } }, "TagCostEstimationResourceCollectionFilter": { @@ -1980,7 +1982,7 @@ "TagCostEstimationResourceCollectionFilters": { "base": null, "refs": { - "CostEstimationResourceCollectionFilter$Tags": "

The Amazon Web Services tags used to filter the resource collection that is used for a cost estimate.

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the Tagging best practices whitepaper.

Each Amazon Web Services tag has two parts.

Together these are known as key-value pairs.

The string used for a key in a tag that you use to define your resource coverage must begin with the prefix Devops-guru-. The tag key might be DevOps-Guru-deployment-application or devops-guru-rds-application. When you create a key, the case of characters in the key can be whatever you choose. After you create a key, it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS, and these act as two different keys. Possible key/value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers.

" + "CostEstimationResourceCollectionFilter$Tags": "

The Amazon Web Services tags used to filter the resource collection that is used for a cost estimate.

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the Tagging best practices whitepaper.

Each Amazon Web Services tag has two parts.

Together these are known as key-value pairs.

The string used for a key in a tag that you use to define your resource coverage must begin with the prefix Devops-guru-. The tag key might be DevOps-Guru-deployment-application or devops-guru-rds-application. When you create a key, the case of characters in the key can be whatever you choose. After you create a key, it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS, and these act as two different keys. Possible key/value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers.

" } }, "TagHealth": { @@ -1992,8 +1994,8 @@ "TagHealths": { "base": null, "refs": { - "DescribeOrganizationResourceCollectionHealthResponse$Tags": "

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the Tagging best practices whitepaper.

Each Amazon Web Services tag has two parts.

Together these are known as key-value pairs.

The string used for a key in a tag that you use to define your resource coverage must begin with the prefix Devops-guru-. The tag key might be DevOps-Guru-deployment-application or devops-guru-rds-application. When you create a key, the case of characters in the key can be whatever you choose. After you create a key, it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS, and these act as two different keys. Possible key/value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers.

", - "DescribeResourceCollectionHealthResponse$Tags": "

The Amazon Web Services tags that are used by resources in the resource collection.

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the Tagging best practices whitepaper.

Each Amazon Web Services tag has two parts.

Together these are known as key-value pairs.

The string used for a key in a tag that you use to define your resource coverage must begin with the prefix Devops-guru-. The tag key might be DevOps-Guru-deployment-application or devops-guru-rds-application. When you create a key, the case of characters in the key can be whatever you choose. After you create a key, it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS, and these act as two different keys. Possible key/value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers.

" + "DescribeOrganizationResourceCollectionHealthResponse$Tags": "

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the Tagging best practices whitepaper.

Each Amazon Web Services tag has two parts.

Together these are known as key-value pairs.

The string used for a key in a tag that you use to define your resource coverage must begin with the prefix Devops-guru-. The tag key might be DevOps-Guru-deployment-application or devops-guru-rds-application. When you create a key, the case of characters in the key can be whatever you choose. After you create a key, it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS, and these act as two different keys. Possible key/value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers.

", + "DescribeResourceCollectionHealthResponse$Tags": "

The Amazon Web Services tags that are used by resources in the resource collection.

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the Tagging best practices whitepaper.

Each Amazon Web Services tag has two parts.

Together these are known as key-value pairs.

The string used for a key in a tag that you use to define your resource coverage must begin with the prefix Devops-guru-. The tag key might be DevOps-Guru-deployment-application or devops-guru-rds-application. When you create a key, the case of characters in the key can be whatever you choose. After you create a key, it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS, and these act as two different keys. Possible key/value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers.

" } }, "TagValue": { @@ -2137,7 +2139,7 @@ "UpdateTagCollectionFilters": { "base": null, "refs": { - "UpdateResourceCollectionFilter$Tags": "

The updated Amazon Web Services tags used to filter the resources in the resource collection.

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the Tagging best practices whitepaper.

Each Amazon Web Services tag has two parts.

Together these are known as key-value pairs.

The string used for a key in a tag that you use to define your resource coverage must begin with the prefix Devops-guru-. The tag key might be DevOps-Guru-deployment-application or devops-guru-rds-application. When you create a key, the case of characters in the key can be whatever you choose. After you create a key, it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS, and these act as two different keys. Possible key/value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers.

" + "UpdateResourceCollectionFilter$Tags": "

The updated Amazon Web Services tags used to filter the resources in the resource collection.

Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the Tagging best practices whitepaper.

Each Amazon Web Services tag has two parts.

Together these are known as key-value pairs.

The string used for a key in a tag that you use to define your resource coverage must begin with the prefix Devops-guru-. The tag key might be DevOps-Guru-deployment-application or devops-guru-rds-application. When you create a key, the case of characters in the key can be whatever you choose. After you create a key, it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS, and these act as two different keys. Possible key/value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers.

" } }, "UpdateTagValues": { diff --git a/models/apis/devops-guru/2020-12-01/endpoint-rule-set-1.json b/models/apis/devops-guru/2020-12-01/endpoint-rule-set-1.json index cc4fecffa0e..d1ead35506c 100644 --- a/models/apis/devops-guru/2020-12-01/endpoint-rule-set-1.json +++ b/models/apis/devops-guru/2020-12-01/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,90 +111,215 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] }, - "supportsFIPS" + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://devops-guru-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://devops-guru-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://devops-guru-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsFIPS" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://devops-guru.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -222,7 +327,7 @@ { "conditions": [], "endpoint": { - "url": "https://devops-guru-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://devops-guru.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -231,74 +336,13 @@ ] } ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://devops-guru.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://devops-guru.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/models/apis/devops-guru/2020-12-01/endpoint-tests-1.json b/models/apis/devops-guru/2020-12-01/endpoint-tests-1.json index 5c3d00cd98c..c03e296a37e 100644 --- a/models/apis/devops-guru/2020-12-01/endpoint-tests-1.json +++ b/models/apis/devops-guru/2020-12-01/endpoint-tests-1.json @@ -1,145 +1,41 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-south-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-south-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru.ap-south-1.amazonaws.com" + "url": "https://devops-guru.ap-northeast-1.amazonaws.com" } }, "params": { + "Region": "ap-northeast-1", "UseDualStack": false, - "Region": "ap-south-1", "UseFIPS": false } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ca-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ca-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru.ca-central-1.amazonaws.com" + "url": "https://devops-guru.ap-southeast-1.amazonaws.com" } }, "params": { + "Region": "ap-southeast-1", "UseDualStack": false, - "Region": "ca-central-1", "UseFIPS": false } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru-fips.eu-central-1.amazonaws.com" + "url": "https://devops-guru.ap-southeast-2.amazonaws.com" } }, "params": { + "Region": "ap-southeast-2", "UseDualStack": false, - "Region": "eu-central-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-central-1", "UseFIPS": false } }, @@ -151,151 +47,8 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-central-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.us-west-2.amazonaws.com" - } - }, - "params": { "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "us-west-2", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-north-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-north-1", "UseFIPS": false } }, @@ -307,533 +60,300 @@ } }, "params": { - "UseDualStack": false, "Region": "eu-north-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "eu-west-3", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-3", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.eu-west-3.amazonaws.com" - } - }, - "params": { "UseDualStack": false, - "Region": "eu-west-3", "UseFIPS": false } }, { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru-fips.eu-west-2.amazonaws.com" + "url": "https://devops-guru.eu-west-1.amazonaws.com" } }, "params": { + "Region": "eu-west-1", "UseDualStack": false, - "Region": "eu-west-2", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-2", "UseFIPS": false } }, { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru.eu-west-2.amazonaws.com" + "url": "https://devops-guru.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseDualStack": false, - "Region": "eu-west-2", "UseFIPS": false } }, { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru-fips.eu-west-1.amazonaws.com" + "url": "https://devops-guru-fips.us-east-1.amazonaws.com" } }, "params": { + "Region": "us-east-1", "UseDualStack": false, - "Region": "eu-west-1", "UseFIPS": true } }, { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "eu-west-1", - "UseFIPS": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru.eu-west-1.amazonaws.com" + "url": "https://devops-guru.us-east-2.amazonaws.com" } }, "params": { + "Region": "us-east-2", "UseDualStack": false, - "Region": "eu-west-1", "UseFIPS": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru-fips.ap-northeast-2.amazonaws.com" + "url": "https://devops-guru-fips.us-east-2.amazonaws.com" } }, "params": { + "Region": "us-east-2", "UseDualStack": false, - "Region": "ap-northeast-2", "UseFIPS": true } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-2", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru.ap-northeast-2.amazonaws.com" + "url": "https://devops-guru.us-west-2.amazonaws.com" } }, "params": { + "Region": "us-west-2", "UseDualStack": false, - "Region": "ap-northeast-2", "UseFIPS": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": true - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru-fips.ap-northeast-1.amazonaws.com" + "url": "https://devops-guru-fips.us-west-2.amazonaws.com" } }, "params": { + "Region": "us-west-2", "UseDualStack": false, - "Region": "ap-northeast-1", "UseFIPS": true } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "ap-northeast-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://devops-guru-fips.sa-east-1.api.aws" + "url": "https://devops-guru-fips.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", "UseFIPS": true } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://devops-guru.sa-east-1.api.aws" + "url": "https://devops-guru.us-east-1.api.aws" } }, "params": { + "Region": "us-east-1", "UseDualStack": true, - "Region": "sa-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "Region": "sa-east-1", "UseFIPS": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://devops-guru-fips.ap-southeast-1.api.aws" + "url": "https://devops-guru-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseDualStack": true, - "Region": "ap-southeast-1", "UseFIPS": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru-fips.ap-southeast-1.amazonaws.com" + "url": "https://devops-guru-fips.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseDualStack": false, - "Region": "ap-southeast-1", "UseFIPS": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://devops-guru.ap-southeast-1.api.aws" + "url": "https://devops-guru.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { + "Region": "cn-north-1", "UseDualStack": true, - "Region": "ap-southeast-1", "UseFIPS": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru.ap-southeast-1.amazonaws.com" + "url": "https://devops-guru.cn-north-1.amazonaws.com.cn" } }, "params": { + "Region": "cn-north-1", "UseDualStack": false, - "Region": "ap-southeast-1", "UseFIPS": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://devops-guru-fips.ap-southeast-2.api.aws" + "url": "https://devops-guru-fips.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", "UseDualStack": true, - "Region": "ap-southeast-2", "UseFIPS": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru-fips.ap-southeast-2.amazonaws.com" + "url": "https://devops-guru-fips.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseDualStack": false, - "Region": "ap-southeast-2", "UseFIPS": true } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://devops-guru.ap-southeast-2.api.aws" + "url": "https://devops-guru.us-gov-east-1.api.aws" } }, "params": { + "Region": "us-gov-east-1", "UseDualStack": true, - "Region": "ap-southeast-2", "UseFIPS": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru.ap-southeast-2.amazonaws.com" + "url": "https://devops-guru.us-gov-east-1.amazonaws.com" } }, "params": { + "Region": "us-gov-east-1", "UseDualStack": false, - "Region": "ap-southeast-2", "UseFIPS": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru-fips.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.us-east-1.amazonaws.com" + "url": "https://devops-guru-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://devops-guru.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-1", - "UseFIPS": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru.us-east-1.amazonaws.com" + "url": "https://devops-guru.us-iso-east-1.c2s.ic.gov" } }, "params": { + "Region": "us-iso-east-1", "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru-fips.us-east-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "Region": "us-east-2", - "UseFIPS": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://devops-guru-fips.us-east-2.amazonaws.com" + "url": "https://devops-guru-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { + "Region": "us-isob-east-1", "UseDualStack": false, - "Region": "us-east-2", "UseFIPS": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://devops-guru.us-east-2.api.aws" + "url": "https://devops-guru.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": true, - "Region": "us-east-2", + "Region": "us-isob-east-1", + "UseDualStack": false, "UseFIPS": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://devops-guru.us-east-2.amazonaws.com" + "url": "https://example.com" } }, "params": { + "Region": "us-east-1", "UseDualStack": false, - "Region": "us-east-2", - "UseFIPS": false + "UseFIPS": false, + "Endpoint": "https://example.com" } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -841,7 +361,6 @@ }, "params": { "UseDualStack": false, - "Region": "us-east-1", "UseFIPS": false, "Endpoint": "https://example.com" } @@ -852,8 +371,8 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, "Region": "us-east-1", + "UseDualStack": false, "UseFIPS": true, "Endpoint": "https://example.com" } @@ -864,8 +383,8 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, "Region": "us-east-1", + "UseDualStack": true, "UseFIPS": false, "Endpoint": "https://example.com" } diff --git a/models/apis/drs/2020-02-26/api-2.json b/models/apis/drs/2020-02-26/api-2.json index f7662205688..3e057bb6cce 100644 --- a/models/apis/drs/2020-02-26/api-2.json +++ b/models/apis/drs/2020-02-26/api-2.json @@ -800,7 +800,8 @@ "dataReplicationState":{"shape":"DataReplicationState"}, "etaDateTime":{"shape":"ISO8601DatetimeString"}, "lagDuration":{"shape":"ISO8601DurationString"}, - "replicatedDisks":{"shape":"DataReplicationInfoReplicatedDisks"} + "replicatedDisks":{"shape":"DataReplicationInfoReplicatedDisks"}, + "stagingAvailabilityZone":{"shape":"AwsAvailabilityZone"} } }, "DataReplicationInfoReplicatedDisk":{ @@ -1421,7 +1422,8 @@ "LifeCycleLastLaunch":{ "type":"structure", "members":{ - "initiated":{"shape":"LifeCycleLastLaunchInitiated"} + "initiated":{"shape":"LifeCycleLastLaunchInitiated"}, + "status":{"shape":"LaunchStatus"} } }, "LifeCycleLastLaunchInitiated":{ @@ -1585,6 +1587,7 @@ "failback":{"shape":"RecoveryInstanceFailback"}, "isDrill":{"shape":"Boolean"}, "jobID":{"shape":"JobID"}, + "originAvailabilityZone":{"shape":"AwsAvailabilityZone"}, "originEnvironment":{"shape":"OriginEnvironment"}, "pointInTimeSnapshotDateTime":{"shape":"ISO8601DatetimeString"}, "recoveryInstanceID":{"shape":"RecoveryInstanceID"}, @@ -1608,7 +1611,8 @@ "dataReplicationState":{"shape":"RecoveryInstanceDataReplicationState"}, "etaDateTime":{"shape":"ISO8601DatetimeString"}, "lagDuration":{"shape":"ISO8601DatetimeString"}, - "replicatedDisks":{"shape":"RecoveryInstanceDataReplicationInfoReplicatedDisks"} + "replicatedDisks":{"shape":"RecoveryInstanceDataReplicationInfoReplicatedDisks"}, + "stagingAvailabilityZone":{"shape":"AwsAvailabilityZone"} } }, "RecoveryInstanceDataReplicationInfoReplicatedDisk":{ diff --git a/models/apis/drs/2020-02-26/docs-2.json b/models/apis/drs/2020-02-26/docs-2.json index bbe2e3dc0d9..b6439069cdc 100644 --- a/models/apis/drs/2020-02-26/docs-2.json +++ b/models/apis/drs/2020-02-26/docs-2.json @@ -94,6 +94,9 @@ "AwsAvailabilityZone": { "base": null, "refs": { + "DataReplicationInfo$stagingAvailabilityZone": "

AWS Availability zone into which data is being replicated.

", + "RecoveryInstance$originAvailabilityZone": "

AWS availability zone associated with the recovery instance.

", + "RecoveryInstanceDataReplicationInfo$stagingAvailabilityZone": "

AWS Availability zone into which data is being replicated.

", "SourceCloudProperties$originAvailabilityZone": "

AWS Availability Zone for an EC2-originated Source Server.

" } }, @@ -715,6 +718,7 @@ "LaunchStatus": { "base": null, "refs": { + "LifeCycleLastLaunch$status": "

Status of Source Server's last launch.

", "ParticipatingServer$launchStatus": "

The launch status of a participating server.

" } }, @@ -808,7 +812,7 @@ "OriginEnvironment": { "base": null, "refs": { - "RecoveryInstance$originEnvironment": "

Environment (On Premises / AWS) of the instance that the recovery instance originated from.

" + "RecoveryInstance$originEnvironment": "

Environment (On Premises / AWS) of the instance that the recovery instance originated from.

" } }, "PITPolicy": { @@ -1085,7 +1089,7 @@ "ReplicationConfigurationReplicatedDiskStagingDiskType": { "base": null, "refs": { - "ReplicationConfigurationReplicatedDisk$optimizedStagingDiskType": "

When stagingDiskType is set to Auto, this field shows the current staging disk EBS volume type as it is constantly updated by the service. This is a read-only field.

", + "ReplicationConfigurationReplicatedDisk$optimizedStagingDiskType": "

The Staging Disk EBS volume type to be used during replication when stagingDiskType is set to Auto. This is a read-only field.

", "ReplicationConfigurationReplicatedDisk$stagingDiskType": "

The Staging Disk EBS volume type to be used during replication.

" } }, diff --git a/models/apis/drs/2020-02-26/endpoint-rule-set-1.json b/models/apis/drs/2020-02-26/endpoint-rule-set-1.json index 73c6ccc3634..2d8239a87a9 100644 --- a/models/apis/drs/2020-02-26/endpoint-rule-set-1.json +++ b/models/apis/drs/2020-02-26/endpoint-rule-set-1.json @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,23 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -71,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -140,90 +111,215 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://drs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } ] }, { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://drs-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://drs-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsFIPS" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://drs.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -231,7 +327,7 @@ { "conditions": [], "endpoint": { - "url": "https://drs-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://drs.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -240,74 +336,13 @@ ] } ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://drs.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://drs.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/models/apis/drs/2020-02-26/endpoint-tests-1.json b/models/apis/drs/2020-02-26/endpoint-tests-1.json index c3812a58f33..012c3ce71ac 100644 --- a/models/apis/drs/2020-02-26/endpoint-tests-1.json +++ b/models/apis/drs/2020-02-26/endpoint-tests-1.json @@ -1,822 +1,211 @@ { "testCases": [ { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs.ap-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs.eu-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ca-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs.ca-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "ca-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs.eu-central-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-central-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.us-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs.us-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs.us-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs.us-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs.us-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.af-south-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "af-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "af-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs.af-south-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "af-south-1", - "UseDualStack": true - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs.af-south-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "af-south-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs.eu-north-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-north-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-3", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs.eu-west-3.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-3", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs.eu-west-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-2", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs.eu-west-1.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": true - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseFIPS": false, - "Region": "eu-west-1", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-3", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "ap-northeast-3", - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs.ap-northeast-3.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "ap-northeast-3", - "UseDualStack": true - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs.ap-northeast-3.amazonaws.com" + "url": "https://drs.af-south-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "ap-northeast-3", - "UseDualStack": false + "Region": "af-south-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs-fips.ap-northeast-2.api.aws" + "url": "https://drs.ap-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": true + "Region": "ap-east-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs-fips.ap-northeast-2.amazonaws.com" + "url": "https://drs.ap-northeast-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-northeast-2", - "UseDualStack": false + "Region": "ap-northeast-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs.ap-northeast-2.api.aws" + "url": "https://drs.ap-northeast-2.amazonaws.com" } }, "params": { - "UseFIPS": false, "Region": "ap-northeast-2", - "UseDualStack": true + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs.ap-northeast-2.amazonaws.com" + "url": "https://drs.ap-northeast-3.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "ap-northeast-2", - "UseDualStack": false + "Region": "ap-northeast-3", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs-fips.ap-northeast-1.api.aws" + "url": "https://drs.ap-south-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": true + "Region": "ap-south-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs-fips.ap-northeast-1.amazonaws.com" + "url": "https://drs.ap-southeast-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-northeast-1", - "UseDualStack": false + "Region": "ap-southeast-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs.ap-northeast-1.api.aws" + "url": "https://drs.ap-southeast-2.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": true + "Region": "ap-southeast-2", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs.ap-northeast-1.amazonaws.com" + "url": "https://drs.ca-central-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "ap-northeast-1", - "UseDualStack": false + "Region": "ca-central-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs-fips.me-south-1.api.aws" + "url": "https://drs.eu-central-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "me-south-1", - "UseDualStack": true + "Region": "eu-central-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs-fips.me-south-1.amazonaws.com" + "url": "https://drs.eu-north-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "me-south-1", - "UseDualStack": false + "Region": "eu-north-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs.me-south-1.api.aws" + "url": "https://drs.eu-south-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "me-south-1", - "UseDualStack": true + "Region": "eu-south-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs.me-south-1.amazonaws.com" + "url": "https://drs.eu-west-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "me-south-1", - "UseDualStack": false + "Region": "eu-west-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs-fips.sa-east-1.api.aws" + "url": "https://drs.eu-west-2.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "sa-east-1", - "UseDualStack": true + "Region": "eu-west-2", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs-fips.sa-east-1.amazonaws.com" + "url": "https://drs.eu-west-3.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "sa-east-1", - "UseDualStack": false + "Region": "eu-west-3", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs.sa-east-1.api.aws" + "url": "https://drs.me-south-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "sa-east-1", - "UseDualStack": true + "Region": "me-south-1", + "UseDualStack": false, + "UseFIPS": false } }, { @@ -827,334 +216,282 @@ } }, "params": { - "UseFIPS": false, "Region": "sa-east-1", - "UseDualStack": false + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs-fips.ap-east-1.api.aws" + "url": "https://drs.us-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-east-1", - "UseDualStack": true + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs-fips.ap-east-1.amazonaws.com" + "url": "https://drs.us-east-2.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-east-1", - "UseDualStack": false + "Region": "us-east-2", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs.ap-east-1.api.aws" + "url": "https://drs.us-west-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "ap-east-1", - "UseDualStack": true + "Region": "us-west-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs.ap-east-1.amazonaws.com" + "url": "https://drs.us-west-2.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "ap-east-1", - "UseDualStack": false + "Region": "us-west-2", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://drs-fips.ap-southeast-1.api.aws" + "url": "https://drs-fips.us-east-1.api.aws" } }, "params": { - "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": true + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": true } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs-fips.ap-southeast-1.amazonaws.com" + "url": "https://drs-fips.us-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-southeast-1", - "UseDualStack": false + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": true } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://drs.ap-southeast-1.api.aws" + "url": "https://drs.us-east-1.api.aws" } }, "params": { - "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": true + "Region": "us-east-1", + "UseDualStack": true, + "UseFIPS": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://drs.ap-southeast-1.amazonaws.com" + "url": "https://drs-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseFIPS": false, - "Region": "ap-southeast-1", - "UseDualStack": false + "Region": "cn-north-1", + "UseDualStack": true, + "UseFIPS": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs-fips.ap-southeast-2.api.aws" + "url": "https://drs-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": true + "Region": "cn-north-1", + "UseDualStack": false, + "UseFIPS": true } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://drs-fips.ap-southeast-2.amazonaws.com" + "url": "https://drs.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseFIPS": true, - "Region": "ap-southeast-2", - "UseDualStack": false + "Region": "cn-north-1", + "UseDualStack": true, + "UseFIPS": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs.ap-southeast-2.api.aws" + "url": "https://drs.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": true + "Region": "cn-north-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://drs.ap-southeast-2.amazonaws.com" + "url": "https://drs-fips.us-gov-east-1.api.aws" } }, "params": { - "UseFIPS": false, - "Region": "ap-southeast-2", - "UseDualStack": false + "Region": "us-gov-east-1", + "UseDualStack": true, + "UseFIPS": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs-fips.ap-southeast-3.api.aws" + "url": "https://drs-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseFIPS": true, - "Region": "ap-southeast-3", - "UseDualStack": true + "Region": "us-gov-east-1", + "UseDualStack": false, + "UseFIPS": true } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://drs-fips.ap-southeast-3.amazonaws.com" + "url": "https://drs.us-gov-east-1.api.aws" } }, "params": { - "UseFIPS": true, - "Region": "ap-southeast-3", - "UseDualStack": false + "Region": "us-gov-east-1", + "UseDualStack": true, + "UseFIPS": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs.ap-southeast-3.api.aws" + "url": "https://drs.us-gov-east-1.amazonaws.com" } }, "params": { - "UseFIPS": false, - "Region": "ap-southeast-3", - "UseDualStack": true + "Region": "us-gov-east-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs.ap-southeast-3.amazonaws.com" + "url": "https://drs-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseFIPS": false, - "Region": "ap-southeast-3", - "UseDualStack": false + "Region": "us-iso-east-1", + "UseDualStack": false, + "UseFIPS": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs-fips.us-east-1.api.aws" + "url": "https://drs.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": true + "Region": "us-iso-east-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs-fips.us-east-1.amazonaws.com" + "url": "https://drs-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseFIPS": true, - "Region": "us-east-1", - "UseDualStack": false + "Region": "us-isob-east-1", + "UseDualStack": false, + "UseFIPS": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://drs.us-east-1.api.aws" + "url": "https://drs.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseFIPS": false, - "Region": "us-east-1", - "UseDualStack": true + "Region": "us-isob-east-1", + "UseDualStack": false, + "UseFIPS": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://drs.us-east-1.amazonaws.com" + "url": "https://example.com" } }, "params": { - "UseFIPS": false, "Region": "us-east-1", - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.us-east-2.api.aws" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "UseFIPS": true, - "Region": "us-east-2", - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://drs.us-east-2.api.aws" - } - }, - "params": { - "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://drs.us-east-2.amazonaws.com" - } - }, - "params": { + "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-2", - "UseDualStack": false + "Endpoint": "https://example.com" } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseFIPS": false, - "Region": "us-east-1", "UseDualStack": false, + "UseFIPS": false, "Endpoint": "https://example.com" } }, @@ -1164,9 +501,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseFIPS": true, "Region": "us-east-1", "UseDualStack": false, + "UseFIPS": true, "Endpoint": "https://example.com" } }, @@ -1176,9 +513,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseFIPS": false, "Region": "us-east-1", "UseDualStack": true, + "UseFIPS": false, "Endpoint": "https://example.com" } } diff --git a/models/apis/internetmonitor/2021-06-03/api-2.json b/models/apis/internetmonitor/2021-06-03/api-2.json new file mode 100644 index 00000000000..9d95fb04657 --- /dev/null +++ b/models/apis/internetmonitor/2021-06-03/api-2.json @@ -0,0 +1,846 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2021-06-03", + "endpointPrefix":"internetmonitor", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon CloudWatch Internet Monitor", + "serviceId":"InternetMonitor", + "signatureVersion":"v4", + "signingName":"internetmonitor", + "uid":"internetmonitor-2021-06-03" + }, + "operations":{ + "CreateMonitor":{ + "name":"CreateMonitor", + "http":{ + "method":"POST", + "requestUri":"/v20210603/Monitors", + "responseCode":200 + }, + "input":{"shape":"CreateMonitorInput"}, + "output":{"shape":"CreateMonitorOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ConflictException"}, + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"} + ], + "idempotent":true + }, + "DeleteMonitor":{ + "name":"DeleteMonitor", + "http":{ + "method":"DELETE", + "requestUri":"/v20210603/Monitors/{MonitorName}", + "responseCode":200 + }, + "input":{"shape":"DeleteMonitorInput"}, + "output":{"shape":"DeleteMonitorOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "idempotent":true + }, + "GetHealthEvent":{ + "name":"GetHealthEvent", + "http":{ + "method":"GET", + "requestUri":"/v20210603/Monitors/{MonitorName}/HealthEvents/{EventId}", + "responseCode":200 + }, + "input":{"shape":"GetHealthEventInput"}, + "output":{"shape":"GetHealthEventOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "GetMonitor":{ + "name":"GetMonitor", + "http":{ + "method":"GET", + "requestUri":"/v20210603/Monitors/{MonitorName}", + "responseCode":200 + }, + "input":{"shape":"GetMonitorInput"}, + "output":{"shape":"GetMonitorOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListHealthEvents":{ + "name":"ListHealthEvents", + "http":{ + "method":"GET", + "requestUri":"/v20210603/Monitors/{MonitorName}/HealthEvents", + "responseCode":200 + }, + "input":{"shape":"ListHealthEventsInput"}, + "output":{"shape":"ListHealthEventsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListMonitors":{ + "name":"ListMonitors", + "http":{ + "method":"GET", + "requestUri":"/v20210603/Monitors", + "responseCode":200 + }, + "input":{"shape":"ListMonitorsInput"}, + "output":{"shape":"ListMonitorsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{ResourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{ResourceArn}", + "responseCode":204 + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{ResourceArn}", + "responseCode":204 + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"AccessDeniedException"}, + {"shape":"NotFoundException"}, + {"shape":"BadRequestException"}, + {"shape":"InternalServerErrorException"} + ], + "idempotent":true + }, + "UpdateMonitor":{ + "name":"UpdateMonitor", + "http":{ + "method":"PATCH", + "requestUri":"/v20210603/Monitors/{MonitorName}", + "responseCode":200 + }, + "input":{"shape":"UpdateMonitorInput"}, + "output":{"shape":"UpdateMonitorOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"} + ], + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "Arn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:.*" + }, + "AvailabilityMeasurement":{ + "type":"structure", + "members":{ + "ExperienceScore":{"shape":"Double"}, + "PercentOfTotalTrafficImpacted":{"shape":"Double"}, + "PercentOfClientLocationImpacted":{"shape":"Double"} + } + }, + "BadRequestException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateMonitorInput":{ + "type":"structure", + "required":[ + "MonitorName", + "MaxCityNetworksToMonitor" + ], + "members":{ + "MonitorName":{"shape":"ResourceName"}, + "Resources":{"shape":"SetOfARNs"}, + "ClientToken":{ + "shape":"String", + "idempotencyToken":true + }, + "Tags":{"shape":"TagMap"}, + "MaxCityNetworksToMonitor":{"shape":"MaxCityNetworksToMonitor"} + } + }, + "CreateMonitorOutput":{ + "type":"structure", + "required":[ + "Arn", + "Status" + ], + "members":{ + "Arn":{"shape":"MonitorArn"}, + "Status":{"shape":"MonitorConfigState"} + } + }, + "DeleteMonitorInput":{ + "type":"structure", + "required":["MonitorName"], + "members":{ + "MonitorName":{ + "shape":"ResourceName", + "location":"uri", + "locationName":"MonitorName" + } + } + }, + "DeleteMonitorOutput":{ + "type":"structure", + "members":{ + } + }, + "Double":{ + "type":"double", + "box":true + }, + "GetHealthEventInput":{ + "type":"structure", + "required":[ + "MonitorName", + "EventId" + ], + "members":{ + "MonitorName":{ + "shape":"ResourceName", + "location":"uri", + "locationName":"MonitorName" + }, + "EventId":{ + "shape":"HealthEventName", + "location":"uri", + "locationName":"EventId" + } + } + }, + "GetHealthEventOutput":{ + "type":"structure", + "required":[ + "EventArn", + "EventId", + "StartedAt", + "LastUpdatedAt", + "ImpactedLocations", + "Status", + "ImpactType" + ], + "members":{ + "EventArn":{"shape":"Arn"}, + "EventId":{"shape":"HealthEventName"}, + "StartedAt":{"shape":"SyntheticTimestamp_date_time"}, + "EndedAt":{"shape":"SyntheticTimestamp_date_time"}, + "CreatedAt":{"shape":"SyntheticTimestamp_date_time"}, + "LastUpdatedAt":{"shape":"SyntheticTimestamp_date_time"}, + "ImpactedLocations":{"shape":"ImpactedLocationsList"}, + "Status":{"shape":"HealthEventStatus"}, + "PercentOfTotalTrafficImpacted":{"shape":"Double"}, + "ImpactType":{"shape":"HealthEventImpactType"} + } + }, + "GetMonitorInput":{ + "type":"structure", + "required":["MonitorName"], + "members":{ + "MonitorName":{ + "shape":"ResourceName", + "location":"uri", + "locationName":"MonitorName" + } + } + }, + "GetMonitorOutput":{ + "type":"structure", + "required":[ + "MonitorName", + "MonitorArn", + "Resources", + "Status", + "CreatedAt", + "ModifiedAt", + "MaxCityNetworksToMonitor" + ], + "members":{ + "MonitorName":{"shape":"ResourceName"}, + "MonitorArn":{"shape":"MonitorArn"}, + "Resources":{"shape":"SetOfARNs"}, + "Status":{"shape":"MonitorConfigState"}, + "CreatedAt":{"shape":"SyntheticTimestamp_date_time"}, + "ModifiedAt":{"shape":"SyntheticTimestamp_date_time"}, + "ProcessingStatus":{"shape":"MonitorProcessingStatusCode"}, + "ProcessingStatusInfo":{"shape":"String"}, + "Tags":{"shape":"TagMap"}, + "MaxCityNetworksToMonitor":{"shape":"MaxCityNetworksToMonitor"} + } + }, + "HealthEvent":{ + "type":"structure", + "required":[ + "EventArn", + "EventId", + "StartedAt", + "LastUpdatedAt", + "ImpactedLocations", + "Status", + "ImpactType" + ], + "members":{ + "EventArn":{"shape":"Arn"}, + "EventId":{"shape":"HealthEventName"}, + "StartedAt":{"shape":"SyntheticTimestamp_date_time"}, + "EndedAt":{"shape":"SyntheticTimestamp_date_time"}, + "CreatedAt":{"shape":"SyntheticTimestamp_date_time"}, + "LastUpdatedAt":{"shape":"SyntheticTimestamp_date_time"}, + "ImpactedLocations":{"shape":"ImpactedLocationsList"}, + "Status":{"shape":"HealthEventStatus"}, + "PercentOfTotalTrafficImpacted":{"shape":"Double"}, + "ImpactType":{"shape":"HealthEventImpactType"} + } + }, + "HealthEventImpactType":{ + "type":"string", + "enum":[ + "AVAILABILITY", + "PERFORMANCE" + ] + }, + "HealthEventList":{ + "type":"list", + "member":{"shape":"HealthEvent"} + }, + "HealthEventName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[a-zA-Z0-9/_.-]+" + }, + "HealthEventStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "RESOLVED" + ] + }, + "ImpactedLocation":{ + "type":"structure", + "required":[ + "ASName", + "ASNumber", + "Country", + "Status" + ], + "members":{ + "ASName":{"shape":"String"}, + "ASNumber":{"shape":"Long"}, + "Country":{"shape":"String"}, + "Subdivision":{"shape":"String"}, + "Metro":{"shape":"String"}, + "City":{"shape":"String"}, + "Latitude":{"shape":"Double"}, + "Longitude":{"shape":"Double"}, + "CountryCode":{"shape":"String"}, + "SubdivisionCode":{"shape":"String"}, + "ServiceLocation":{"shape":"String"}, + "Status":{"shape":"HealthEventStatus"}, + "CausedBy":{"shape":"NetworkImpairment"}, + "InternetHealth":{"shape":"InternetHealth"} + } + }, + "ImpactedLocationsList":{ + "type":"list", + "member":{"shape":"ImpactedLocation"} + }, + "InternalServerErrorException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "InternetHealth":{ + "type":"structure", + "members":{ + "Availability":{"shape":"AvailabilityMeasurement"}, + "Performance":{"shape":"PerformanceMeasurement"} + } + }, + "LimitExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "ListHealthEventsInput":{ + "type":"structure", + "required":["MonitorName"], + "members":{ + "MonitorName":{ + "shape":"ResourceName", + "location":"uri", + "locationName":"MonitorName" + }, + "StartTime":{ + "shape":"SyntheticTimestamp_date_time", + "location":"querystring", + "locationName":"StartTime" + }, + "EndTime":{ + "shape":"SyntheticTimestamp_date_time", + "location":"querystring", + "locationName":"EndTime" + }, + "NextToken":{ + "shape":"String", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"MaxResults" + }, + "EventStatus":{ + "shape":"HealthEventStatus", + "location":"querystring", + "locationName":"EventStatus" + } + } + }, + "ListHealthEventsOutput":{ + "type":"structure", + "required":["HealthEvents"], + "members":{ + "HealthEvents":{"shape":"HealthEventList"}, + "NextToken":{"shape":"String"} + } + }, + "ListMonitorsInput":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"String", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"MaxResults" + }, + "MonitorStatus":{ + "shape":"String", + "location":"querystring", + "locationName":"MonitorStatus" + } + } + }, + "ListMonitorsOutput":{ + "type":"structure", + "required":["Monitors"], + "members":{ + "Monitors":{"shape":"MonitorList"}, + "NextToken":{"shape":"String"} + } + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"MonitorArn", + "location":"uri", + "locationName":"ResourceArn" + } + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "Tags":{"shape":"TagMap"} + } + }, + "Long":{ + "type":"long", + "box":true + }, + "MaxCityNetworksToMonitor":{ + "type":"integer", + "max":500000, + "min":1 + }, + "MaxResults":{ + "type":"integer", + "max":25, + "min":1 + }, + "Monitor":{ + "type":"structure", + "required":[ + "MonitorName", + "MonitorArn", + "Status" + ], + "members":{ + "MonitorName":{"shape":"ResourceName"}, + "MonitorArn":{"shape":"MonitorArn"}, + "Status":{"shape":"MonitorConfigState"}, + "ProcessingStatus":{"shape":"MonitorProcessingStatusCode"} + } + }, + "MonitorArn":{ + "type":"string", + "max":512, + "min":20, + "pattern":"arn:.*" + }, + "MonitorConfigState":{ + "type":"string", + "enum":[ + "PENDING", + "ACTIVE", + "INACTIVE", + "ERROR" + ] + }, + "MonitorList":{ + "type":"list", + "member":{"shape":"Monitor"} + }, + "MonitorProcessingStatusCode":{ + "type":"string", + "enum":[ + "OK", + "INACTIVE", + "COLLECTING_DATA", + "INSUFFICIENT_DATA", + "FAULT_SERVICE", + "FAULT_ACCESS_CLOUDWATCH" + ] + }, + "Network":{ + "type":"structure", + "required":[ + "ASName", + "ASNumber" + ], + "members":{ + "ASName":{"shape":"String"}, + "ASNumber":{"shape":"Long"} + } + }, + "NetworkImpairment":{ + "type":"structure", + "required":[ + "Networks", + "AsPath", + "NetworkEventType" + ], + "members":{ + "Networks":{"shape":"NetworkList"}, + "AsPath":{"shape":"NetworkList"}, + "NetworkEventType":{"shape":"TriangulationEventType"} + } + }, + "NetworkList":{ + "type":"list", + "member":{"shape":"Network"} + }, + "NotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "PerformanceMeasurement":{ + "type":"structure", + "members":{ + "ExperienceScore":{"shape":"Double"}, + "PercentOfTotalTrafficImpacted":{"shape":"Double"}, + "PercentOfClientLocationImpacted":{"shape":"Double"}, + "RoundTripTime":{"shape":"RoundTripTime"} + } + }, + "ResourceName":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "RoundTripTime":{ + "type":"structure", + "members":{ + "P50":{"shape":"Double"}, + "P90":{"shape":"Double"}, + "P95":{"shape":"Double"} + } + }, + "SetOfARNs":{ + "type":"list", + "member":{"shape":"Arn"} + }, + "String":{"type":"string"}, + "SyntheticTimestamp_date_time":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":200, + "min":0 + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{ + "shape":"MonitorArn", + "location":"uri", + "locationName":"ResourceArn" + }, + "Tags":{"shape":"TagMap"} + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":true} + }, + "TooManyRequestsException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":true} + }, + "TriangulationEventType":{ + "type":"string", + "enum":[ + "AWS", + "Internet" + ] + }, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{ + "shape":"MonitorArn", + "location":"uri", + "locationName":"ResourceArn" + }, + "TagKeys":{ + "shape":"TagKeys", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + } + }, + "UpdateMonitorInput":{ + "type":"structure", + "required":["MonitorName"], + "members":{ + "MonitorName":{ + "shape":"ResourceName", + "location":"uri", + "locationName":"MonitorName" + }, + "ResourcesToAdd":{"shape":"SetOfARNs"}, + "ResourcesToRemove":{"shape":"SetOfARNs"}, + "Status":{"shape":"MonitorConfigState"}, + "ClientToken":{ + "shape":"String", + "idempotencyToken":true + }, + "MaxCityNetworksToMonitor":{"shape":"MaxCityNetworksToMonitor"} + } + }, + "UpdateMonitorOutput":{ + "type":"structure", + "required":[ + "MonitorArn", + "Status" + ], + "members":{ + "MonitorArn":{"shape":"MonitorArn"}, + "Status":{"shape":"MonitorConfigState"} + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + } +} diff --git a/models/apis/internetmonitor/2021-06-03/docs-2.json b/models/apis/internetmonitor/2021-06-03/docs-2.json new file mode 100644 index 00000000000..eb2feb4643d --- /dev/null +++ b/models/apis/internetmonitor/2021-06-03/docs-2.json @@ -0,0 +1,460 @@ +{ + "version": "2.0", + "service": "

Amazon CloudWatch Internet Monitor provides visibility into how internet issues impact the performance and availability between your applications hosted on Amazon Web Services and your end users, reducing the time it takes for you to diagnose these issues, from days to minutes. You can explore internet measurements for different time frames and at different geographic granularities, and quickly visualize the impact of issues, and then take action to improve your end users' experience, for example, by switching to other Amazon Web Services services or rerouting traffic to your workload through differentAmazon Web Services Regions.

If the issue is caused by the Amazon Web Services network, you'll automatically receive an Amazon Web Services Health Dashboard notification with the steps that Amazon Web Services is taking to mitigate the problem. To support integrating health information for geographies and networks specific to your application, Internet Monitor delivers measurements to CloudWatch Logs and CloudWatch Metrics. Internet Monitor also sends health events to Amazon EventBridge, so you can set up notifications. Internet Monitor monitors internet connectivity for your application through Amazon Virtual Private Clouds (VPCs), Amazon CloudFront distributions, and Amazon WorkSpaces directories.

To use Internet Monitor, you create a monitor and add resources to it, Virtual Private Clouds (VPCs), Amazon CloudFront distributions, or WorkSpaces directories that show where your application's internet traffic is. Internet Monitor then provides internet measurements from Amazon Web Services that are specific to the locations and networks that communicate with your application. For more information, see Using Amazon CloudWatch Internet Monitor in the Amazon CloudWatch User Guide.

", + "operations": { + "CreateMonitor": "

Creates a monitor in Amazon CloudWatch Internet Monitor. A monitor is built based on information from the application resources that you add: Virtual Private Clouds (VPCs), Amazon CloudFront distributions, and WorkSpaces directories.

After you create a monitor, you can view the internet performance for your application, scoped to a location, as well as any health events that are impairing traffic. Internet Monitor can also diagnose whether the impairment is on the Amazon Web Services network or is an issue with an internet service provider (ISP).

", + "DeleteMonitor": "

Deletes a monitor in Amazon CloudWatch Internet Monitor.

", + "GetHealthEvent": "

Gets information the Amazon CloudWatch Internet Monitor has created and stored about a health event for a specified monitor. This information includes the impacted locations, and all of the information related to the event by location.

The information returned includes the performance, availability, and round-trip time impact, information about the network providers, the event type, and so on.

Information rolled up at the global traffic level is also returned, including the impact type and total traffic impact.

", + "GetMonitor": "

Gets information about a monitor in Amazon CloudWatch Internet Monitor based on a monitor name. The information returned includes the Amazon Resource Name (ARN), create time, modified time, resources included in the monitor, and status information.

", + "ListHealthEvents": "

Lists all health events for a monitor in Amazon CloudWatch Internet Monitor. Returns all information for health events including the client location information the network cause and status, event start and end time, percentage of total traffic impacted, and status.

Health events that have start times during the time frame that is requested are not included in the list of health events.

", + "ListMonitors": "

Lists all of your monitors for Amazon CloudWatch Internet Monitor and their statuses, along with the Amazon Resource Name (ARN) and name of each monitor.

", + "ListTagsForResource": "

Lists the tags for a resource. Tags are supported only for monitors in Amazon CloudWatch Internet Monitor.

", + "TagResource": "

Adds a tag to a resource. Tags are supported only for monitors in Amazon CloudWatch Internet Monitor. You can add a maximum of 50 tags in Internet Monitor.

A minimum of one tag is required for this call. It returns an error if you use the TagResource request with 0 tags.

", + "UntagResource": "

Removes a tag from a resource.

", + "UpdateMonitor": "

Updates a monitor. You can update a monitor to add or remove resources, or to change the status of the monitor. You can't change the name of a monitor.

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

You don't have sufficient permission to perform this action.

", + "refs": { + } + }, + "Arn": { + "base": null, + "refs": { + "GetHealthEventOutput$EventArn": "

The Amazon Resource Name (ARN) of the event.

", + "HealthEvent$EventArn": "

The Amazon Resource Name (ARN) of the event.

", + "SetOfARNs$member": null + } + }, + "AvailabilityMeasurement": { + "base": "

Measurements about the availability for your application on the internet, calculated by Amazon CloudWatch Internet Monitor. Amazon Web Services has substantial historical data about internet performance and availability between Amazon Web Services services and different network providers and geographies. By applying statistical analysis to the data, Internet Monitor can detect when the performance and availability for your application has dropped, compared to an estimated baseline that's already calculated. To make it easier to see those drops, we report that information to you in the form of health scores: a performance score and an availability score.

Availability in Internet Monitor represents the estimated percentage of traffic that is not seeing an availability drop. For example, an availability score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing an availability drop for that pair.

For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide.

", + "refs": { + "InternetHealth$Availability": "

Availability in Internet Monitor represents the estimated percentage of traffic that is not seeing an availability drop. For example, an availability score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing an availability drop for that pair.

For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide.

" + } + }, + "BadRequestException": { + "base": "

A bad request was received.

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

The requested resource is in use.

", + "refs": { + } + }, + "CreateMonitorInput": { + "base": null, + "refs": { + } + }, + "CreateMonitorOutput": { + "base": null, + "refs": { + } + }, + "DeleteMonitorInput": { + "base": null, + "refs": { + } + }, + "DeleteMonitorOutput": { + "base": null, + "refs": { + } + }, + "Double": { + "base": null, + "refs": { + "AvailabilityMeasurement$ExperienceScore": "

Experience scores, or health scores are calculated for different geographic and network provider combinations (that is, different granularities) and also summed into global scores. If you view performance or availability scores without filtering for any specific geography or service provider, Amazon CloudWatch Internet Monitor provides global health scores.

The Amazon CloudWatch Internet Monitor chapter in the CloudWatch User Guide includes detailed information about how Internet Monitor calculates health scores, including performance and availability scores, and when it creates and resolves health events. For more information, see How Amazon Web Services calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

", + "AvailabilityMeasurement$PercentOfTotalTrafficImpacted": "

The percentage of impact caused by a health event for total traffic globally.

For information about how Internet Monitor calculates impact, see Inside Internet Monitor in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide.

", + "AvailabilityMeasurement$PercentOfClientLocationImpacted": "

The percentage of impact caused by a health event for client location traffic globally.

For information about how Internet Monitor calculates impact, see Inside Internet Monitor in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide.

", + "GetHealthEventOutput$PercentOfTotalTrafficImpacted": "

The impact on total traffic that a health event has.

", + "HealthEvent$PercentOfTotalTrafficImpacted": "

The impact on global traffic monitored by this monitor for this health event.

", + "ImpactedLocation$Latitude": "

The latitude where the health event is located.

", + "ImpactedLocation$Longitude": "

The longitude where the health event is located.

", + "PerformanceMeasurement$ExperienceScore": "

Experience scores, or health scores, are calculated for different geographic and network provider combinations (that is, different granularities) and also totaled into global scores. If you view performance or availability scores without filtering for any specific geography or service provider, Amazon CloudWatch Internet Monitor provides global health scores.

The Amazon CloudWatch Internet Monitor chapter in the CloudWatch User Guide includes detailed information about how Internet Monitor calculates health scores, including performance and availability scores, and when it creates and resolves health events. For more information, see How Amazon Web Services calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

", + "PerformanceMeasurement$PercentOfTotalTrafficImpacted": "

How much performance impact was caused by a health event for total traffic globally. For performance, this is the percentage of how much latency increased during the event compared to typical performance for your application traffic globally.

For more information, see When Amazon Web Services creates and resolves health events in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

", + "PerformanceMeasurement$PercentOfClientLocationImpacted": "

How much performance impact was caused by a health event at a client location. For performance, this is the percentage of how much latency increased during the event compared to typical performance for traffic, from this client location to an Amazon Web Services location, using a specific client network.

For more information, see When Amazon Web Services creates and resolves health events in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

", + "RoundTripTime$P50": "

RTT at the 50th percentile (p50).

", + "RoundTripTime$P90": "

RTT at the 90th percentile (p90).

", + "RoundTripTime$P95": "

RTT at the 95th percentile (p95).

" + } + }, + "GetHealthEventInput": { + "base": null, + "refs": { + } + }, + "GetHealthEventOutput": { + "base": null, + "refs": { + } + }, + "GetMonitorInput": { + "base": null, + "refs": { + } + }, + "GetMonitorOutput": { + "base": null, + "refs": { + } + }, + "HealthEvent": { + "base": "

Information about a health event created in a monitor in Amazon CloudWatch Internet Monitor.

", + "refs": { + "HealthEventList$member": null + } + }, + "HealthEventImpactType": { + "base": null, + "refs": { + "GetHealthEventOutput$ImpactType": "

The type of impairment of a specific health event.

", + "HealthEvent$ImpactType": "

The type of impairment for a health event.

" + } + }, + "HealthEventList": { + "base": null, + "refs": { + "ListHealthEventsOutput$HealthEvents": "

A list of health events.

" + } + }, + "HealthEventName": { + "base": null, + "refs": { + "GetHealthEventInput$EventId": "

The internally generated identifier of a health event. Because EventID contains the forward slash (“/”) character, you must URL-encode the EventID field in the request URL.

", + "GetHealthEventOutput$EventId": "

The internally generated identifier of a health event.

", + "HealthEvent$EventId": "

The internally generated identifier of a specific network traffic impairment health event.

" + } + }, + "HealthEventStatus": { + "base": null, + "refs": { + "GetHealthEventOutput$Status": "

The status of a health event.

", + "HealthEvent$Status": "

Health event list member.

", + "ImpactedLocation$Status": "

The status of the health event at an impacted location.

", + "ListHealthEventsInput$EventStatus": "

The status of a health event.

" + } + }, + "ImpactedLocation": { + "base": "

Information about a location impacted by a health event in Amazon CloudWatch Internet Monitor.

Geographic regions are hierarchically categorized into country, subdivision, metro and city geographic granularities. The geographic region is identified based on the IP address used at the client locations.

", + "refs": { + "ImpactedLocationsList$member": null + } + }, + "ImpactedLocationsList": { + "base": null, + "refs": { + "GetHealthEventOutput$ImpactedLocations": "

The locations affected by a health event.

", + "HealthEvent$ImpactedLocations": "

The locations impacted by the health event.

" + } + }, + "InternalServerErrorException": { + "base": "

There was an internal server error.

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

An internal error occurred.

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

Internet health includes measurements calculated by Amazon CloudWatch Internet Monitor about the performance and availability for your application on the internet. Amazon Web Services has substantial historical data about internet performance and availability between Amazon Web Services services and different network providers and geographies. By applying statistical analysis to the data, Internet Monitor can detect when the performance and availability for your application has dropped, compared to an estimated baseline that's already calculated. To make it easier to see those drops, we report that information to you in the form of health scores: a performance score and an availability score.

", + "refs": { + "ImpactedLocation$InternetHealth": "

The calculated health at a specific location.

" + } + }, + "LimitExceededException": { + "base": "

The request exceeded a service quota.

", + "refs": { + } + }, + "ListHealthEventsInput": { + "base": null, + "refs": { + } + }, + "ListHealthEventsOutput": { + "base": null, + "refs": { + } + }, + "ListMonitorsInput": { + "base": null, + "refs": { + } + }, + "ListMonitorsOutput": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceInput": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceOutput": { + "base": null, + "refs": { + } + }, + "Long": { + "base": null, + "refs": { + "ImpactedLocation$ASNumber": "

The Autonomous System Number (ASN) of the network at an impacted location.

", + "Network$ASNumber": "

The Autonomous System Number (ASN) of the internet provider or network.

" + } + }, + "MaxCityNetworksToMonitor": { + "base": null, + "refs": { + "CreateMonitorInput$MaxCityNetworksToMonitor": "

The maximum number of city-network combinations (that is, combinations of a city location and network, such as an ISP) to be monitored for your resources.

", + "GetMonitorOutput$MaxCityNetworksToMonitor": "

The maximum number of city-network combinations (that is, combinations of a city location and network, such as an ISP) to be monitored for your resources.

", + "UpdateMonitorInput$MaxCityNetworksToMonitor": "

The maximum number of city-network combinations (that is, combinations of a city location and network, such as an ISP) to be monitored for your resources.

" + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListHealthEventsInput$MaxResults": "

The number of health event objects that you want to return with this call.

", + "ListMonitorsInput$MaxResults": "

The number of monitor objects that you want to return with this call.

" + } + }, + "Monitor": { + "base": "

The description of and information about a monitor in Amazon CloudWatch Internet Monitor.

", + "refs": { + "MonitorList$member": null + } + }, + "MonitorArn": { + "base": null, + "refs": { + "CreateMonitorOutput$Arn": "

The Amazon Resource Name (ARN) of the monitor.

", + "GetMonitorOutput$MonitorArn": "

The Amazon Resource Name (ARN) of the monitor.

", + "ListTagsForResourceInput$ResourceArn": "

The Amazon Resource Name (ARN) for a resource.

", + "Monitor$MonitorArn": "

The Amazon Resource Name (ARN) of the monitor.

", + "TagResourceInput$ResourceArn": "

The Amazon Resource Name (ARN) for a tag that you add to a resource. Tags are supported only for monitors in Amazon CloudWatch Internet Monitor.

", + "UntagResourceInput$ResourceArn": "

The Amazon Resource Name (ARN) for a tag you remove a resource from.

", + "UpdateMonitorOutput$MonitorArn": "

The Amazon Resource Name (ARN) of the monitor.

" + } + }, + "MonitorConfigState": { + "base": null, + "refs": { + "CreateMonitorOutput$Status": "

The status of a monitor.

", + "GetMonitorOutput$Status": "

The status of the monitor.

", + "Monitor$Status": "

The status of a monitor.

", + "UpdateMonitorInput$Status": "

The status for a monitor. The accepted values for Status with the UpdateMonitor API call are the following: ACTIVE and INACTIVE. The following values are not accepted: PENDING, and ERROR.

", + "UpdateMonitorOutput$Status": "

The status of a monitor.

" + } + }, + "MonitorList": { + "base": null, + "refs": { + "ListMonitorsOutput$Monitors": "

A list of monitors.

" + } + }, + "MonitorProcessingStatusCode": { + "base": null, + "refs": { + "GetMonitorOutput$ProcessingStatus": "

The health of the data processing for the monitor.

", + "Monitor$ProcessingStatus": "

The health of data processing for the monitor.

" + } + }, + "Network": { + "base": "

An internet service provider (ISP) or network in Amazon CloudWatch Internet Monitor.

", + "refs": { + "NetworkList$member": null + } + }, + "NetworkImpairment": { + "base": "

Information about the network impairment for a specific network measured by Amazon CloudWatch Internet Monitor.

", + "refs": { + "ImpactedLocation$CausedBy": "

The cause of the impairment. There are two types of network impairments: Amazon Web Services network issues or internet issues. Internet issues are typically a problem with a network provider, like an internet service provider (ISP).

" + } + }, + "NetworkList": { + "base": null, + "refs": { + "NetworkImpairment$Networks": "

The networks that could be impacted by a network impairment event.

", + "NetworkImpairment$AsPath": "

The combination of the Autonomous System Number (ASN) of the network and the name of the network.

" + } + }, + "NotFoundException": { + "base": "

The request specifies something that doesn't exist.

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

Measurements about the performance for your application on the internet calculated by Amazon CloudWatch Internet Monitor. Amazon Web Services has substantial historical data about internet performance and availability between Amazon Web Services services and different network providers and geographies. By applying statistical analysis to the data, Internet Monitor can detect when the performance and availability for your application has dropped, compared to an estimated baseline that's already calculated. To make it easier to see those drops, we report that information to you in the form of health scores: a performance score and an availability score.

Performance in Internet Monitor represents the estimated percentage of traffic that is not seeing a performance drop. For example, a performance score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing a performance drop for that pair.

For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide.

", + "refs": { + "InternetHealth$Performance": "

Performance in Internet Monitor represents the estimated percentage of traffic that is not seeing a performance drop. For example, a performance score of 99% for an end user and service location pair is equivalent to 1% of the traffic experiencing a performance drop for that pair.

For more information, see How Internet Monitor calculates performance and availability scores in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch User Guide.

" + } + }, + "ResourceName": { + "base": null, + "refs": { + "CreateMonitorInput$MonitorName": "

The name of the monitor.

", + "DeleteMonitorInput$MonitorName": "

The name of the monitor to delete.

", + "GetHealthEventInput$MonitorName": "

The name of the monitor.

", + "GetMonitorInput$MonitorName": "

The name of the monitor.

", + "GetMonitorOutput$MonitorName": "

The name of the monitor.

", + "ListHealthEventsInput$MonitorName": "

The name of the monitor.

", + "Monitor$MonitorName": "

The name of the monitor.

", + "UpdateMonitorInput$MonitorName": "

The name of the monitor.

" + } + }, + "ResourceNotFoundException": { + "base": "

The request specifies a resource that doesn't exist.

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

Round-trip time (RTT) is how long it takes for a request from the user to return a response to the user. Amazon CloudWatch Internet Monitor calculates RTT at different percentiles: p50, p90, and p95.

", + "refs": { + "PerformanceMeasurement$RoundTripTime": "

This is the percentage of how much round-trip time increased during the event compared to typical round-trip time for your application for traffic.

For more information, see When Amazon Web Services creates and resolves health events in the Amazon CloudWatch Internet Monitor section of the CloudWatch User Guide.

" + } + }, + "SetOfARNs": { + "base": null, + "refs": { + "CreateMonitorInput$Resources": "

The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs).

You can add a combination of Amazon Virtual Private Clouds (VPCs) and Amazon CloudFront distributions, or you can add Amazon WorkSpaces directories. You can't add all three types of resources.

If you add only VPC resources, at least one VPC must have an Internet Gateway attached to it, to make sure that it has internet connectivity.

", + "GetMonitorOutput$Resources": "

The resources that have been added for the monitor. Resources are listed by their Amazon Resource Names (ARNs).

", + "UpdateMonitorInput$ResourcesToAdd": "

The resources to include in a monitor, which you provide as a set of Amazon Resource Names (ARNs).

You can add a combination of Amazon Virtual Private Clouds (VPCs) and Amazon CloudFront distributions, or you can add Amazon WorkSpaces directories. You can't add all three types of resources.

If you add only VPC resources, at least one VPC must have an Internet Gateway attached to it, to make sure that it has internet connectivity.

", + "UpdateMonitorInput$ResourcesToRemove": "

The resources to remove from a monitor, which you provide as a set of Amazon Resource Names (ARNs).

" + } + }, + "String": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "BadRequestException$message": null, + "ConflictException$message": null, + "CreateMonitorInput$ClientToken": "

A unique, case-sensitive string of up to 64 ASCII characters that you specify to make an idempotent API request. Don't reuse the same client token for other API requests.

", + "GetMonitorOutput$ProcessingStatusInfo": "

Additional information about the health of the data processing for the monitor.

", + "ImpactedLocation$ASName": "

The name of the network at an impacted location.

", + "ImpactedLocation$Country": "

The name of the country where the health event is located.

", + "ImpactedLocation$Subdivision": "

The subdivision location where the health event is located. The subdivision usually maps to states in most countries (including the United States). For United Kingdom, it maps to a country (England, Scotland, Wales) or province (Northern Ireland).

", + "ImpactedLocation$Metro": "

The metro area where the health event is located.

Metro indicates a metropolitan region in the United States, such as the region around New York City. In non-US countries, this is a second-level subdivision. For example, in the United Kingdom, it could be a county, a London borough, a unitary authority, council area, and so on.

", + "ImpactedLocation$City": "

The name of the city where the health event is located.

", + "ImpactedLocation$CountryCode": "

The country code where the health event is located. The ISO 3166-2 codes for the country is provided, when available.

", + "ImpactedLocation$SubdivisionCode": "

The subdivision code where the health event is located. The ISO 3166-2 codes for country subdivisions is provided, when available.

", + "ImpactedLocation$ServiceLocation": "

The service location where the health event is located.

", + "InternalServerErrorException$message": null, + "InternalServerException$message": null, + "LimitExceededException$message": null, + "ListHealthEventsInput$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "ListHealthEventsOutput$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "ListMonitorsInput$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "ListMonitorsInput$MonitorStatus": "

The status of a monitor. This includes the status of the data processing for the monitor and the status of the monitor itself.

For information about the statuses for a monitor, see Monitor.

", + "ListMonitorsOutput$NextToken": "

The token for the next set of results. You receive this token from a previous call.

", + "Network$ASName": "

The internet provider name or network name.

", + "NotFoundException$message": null, + "ResourceNotFoundException$message": null, + "ThrottlingException$message": null, + "TooManyRequestsException$message": null, + "UpdateMonitorInput$ClientToken": "

A unique, case-sensitive string of up to 64 ASCII characters that you specify to make an idempotent API request. You should not reuse the same client token for other API requests.

", + "ValidationException$message": null + } + }, + "SyntheticTimestamp_date_time": { + "base": null, + "refs": { + "GetHealthEventOutput$StartedAt": "

The time when a health event started.

", + "GetHealthEventOutput$EndedAt": "

The time when a health event was resolved. If the health event is still active, the end time is not set.

", + "GetHealthEventOutput$CreatedAt": "

The time when a health event was created.

", + "GetHealthEventOutput$LastUpdatedAt": "

The time when a health event was last updated or recalculated.

", + "GetMonitorOutput$CreatedAt": "

The time when the monitor was created.

", + "GetMonitorOutput$ModifiedAt": "

The last time that the monitor was modified.

", + "HealthEvent$StartedAt": "

When a health event started.

", + "HealthEvent$EndedAt": "

The time when a health event ended. If the health event is still active, then the end time is not set.

", + "HealthEvent$CreatedAt": "

When the health event was created.

", + "HealthEvent$LastUpdatedAt": "

When the health event was last updated.

", + "ListHealthEventsInput$StartTime": "

The time when a health event started.

", + "ListHealthEventsInput$EndTime": "

The time when a health event ended. If the health event is still ongoing, then the end time is not set.

" + } + }, + "TagKey": { + "base": null, + "refs": { + "TagKeys$member": null, + "TagMap$key": null + } + }, + "TagKeys": { + "base": null, + "refs": { + "UntagResourceInput$TagKeys": "

Tag keys that you remove from a resource.

" + } + }, + "TagMap": { + "base": null, + "refs": { + "CreateMonitorInput$Tags": "

The tags for a monitor. You can add a maximum of 50 tags in Internet Monitor.

", + "GetMonitorOutput$Tags": "

The tags that have been added to monitor.

", + "ListTagsForResourceOutput$Tags": "

Tags for a resource.

", + "TagResourceInput$Tags": "

Tags that you add to a resource. You can add a maximum of 50 tags in Internet Monitor.

" + } + }, + "TagResourceInput": { + "base": null, + "refs": { + } + }, + "TagResourceOutput": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "TagMap$value": null + } + }, + "ThrottlingException": { + "base": "

The request was denied due to request throttling.

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

There were too many requests.

", + "refs": { + } + }, + "TriangulationEventType": { + "base": null, + "refs": { + "NetworkImpairment$NetworkEventType": "

Type of network impairment.

" + } + }, + "UntagResourceInput": { + "base": null, + "refs": { + } + }, + "UntagResourceOutput": { + "base": null, + "refs": { + } + }, + "UpdateMonitorInput": { + "base": null, + "refs": { + } + }, + "UpdateMonitorOutput": { + "base": null, + "refs": { + } + }, + "ValidationException": { + "base": "

Invalid request.

", + "refs": { + } + } + } +} diff --git a/models/apis/internetmonitor/2021-06-03/endpoint-rule-set-1.json b/models/apis/internetmonitor/2021-06-03/endpoint-rule-set-1.json new file mode 100644 index 00000000000..25b3af24f3a --- /dev/null +++ b/models/apis/internetmonitor/2021-06-03/endpoint-rule-set-1.json @@ -0,0 +1,277 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://internetmonitor-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [], + "endpoint": { + "url": "https://internetmonitor.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://internetmonitor-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://internetmonitor.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/internetmonitor/2021-06-03/endpoint-tests-1.json b/models/apis/internetmonitor/2021-06-03/endpoint-tests-1.json new file mode 100644 index 00000000000..7e7a19f9bdc --- /dev/null +++ b/models/apis/internetmonitor/2021-06-03/endpoint-tests-1.json @@ -0,0 +1,113 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://internetmonitor.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/internetmonitor/2021-06-03/examples-1.json b/models/apis/internetmonitor/2021-06-03/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/internetmonitor/2021-06-03/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/internetmonitor/2021-06-03/paginators-1.json b/models/apis/internetmonitor/2021-06-03/paginators-1.json new file mode 100644 index 00000000000..467ebeee8ea --- /dev/null +++ b/models/apis/internetmonitor/2021-06-03/paginators-1.json @@ -0,0 +1,16 @@ +{ + "pagination": { + "ListHealthEvents": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "HealthEvents" + }, + "ListMonitors": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Monitors" + } + } +} diff --git a/models/apis/internetmonitor/2021-06-03/smoke.json b/models/apis/internetmonitor/2021-06-03/smoke.json new file mode 100644 index 00000000000..a9756813e4a --- /dev/null +++ b/models/apis/internetmonitor/2021-06-03/smoke.json @@ -0,0 +1,6 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + ] +} diff --git a/models/apis/internetmonitor/2021-06-03/waiters-2.json b/models/apis/internetmonitor/2021-06-03/waiters-2.json new file mode 100644 index 00000000000..13f60ee66be --- /dev/null +++ b/models/apis/internetmonitor/2021-06-03/waiters-2.json @@ -0,0 +1,5 @@ +{ + "version": 2, + "waiters": { + } +} diff --git a/models/apis/lambda/2015-03-31/api-2.json b/models/apis/lambda/2015-03-31/api-2.json index 155bb19d872..663a119585e 100644 --- a/models/apis/lambda/2015-03-31/api-2.json +++ b/models/apis/lambda/2015-03-31/api-2.json @@ -1365,6 +1365,12 @@ "error":{"httpStatusCode":400}, "exception":true }, + "CollectionName":{ + "type":"string", + "max":57, + "min":1, + "pattern":"(^(?!(system\\x2e)))(^[_a-zA-Z0-9])([^$]*)" + }, "CompatibleArchitectures":{ "type":"list", "member":{"shape":"Architecture"}, @@ -1452,7 +1458,8 @@ "FunctionResponseTypes":{"shape":"FunctionResponseTypeList"}, "AmazonManagedKafkaEventSourceConfig":{"shape":"AmazonManagedKafkaEventSourceConfig"}, "SelfManagedKafkaEventSourceConfig":{"shape":"SelfManagedKafkaEventSourceConfig"}, - "ScalingConfig":{"shape":"ScalingConfig"} + "ScalingConfig":{"shape":"ScalingConfig"}, + "DocumentDBEventSourceConfig":{"shape":"DocumentDBEventSourceConfig"} } }, "CreateFunctionRequest":{ @@ -1525,6 +1532,12 @@ "CreationTime":{"shape":"Timestamp"} } }, + "DatabaseName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"[^ /\\.$\\x22]*" + }, "Date":{"type":"timestamp"}, "DeadLetterConfig":{ "type":"structure", @@ -1704,6 +1717,14 @@ "OnFailure":{"shape":"OnFailure"} } }, + "DocumentDBEventSourceConfig":{ + "type":"structure", + "members":{ + "DatabaseName":{"shape":"DatabaseName"}, + "CollectionName":{"shape":"CollectionName"}, + "FullDocument":{"shape":"FullDocument"} + } + }, "EC2AccessDeniedException":{ "type":"structure", "members":{ @@ -1876,7 +1897,8 @@ "FunctionResponseTypes":{"shape":"FunctionResponseTypeList"}, "AmazonManagedKafkaEventSourceConfig":{"shape":"AmazonManagedKafkaEventSourceConfig"}, "SelfManagedKafkaEventSourceConfig":{"shape":"SelfManagedKafkaEventSourceConfig"}, - "ScalingConfig":{"shape":"ScalingConfig"} + "ScalingConfig":{"shape":"ScalingConfig"}, + "DocumentDBEventSourceConfig":{"shape":"DocumentDBEventSourceConfig"} } }, "EventSourceMappingsList":{ @@ -1934,6 +1956,13 @@ "type":"list", "member":{"shape":"Filter"} }, + "FullDocument":{ + "type":"string", + "enum":[ + "UpdateLookup", + "Default" + ] + }, "FunctionArn":{ "type":"string", "pattern":"arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\\d{1}:\\d{12}:function:[a-zA-Z0-9-_]+(:(\\$LATEST|[a-zA-Z0-9-_]+))?" @@ -2397,7 +2426,7 @@ "required":["FunctionName"], "members":{ "FunctionName":{ - "shape":"FunctionName", + "shape":"NamespacedFunctionName", "location":"uri", "locationName":"FunctionName" }, @@ -2412,7 +2441,8 @@ "type":"structure", "members":{ "UpdateRuntimeOn":{"shape":"UpdateRuntimeOn"}, - "RuntimeVersionArn":{"shape":"RuntimeVersionArn"} + "RuntimeVersionArn":{"shape":"RuntimeVersionArn"}, + "FunctionArn":{"shape":"NameSpacedFunctionArn"} } }, "Handler":{ @@ -4108,7 +4138,8 @@ "SourceAccessConfigurations":{"shape":"SourceAccessConfigurations"}, "TumblingWindowInSeconds":{"shape":"TumblingWindowInSeconds"}, "FunctionResponseTypes":{"shape":"FunctionResponseTypeList"}, - "ScalingConfig":{"shape":"ScalingConfig"} + "ScalingConfig":{"shape":"ScalingConfig"}, + "DocumentDBEventSourceConfig":{"shape":"DocumentDBEventSourceConfig"} } }, "UpdateFunctionCodeRequest":{ diff --git a/models/apis/lambda/2015-03-31/docs-2.json b/models/apis/lambda/2015-03-31/docs-2.json index f8ba384aaa0..131b1602c97 100644 --- a/models/apis/lambda/2015-03-31/docs-2.json +++ b/models/apis/lambda/2015-03-31/docs-2.json @@ -317,6 +317,12 @@ "refs": { } }, + "CollectionName": { + "base": null, + "refs": { + "DocumentDBEventSourceConfig$CollectionName": "

The name of the collection to consume within the database. If you do not specify a collection, Lambda consumes all collections.

" + } + }, "CompatibleArchitectures": { "base": null, "refs": { @@ -387,6 +393,12 @@ "refs": { } }, + "DatabaseName": { + "base": null, + "refs": { + "DocumentDBEventSourceConfig$DatabaseName": "

The name of the database to consume within the DocumentDB cluster.

" + } + }, "Date": { "base": null, "refs": { @@ -496,6 +508,14 @@ "UpdateFunctionEventInvokeConfigRequest$DestinationConfig": "

A destination for events after they have been sent to a function for processing.

Destinations

" } }, + "DocumentDBEventSourceConfig": { + "base": "

Specific configuration settings for a DocumentDB event source.

", + "refs": { + "CreateEventSourceMappingRequest$DocumentDBEventSourceConfig": "

Specific configuration settings for a DocumentDB event source.

", + "EventSourceMappingConfiguration$DocumentDBEventSourceConfig": "

Specific configuration settings for a DocumentDB event source.

", + "UpdateEventSourceMappingRequest$DocumentDBEventSourceConfig": "

Specific configuration settings for a DocumentDB event source.

" + } + }, "EC2AccessDeniedException": { "base": "

Need additional permissions to configure VPC settings.

", "refs": { @@ -684,6 +704,12 @@ "FilterCriteria$Filters": "

A list of filters.

" } }, + "FullDocument": { + "base": null, + "refs": { + "DocumentDBEventSourceConfig$FullDocument": "

Determines what DocumentDB sends to your event stream during document update operations. If set to UpdateLookup, DocumentDB sends a delta describing the changes, along with a copy of the entire document. Otherwise, DocumentDB sends only a partial document that contains the changes.

" + } + }, "FunctionArn": { "base": null, "refs": { @@ -769,7 +795,6 @@ "GetFunctionEventInvokeConfigRequest$FunctionName": "

The name of the Lambda function, version, or alias.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "GetFunctionUrlConfigRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "GetProvisionedConcurrencyConfigRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", - "GetRuntimeManagementConfigRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "ListAliasesRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "ListEventSourceMappingsRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it's limited to 64 characters in length.

", "ListFunctionEventInvokeConfigsRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", @@ -817,13 +842,13 @@ "FunctionUrlAuthType": { "base": null, "refs": { - "AddPermissionRequest$FunctionUrlAuthType": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", - "CreateFunctionUrlConfigRequest$AuthType": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", - "CreateFunctionUrlConfigResponse$AuthType": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", - "FunctionUrlConfig$AuthType": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", - "GetFunctionUrlConfigResponse$AuthType": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", - "UpdateFunctionUrlConfigRequest$AuthType": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", - "UpdateFunctionUrlConfigResponse$AuthType": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated IAM users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

" + "AddPermissionRequest$FunctionUrlAuthType": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", + "CreateFunctionUrlConfigRequest$AuthType": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", + "CreateFunctionUrlConfigResponse$AuthType": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", + "FunctionUrlConfig$AuthType": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", + "GetFunctionUrlConfigResponse$AuthType": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", + "UpdateFunctionUrlConfigRequest$AuthType": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", + "UpdateFunctionUrlConfigResponse$AuthType": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

" } }, "FunctionUrlConfig": { @@ -1121,9 +1146,9 @@ "KMSKeyArn": { "base": null, "refs": { - "CreateFunctionRequest$KMSKeyArn": "

The ARN of the Key Management Service (KMS) key that's used to encrypt your function's environment variables. If it's not provided, Lambda uses a default service key.

", - "FunctionConfiguration$KMSKeyArn": "

The KMS key that's used to encrypt the function's environment variables. This key is returned only if you've configured a customer managed key.

", - "UpdateFunctionConfigurationRequest$KMSKeyArn": "

The ARN of the Key Management Service (KMS) key that's used to encrypt your function's environment variables. If it's not provided, Lambda uses a default service key.

" + "CreateFunctionRequest$KMSKeyArn": "

The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt your function's environment variables. When Lambda SnapStart is activated, this key is also used to encrypt your function's snapshot. If you don't provide a customer managed key, Lambda uses a default service key.

", + "FunctionConfiguration$KMSKeyArn": "

The KMS key that's used to encrypt the function's environment variables. When Lambda SnapStart is activated, this key is also used to encrypt the function's snapshot. This key is returned only if you've configured a customer managed key.

", + "UpdateFunctionConfigurationRequest$KMSKeyArn": "

The ARN of the Key Management Service (KMS) customer managed key that's used to encrypt your function's environment variables. When Lambda SnapStart is activated, this key is also used to encrypt your function's snapshot. If you don't provide a customer managed key, Lambda uses a default service key.

" } }, "KMSNotFoundException": { @@ -1528,7 +1553,8 @@ "NameSpacedFunctionArn": { "base": null, "refs": { - "FunctionConfiguration$FunctionArn": "

The function's Amazon Resource Name (ARN).

" + "FunctionConfiguration$FunctionArn": "

The function's Amazon Resource Name (ARN).

", + "GetRuntimeManagementConfigResponse$FunctionArn": "

The Amazon Resource Name (ARN) of your function.

" } }, "NamespacedFunctionName": { @@ -1538,6 +1564,7 @@ "GetFunctionConfigurationRequest$FunctionName": "

The name of the Lambda function, version, or alias.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "GetFunctionRequest$FunctionName": "

The name of the Lambda function, version, or alias.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "GetPolicyRequest$FunctionName": "

The name of the Lambda function, version, or alias.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", + "GetRuntimeManagementConfigRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "InvocationRequest$FunctionName": "

The name of the Lambda function, version, or alias.

Name formats

You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "InvokeAsyncRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

", "ListVersionsByFunctionRequest$FunctionName": "

The name of the Lambda function.

Name formats

The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

" @@ -1811,11 +1838,11 @@ "base": null, "refs": { "CompatibleRuntimes$member": null, - "CreateFunctionRequest$Runtime": "

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.

", + "CreateFunctionRequest$Runtime": "

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.

The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.

", "FunctionConfiguration$Runtime": "

The runtime environment for the Lambda function.

", "ListLayerVersionsRequest$CompatibleRuntime": "

A runtime identifier. For example, go1.x.

", "ListLayersRequest$CompatibleRuntime": "

A runtime identifier. For example, go1.x.

", - "UpdateFunctionConfigurationRequest$Runtime": "

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.

" + "UpdateFunctionConfigurationRequest$Runtime": "

The identifier of the function's runtime. Runtime is required if the deployment package is a .zip file archive.

The following list includes deprecated runtimes. For more information, see Runtime deprecation policy.

" } }, "RuntimeVersionArn": { diff --git a/models/apis/lambda/2015-03-31/endpoint-rule-set-1.json b/models/apis/lambda/2015-03-31/endpoint-rule-set-1.json index 8d4526c0155..c880ce66f29 100644 --- a/models/apis/lambda/2015-03-31/endpoint-rule-set-1.json +++ b/models/apis/lambda/2015-03-31/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,90 +111,215 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] }, - "supportsFIPS" + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://lambda-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] }, { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://lambda-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://lambda-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsFIPS" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://lambda.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -222,7 +327,7 @@ { "conditions": [], "endpoint": { - "url": "https://lambda-fips.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://lambda.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -231,74 +336,13 @@ ] } ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://lambda.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://lambda.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/models/apis/lambda/2015-03-31/endpoint-tests-1.json b/models/apis/lambda/2015-03-31/endpoint-tests-1.json index 37a94a0a6f8..06ce0daa036 100644 --- a/models/apis/lambda/2015-03-31/endpoint-tests-1.json +++ b/models/apis/lambda/2015-03-31/endpoint-tests-1.json @@ -1,558 +1,549 @@ { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-south-2" - } - }, - { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-south-2.amazonaws.com" + "url": "https://lambda.af-south-1.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-south-2" + "UseFIPS": false, + "Region": "af-south-1" } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.ap-south-2.api.aws" + "url": "https://lambda.af-south-1.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "ap-south-2" + "Region": "af-south-1" } }, { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.ap-south-2.amazonaws.com" + "url": "https://lambda.ap-east-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "ap-south-2" + "Region": "ap-east-1" } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-south-1.api.aws" + "url": "https://lambda.ap-east-1.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-south-1" + "UseFIPS": false, + "Region": "ap-east-1" } }, { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-south-1.amazonaws.com" + "url": "https://lambda.ap-northeast-1.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-south-1" + "UseFIPS": false, + "Region": "ap-northeast-1" } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.ap-south-1.api.aws" + "url": "https://lambda.ap-northeast-1.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "ap-south-1" + "Region": "ap-northeast-1" } }, { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.ap-south-1.amazonaws.com" + "url": "https://lambda.ap-northeast-2.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "ap-south-1" + "Region": "ap-northeast-2" } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.eu-south-1.api.aws" + "url": "https://lambda.ap-northeast-2.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-south-1" + "UseFIPS": false, + "Region": "ap-northeast-2" } }, { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.eu-south-1.amazonaws.com" + "url": "https://lambda.ap-northeast-3.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-south-1" + "UseFIPS": false, + "Region": "ap-northeast-3" } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.eu-south-1.api.aws" + "url": "https://lambda.ap-northeast-3.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "eu-south-1" + "Region": "ap-northeast-3" } }, { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.eu-south-1.amazonaws.com" + "url": "https://lambda.ap-south-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "eu-south-1" + "Region": "ap-south-1" } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.eu-south-2.api.aws" + "url": "https://lambda.ap-south-1.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-south-2" + "UseFIPS": false, + "Region": "ap-south-1" } }, { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.eu-south-2.amazonaws.com" + "url": "https://lambda.ap-southeast-1.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-south-2" + "UseFIPS": false, + "Region": "ap-southeast-1" } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.eu-south-2.api.aws" + "url": "https://lambda.ap-southeast-1.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "eu-south-2" + "Region": "ap-southeast-1" } }, { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.eu-south-2.amazonaws.com" + "url": "https://lambda.ap-southeast-2.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "eu-south-2" + "Region": "ap-southeast-2" } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-gov-east-1.api.aws" + "url": "https://lambda.ap-southeast-2.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-east-1" + "UseFIPS": false, + "Region": "ap-southeast-2" } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-gov-east-1.amazonaws.com" + "url": "https://lambda.ap-southeast-3.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-east-1" + "UseFIPS": false, + "Region": "ap-southeast-3" } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.us-gov-east-1.api.aws" + "url": "https://lambda.ap-southeast-3.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "us-gov-east-1" + "Region": "ap-southeast-3" } }, { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.us-gov-east-1.amazonaws.com" + "url": "https://lambda.ca-central-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "us-gov-east-1" + "Region": "ca-central-1" } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.me-central-1.api.aws" + "url": "https://lambda.ca-central-1.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "me-central-1" + "UseFIPS": false, + "Region": "ca-central-1" } }, { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.me-central-1.amazonaws.com" + "url": "https://lambda.eu-central-1.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "me-central-1" + "UseFIPS": false, + "Region": "eu-central-1" } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.me-central-1.api.aws" + "url": "https://lambda.eu-central-1.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "me-central-1" + "Region": "eu-central-1" } }, { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.me-central-1.amazonaws.com" + "url": "https://lambda.eu-north-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "me-central-1" + "Region": "eu-north-1" } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ca-central-1.api.aws" + "url": "https://lambda.eu-north-1.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "ca-central-1" + "UseFIPS": false, + "Region": "eu-north-1" } }, { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ca-central-1.amazonaws.com" + "url": "https://lambda.eu-south-1.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "ca-central-1" + "UseFIPS": false, + "Region": "eu-south-1" } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.ca-central-1.api.aws" + "url": "https://lambda.eu-south-1.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "ca-central-1" + "Region": "eu-south-1" } }, { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.ca-central-1.amazonaws.com" + "url": "https://lambda.eu-west-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "ca-central-1" + "Region": "eu-west-1" } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.eu-central-1.api.aws" + "url": "https://lambda.eu-west-1.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-central-1" + "UseFIPS": false, + "Region": "eu-west-1" } }, { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.eu-central-1.amazonaws.com" + "url": "https://lambda.eu-west-2.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-central-1" + "UseFIPS": false, + "Region": "eu-west-2" } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.eu-central-1.api.aws" + "url": "https://lambda.eu-west-2.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "eu-central-1" + "Region": "eu-west-2" } }, { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.eu-central-1.amazonaws.com" + "url": "https://lambda.eu-west-3.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "eu-central-1" + "Region": "eu-west-3" } }, { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://lambda.eu-west-3.api.aws" + } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "us-iso-west-1" + "UseFIPS": false, + "Region": "eu-west-3" } }, { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-iso-west-1.c2s.ic.gov" + "url": "https://lambda.me-south-1.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "us-iso-west-1" + "UseFIPS": false, + "Region": "me-south-1" } }, { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://lambda.me-south-1.api.aws" + } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "us-iso-west-1" + "Region": "me-south-1" } }, { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.us-iso-west-1.c2s.ic.gov" + "url": "https://lambda.sa-east-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "us-iso-west-1" + "Region": "sa-east-1" } }, { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.eu-central-2.api.aws" + "url": "https://lambda.sa-east-1.api.aws" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-central-2" + "UseFIPS": false, + "Region": "sa-east-1" } }, { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.eu-central-2.amazonaws.com" + "url": "https://lambda.us-east-1.amazonaws.com" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-central-2" + "UseFIPS": false, + "Region": "us-east-1" } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.eu-central-2.api.aws" + "url": "https://lambda-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-central-2" + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1" } }, { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.eu-central-2.amazonaws.com" + "url": "https://lambda.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "UseDualStack": true, "UseFIPS": false, - "Region": "eu-central-2" + "Region": "us-east-1" } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-west-1.api.aws" + "url": "https://lambda.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-west-1" + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-2" } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-west-1.amazonaws.com" + "url": "https://lambda-fips.us-east-2.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": true, - "Region": "us-west-1" + "Region": "us-east-2" } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.us-west-1.api.aws" + "url": "https://lambda.us-east-2.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "us-west-1" + "Region": "us-east-2" } }, { @@ -569,1153 +560,288 @@ } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-west-2.api.aws" + "url": "https://lambda-fips.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "UseDualStack": false, "UseFIPS": true, - "Region": "us-west-2" + "Region": "us-west-1" } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "me-south-1" - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "me-south-1" - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "me-south-1" - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "me-south-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "sa-east-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "sa-east-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "sa-east-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "sa-east-1" - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-east-1" - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-east-1" - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-east-1" - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-east-1" - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "cn-north-1" - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "cn-north-1" - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "cn-north-1" - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "cn-north-1" - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-west-1" - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-west-1" - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-gov-west-1" - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-gov-west-1" - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-1" - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-southeast-1" - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.ap-southeast-1.api.aws" + "url": "https://lambda.us-west-1.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "ap-southeast-1" + "Region": "us-west-1" } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.ap-southeast-1.amazonaws.com" + "url": "https://lambda.us-west-2.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "ap-southeast-1" - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.ap-southeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-2" + "Region": "us-west-2" } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-southeast-2.amazonaws.com" + "url": "https://lambda-fips.us-west-2.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": true, - "Region": "ap-southeast-2" + "Region": "us-west-2" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.ap-southeast-2.api.aws" + "url": "https://lambda.us-west-2.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "ap-southeast-2" + "Region": "us-west-2" } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.ap-southeast-2.amazonaws.com" + "url": "https://lambda-fips.us-east-1.api.aws" } }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-southeast-2" - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, "params": { "UseDualStack": true, "UseFIPS": true, - "Region": "us-iso-east-1" - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-iso-east-1" - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-iso-east-1" + "Region": "us-east-1" } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.us-iso-east-1.c2s.ic.gov" + "url": "https://lambda.cn-north-1.amazonaws.com.cn" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "us-iso-east-1" + "Region": "cn-north-1" } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-southeast-3.api.aws" + "url": "https://lambda.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-3" + "UseFIPS": false, + "Region": "cn-north-1" } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-southeast-3.amazonaws.com" + "url": "https://lambda.cn-northwest-1.amazonaws.com.cn" } }, "params": { "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-southeast-3" - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.ap-southeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, "UseFIPS": false, - "Region": "ap-southeast-3" + "Region": "cn-northwest-1" } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.ap-southeast-3.amazonaws.com" + "url": "https://lambda.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, + "UseDualStack": true, "UseFIPS": false, - "Region": "ap-southeast-3" + "Region": "cn-northwest-1" } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-southeast-4.api.aws" + "url": "https://lambda-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { "UseDualStack": true, "UseFIPS": true, - "Region": "ap-southeast-4" + "Region": "cn-north-1" } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.ap-southeast-4.amazonaws.com" + "url": "https://lambda-fips.cn-north-1.amazonaws.com.cn" } }, "params": { "UseDualStack": false, "UseFIPS": true, - "Region": "ap-southeast-4" - } - }, - { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.ap-southeast-4.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-southeast-4" + "Region": "cn-north-1" } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.ap-southeast-4.amazonaws.com" + "url": "https://lambda.us-gov-east-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "ap-southeast-4" - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda-fips.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-east-1" + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-east-1.amazonaws.com" + "url": "https://lambda-fips.us-gov-east-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": true, - "Region": "us-east-1" - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.us-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-east-1" + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.us-east-1.amazonaws.com" + "url": "https://lambda.us-gov-west-1.amazonaws.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-1" + "Region": "us-gov-west-1" } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-east-2.api.aws" + "url": "https://lambda-fips.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "UseDualStack": false, "UseFIPS": true, - "Region": "us-east-2" + "Region": "us-gov-west-1" } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda-fips.us-east-2.amazonaws.com" + "url": "https://lambda-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "UseDualStack": true, "UseFIPS": true, - "Region": "us-east-2" + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://lambda.us-east-2.api.aws" + "url": "https://lambda.us-gov-east-1.api.aws" } }, "params": { "UseDualStack": true, "UseFIPS": false, - "Region": "us-east-2" + "Region": "us-gov-east-1" } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.us-east-2.amazonaws.com" + "url": "https://lambda.us-iso-east-1.c2s.ic.gov" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-2" + "Region": "us-iso-east-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.cn-northwest-1.api.amazonwebservices.com.cn" + "url": "https://lambda.us-iso-west-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "cn-northwest-1" + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-iso-west-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://lambda-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { "UseDualStack": false, "UseFIPS": true, - "Region": "cn-northwest-1" - } - }, - { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lambda.cn-northwest-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "cn-northwest-1" + "Region": "us-iso-east-1" } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://lambda.cn-northwest-1.amazonaws.com.cn" + "url": "https://lambda.us-isob-east-1.sc2s.sgov.gov" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "cn-northwest-1" - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, "Region": "us-isob-east-1" } }, @@ -1733,31 +859,21 @@ } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-isob-east-1" - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://lambda.us-isob-east-1.sc2s.sgov.gov" + "url": "https://example.com" } }, "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "us-isob-east-1" + "Region": "us-east-1", + "Endpoint": "https://example.com" } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -1766,7 +882,6 @@ "params": { "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, diff --git a/models/apis/mediaconvert/2017-08-29/api-2.json b/models/apis/mediaconvert/2017-08-29/api-2.json index 093a227f9fb..fe2b26a127a 100644 --- a/models/apis/mediaconvert/2017-08-29/api-2.json +++ b/models/apis/mediaconvert/2017-08-29/api-2.json @@ -1550,7 +1550,7 @@ "locationName": "defaultSelection" }, "ExternalAudioFileInput": { - "shape": "__stringPatternS3MM2PPWWEEBBMMMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVaAFFLLAACCFFLLAAAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEEAATTMMOOSSOOGGGGaAHttpsMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVaAFFLLAACCAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEEAATTMMOOSSOOGGGGaA", + "shape": "__stringPatternS3Https", "locationName": "externalAudioFileInput" }, "HlsRenditionGroupSettings": { @@ -1921,6 +1921,38 @@ "httpStatusCode": 400 } }, + "BandwidthReductionFilter": { + "type": "structure", + "members": { + "Sharpening": { + "shape": "BandwidthReductionFilterSharpening", + "locationName": "sharpening" + }, + "Strength": { + "shape": "BandwidthReductionFilterStrength", + "locationName": "strength" + } + } + }, + "BandwidthReductionFilterSharpening": { + "type": "string", + "enum": [ + "LOW", + "MEDIUM", + "HIGH", + "OFF" + ] + }, + "BandwidthReductionFilterStrength": { + "type": "string", + "enum": [ + "LOW", + "MEDIUM", + "HIGH", + "AUTO", + "OFF" + ] + }, "BillingTagsSource": { "type": "string", "enum": [ @@ -2825,6 +2857,10 @@ "shape": "Hdr10Metadata", "locationName": "hdr10Metadata" }, + "HdrToSdrToneMapper": { + "shape": "HDRToSDRToneMapper", + "locationName": "hdrToSdrToneMapper" + }, "Hue": { "shape": "__integerMinNegative180Max180", "locationName": "hue" @@ -4807,6 +4843,10 @@ "shape": "H264AdaptiveQuantization", "locationName": "adaptiveQuantization" }, + "BandwidthReductionFilter": { + "shape": "BandwidthReductionFilter", + "locationName": "bandwidthReductionFilter" + }, "Bitrate": { "shape": "__integerMin1000Max1152000000", "locationName": "bitrate" @@ -5406,6 +5446,13 @@ "HEV1" ] }, + "HDRToSDRToneMapper": { + "type": "string", + "enum": [ + "PRESERVE_DETAILS", + "VIBRANT" + ] + }, "Hdr10Metadata": { "type": "structure", "members": { @@ -6041,7 +6088,7 @@ "locationName": "dolbyVisionMetadataXml" }, "FileInput": { - "shape": "__stringPatternS3MM2PPMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVaAFFLLAACCFFLLAAAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLLOOGGGGaAAATTMMOOSSHttpsMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVaAFFLLAACCAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLLOOGGGGaAAATTMMOOSS", + "shape": "__stringPatternS3Https", "locationName": "fileInput" }, "FilterEnable": { @@ -11641,13 +11688,9 @@ "type": "string", "pattern": "^s3:\\/\\/.*\\/(ASSETMAP.xml)?$" }, - "__stringPatternS3MM2PPMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVaAFFLLAACCFFLLAAAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLLOOGGGGaAAATTMMOOSSHttpsMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVaAFFLLAACCAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLLOOGGGGaAAATTMMOOSS": { - "type": "string", - "pattern": "^((s3://([^\\/]+\\/+)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[pP]|[mM]2[vV]|[mM][pP][eE][gG]|[mM][pP]3|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][kK][aA]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vVaA]|[fF][lL][aA][cC]|[fF][lL][aA]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[wW][eE][bB][mM]|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[xX][mM][lL]|[oO][gG][gGaA]|[aA][tT][mM][oO][sS]))))|(https?://([^\\/]+\\/+)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[vV]|[mM][pP][eE][gG]|[mM][pP]3|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][kK][aA]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vVaA]|[fF][lL][aA][cC]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[wW][eE][bB][mM]|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[xX][mM][lL]|[oO][gG][gGaA]|[aA][tT][mM][oO][sS])))(\\?([^&=]+=[^&]+&)*[^&=]+=[^&]+)?))$" - }, - "__stringPatternS3MM2PPWWEEBBMMMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVaAFFLLAACCFFLLAAAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEEAATTMMOOSSOOGGGGaAHttpsMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVaAFFLLAACCAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEEAATTMMOOSSOOGGGGaA": { + "__stringPatternS3Https": { "type": "string", - "pattern": "^((s3://([^\\/]+\\/+)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[pP]|[wW][eE][bB][mM]|[mM]2[vV]|[mM][pP][eE][gG]|[mM][pP]3|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][kK][aA]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vVaA]|[fF][lL][aA][cC]|[fF][lL][aA]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[aA][aA][cC]|[aA][iI][fF][fF]|[mM][pP]2|[aA][cC]3|[eE][cC]3|[dD][tT][sS][eE]|[aA][tT][mM][oO][sS]|[oO][gG][gGaA]))))|(https?://([^\\/]+\\/+)+([^\\/\\.]+|(([^\\/]*)\\.([mM]2[vV]|[mM][pP][eE][gG]|[mM][pP]3|[aA][vV][iI]|[mM][pP]4|[fF][lL][vV]|[mM][pP][tT]|[mM][pP][gG]|[mM]4[vV]|[tT][rR][pP]|[fF]4[vV]|[mM]2[tT][sS]|[tT][sS]|264|[hH]264|[mM][kK][vV]|[mM][kK][aA]|[mM][oO][vV]|[mM][tT][sS]|[mM]2[tT]|[wW][mM][vVaA]|[fF][lL][aA][cC]|[aA][sS][fF]|[vV][oO][bB]|3[gG][pP]|3[gG][pP][pP]|[mM][xX][fF]|[dD][iI][vV][xX]|[xX][vV][iI][dD]|[rR][aA][wW]|[dD][vV]|[gG][xX][fF]|[mM]1[vV]|3[gG]2|[vV][mM][fF]|[mM]3[uU]8|[lL][cC][hH]|[gG][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF]_[mM][pP][eE][gG]2|[mM][xX][fF][hH][dD]|[wW][aA][vV]|[yY]4[mM]|[aA][aA][cC]|[aA][iI][fF][fF]|[mM][pP]2|[aA][cC]3|[eE][cC]3|[dD][tT][sS][eE]|[aA][tT][mM][oO][sS]|[oO][gG][gGaA])))(\\?([^&=]+=[^&]+&)*[^&=]+=[^&]+)?))$" + "pattern": "^s3://([^\\/]+\\/+)+((([^\\/]*)))|^https?://[^\\/].*[^&]$" }, "__stringPatternSNManifestConfirmConditionNotificationNS": { "type": "string", @@ -11674,4 +11717,4 @@ "timestampFormat": "unixTimestamp" } } -} \ No newline at end of file +} diff --git a/models/apis/mediaconvert/2017-08-29/docs-2.json b/models/apis/mediaconvert/2017-08-29/docs-2.json index a95345a861b..3a7811372da 100644 --- a/models/apis/mediaconvert/2017-08-29/docs-2.json +++ b/models/apis/mediaconvert/2017-08-29/docs-2.json @@ -448,6 +448,24 @@ "refs": { } }, + "BandwidthReductionFilter": { + "base": "The Bandwidth reduction filter increases the video quality of your output relative to its bitrate. Use to lower the bitrate of your constant quality QVBR output, with little or no perceptual decrease in quality. Or, use to increase the video quality of outputs with other rate control modes relative to the bitrate that you specify. Bandwidth reduction increases further when your input is low quality or noisy.Outputs that use this feature incur pro-tier pricing.When you include Bandwidth reduction filter, you cannot include the Noise reducer preprocessor.", + "refs": { + "H264Settings$BandwidthReductionFilter": "The Bandwidth reduction filter increases the video quality of your output relative to its bitrate. Use to lower the bitrate of your constant quality QVBR output, with little or no perceptual decrease in quality. Or, use to increase the video quality of outputs with other rate control modes relative to the bitrate that you specify. Bandwidth reduction increases further when your input is low quality or noisy.Outputs that use this feature incur pro-tier pricing.When you include Bandwidth reduction filter, you cannot include the Noise reducer preprocessor." + } + }, + "BandwidthReductionFilterSharpening": { + "base": "Optionally specify the level of sharpening to apply when you use the Bandwidth reduction filter. Sharpening adds contrast to the edges of your video content and can reduce softness. Keep the default value Off to apply no sharpening. Set Sharpening strength to Low to apply a minimal amount of sharpening, or High to apply a maximum amount of sharpening.", + "refs": { + "BandwidthReductionFilter$Sharpening": "Optionally specify the level of sharpening to apply when you use the Bandwidth reduction filter. Sharpening adds contrast to the edges of your video content and can reduce softness. Keep the default value Off to apply no sharpening. Set Sharpening strength to Low to apply a minimal amount of sharpening, or High to apply a maximum amount of sharpening." + } + }, + "BandwidthReductionFilterStrength": { + "base": "Specify the strength of the Bandwidth reduction filter. For most workflows, we recommend that you choose Auto. Your output bandwidth will be reduced by at least 8 percent with no perceptual decrease in video quality. If your output bandwidth isn't constrained, set Filter strength to Low or Medium. Low results in minimal to no impact in perceptual quality. For more bandwidth reduction, choose High. The filter helps equalize quality between all scenes and increases video softness. We recommend that you choose High for low bitrate outputs.", + "refs": { + "BandwidthReductionFilter$Strength": "Specify the strength of the Bandwidth reduction filter. For most workflows, we recommend that you choose Auto. Your output bandwidth will be reduced by at least 8 percent with no perceptual decrease in video quality. If your output bandwidth isn't constrained, set Filter strength to Low or Medium. Low results in minimal to no impact in perceptual quality. For more bandwidth reduction, choose High. The filter helps equalize quality between all scenes and increases video softness. We recommend that you choose High for low bitrate outputs." + } + }, "BillingTagsSource": { "base": "The tag type that AWS Billing and Cost Management will use to sort your AWS Elemental MediaConvert costs on any billing report that you set up.", "refs": { @@ -853,9 +871,9 @@ } }, "CopyProtectionAction": { - "base": "The action to take on content advisory XDS packets. If you select PASSTHROUGH, packets will not be changed. If you select STRIP, any packets will be removed in output captions.", + "base": "The action to take on copy and redistribution control XDS packets. If you select PASSTHROUGH, packets will not be changed. If you select STRIP, any packets will be removed in output captions.", "refs": { - "ExtendedDataServices$CopyProtectionAction": "The action to take on content advisory XDS packets. If you select PASSTHROUGH, packets will not be changed. If you select STRIP, any packets will be removed in output captions." + "ExtendedDataServices$CopyProtectionAction": "The action to take on copy and redistribution control XDS packets. If you select PASSTHROUGH, packets will not be changed. If you select STRIP, any packets will be removed in output captions." } }, "CreateJobRequest": { @@ -1890,6 +1908,12 @@ "H265Settings$WriteMp4PackagingType": "If the location of parameter set NAL units doesn't matter in your workflow, ignore this setting. Use this setting only with CMAF or DASH outputs, or with standalone file outputs in an MPEG-4 container (MP4 outputs). Choose HVC1 to mark your output as HVC1. This makes your output compliant with the following specification: ISO IECJTC1 SC29 N13798 Text ISO/IEC FDIS 14496-15 3rd Edition. For these outputs, the service stores parameter set NAL units in the sample headers but not in the samples directly. For MP4 outputs, when you choose HVC1, your output video might not work properly with some downstream systems and video players. The service defaults to marking your output as HEV1. For these outputs, the service writes parameter set NAL units directly into the samples." } }, + "HDRToSDRToneMapper": { + "base": "Specify how MediaConvert maps brightness and colors from your HDR input to your SDR output. The mode that you select represents a creative choice, with different tradeoffs in the details and tones of your output. To maintain details in bright or saturated areas of your output: Choose Preserve details. For some sources, your SDR output may look less bright and less saturated when compared to your HDR source. MediaConvert automatically applies this mode for HLG sources, regardless of your choice. For a bright and saturated output: Choose Vibrant. We recommend that you choose this mode when any of your source content is HDR10, and for the best results when it is mastered for 1000 nits. You may notice loss of details in bright or saturated areas of your output. HDR to SDR tone mapping has no effect when your input is SDR.", + "refs": { + "ColorCorrector$HdrToSdrToneMapper": "Specify how MediaConvert maps brightness and colors from your HDR input to your SDR output. The mode that you select represents a creative choice, with different tradeoffs in the details and tones of your output. To maintain details in bright or saturated areas of your output: Choose Preserve details. For some sources, your SDR output may look less bright and less saturated when compared to your HDR source. MediaConvert automatically applies this mode for HLG sources, regardless of your choice. For a bright and saturated output: Choose Vibrant. We recommend that you choose this mode when any of your source content is HDR10, and for the best results when it is mastered for 1000 nits. You may notice loss of details in bright or saturated areas of your output. HDR to SDR tone mapping has no effect when your input is SDR." + } + }, "Hdr10Metadata": { "base": "Use these settings to specify static color calibration metadata, as defined by SMPTE ST 2086. These values don't affect the pixel values that are encoded in the video stream. They are intended to help the downstream video player display content in a way that reflects the intentions of the the content creator.", "refs": { @@ -2925,9 +2949,9 @@ } }, "NoiseReducer": { - "base": "Enable the Noise reducer (NoiseReducer) feature to remove noise from your video output if necessary. Enable or disable this feature for each output individually. This setting is disabled by default. When you enable Noise reducer (NoiseReducer), you must also select a value for Noise reducer filter (NoiseReducerFilter).", + "base": "Enable the Noise reducer feature to remove noise from your video output if necessary. Enable or disable this feature for each output individually. This setting is disabled by default. When you enable Noise reducer, you must also select a value for Noise reducer filter. For AVC outputs, when you include Noise reducer, you cannot include the Bandwidth reduction filter.", "refs": { - "VideoPreprocessor$NoiseReducer": "Enable the Noise reducer (NoiseReducer) feature to remove noise from your video output if necessary. Enable or disable this feature for each output individually. This setting is disabled by default." + "VideoPreprocessor$NoiseReducer": "Enable the Noise reducer feature to remove noise from your video output if necessary. Enable or disable this feature for each output individually. This setting is disabled by default. When you enable Noise reducer, you must also select a value for Noise reducer filter. For AVC outputs, when you include Noise reducer, you cannot include the Bandwidth reduction filter." } }, "NoiseReducerFilter": { @@ -5150,10 +5174,10 @@ "__stringMax1000": { "base": null, "refs": { - "CmfcSettings$TimedMetadataSchemeIdUri": "Specify the event message box (eMSG) scheme ID URI (scheme_id_uri) for ID3 timed metadata in your output. For more informaiton, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 When you specify a value for ID3 metadata scheme ID URI, you must also set ID3 metadata (timedMetadata) to Passthrough.", - "CmfcSettings$TimedMetadataValue": "Specify the event message box (eMSG) value for ID3 timed metadata in your output. For more informaiton, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 Semantics. When you specify a value for ID3 Metadata Value, you must also set ID3 metadata (timedMetadata) to Passthrough.", - "MpdSettings$TimedMetadataSchemeIdUri": "Specify the event message box (eMSG) scheme ID URI (scheme_id_uri) for ID3 timed metadata in your output. For more informaiton, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 When you specify a value for ID3 metadata scheme ID URI, you must also set ID3 metadata (timedMetadata) to Passthrough.", - "MpdSettings$TimedMetadataValue": "Specify the event message box (eMSG) value for ID3 timed metadata in your output. For more informaiton, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 Semantics. When you specify a value for ID3 Metadata Value, you must also set ID3 metadata (timedMetadata) to Passthrough." + "CmfcSettings$TimedMetadataSchemeIdUri": "Specify the event message box (eMSG) scheme ID URI (scheme_id_uri) for ID3 timed metadata in your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 When you specify a value for ID3 metadata scheme ID URI, you must also set ID3 metadata (timedMetadata) to Passthrough.", + "CmfcSettings$TimedMetadataValue": "Specify the event message box (eMSG) value for ID3 timed metadata in your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 Semantics. When you specify a value for ID3 Metadata Value, you must also set ID3 metadata (timedMetadata) to Passthrough.", + "MpdSettings$TimedMetadataSchemeIdUri": "Specify the event message box (eMSG) scheme ID URI (scheme_id_uri) for ID3 timed metadata in your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 When you specify a value for ID3 metadata scheme ID URI, you must also set ID3 metadata (timedMetadata) to Passthrough.", + "MpdSettings$TimedMetadataValue": "Specify the event message box (eMSG) value for ID3 timed metadata in your output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 Semantics. When you specify a value for ID3 Metadata Value, you must also set ID3 metadata (timedMetadata) to Passthrough." } }, "__stringMin0": { @@ -5432,18 +5456,13 @@ "__listOf__stringPatternS3ASSETMAPXml$member": null } }, - "__stringPatternS3MM2PPMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVaAFFLLAACCFFLLAAAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLLOOGGGGaAAATTMMOOSSHttpsMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVaAFFLLAACCAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8WWEEBBMMLLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMXXMMLLOOGGGGaAAATTMMOOSS": { + "__stringPatternS3Https": { "base": null, "refs": { + "AudioSelector$ExternalAudioFileInput": "Specifies audio data from an external file source.", "Input$FileInput": "Specify the source file for your transcoding job. You can use multiple inputs in a single job. The service concatenates these inputs, in the order that you specify them in the job, to create the outputs. If your input format is IMF, specify your input by providing the path to your CPL. For example, \"s3://bucket/vf/cpl.xml\". If the CPL is in an incomplete IMP, make sure to use *Supplemental IMPs* (SupplementalImps) to specify any supplemental IMPs that contain assets referenced by the CPL." } }, - "__stringPatternS3MM2PPWWEEBBMMMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVaAFFLLAACCFFLLAAAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEEAATTMMOOSSOOGGGGaAHttpsMM2VVMMPPEEGGMMPP3AAVVIIMMPP4FFLLVVMMPPTTMMPPGGMM4VVTTRRPPFF4VVMM2TTSSTTSS264HH264MMKKVVMMKKAAMMOOVVMMTTSSMM2TTWWMMVVaAFFLLAACCAASSFFVVOOBB3GGPP3GGPPPPMMXXFFDDIIVVXXXXVVIIDDRRAAWWDDVVGGXXFFMM1VV3GG2VVMMFFMM3UU8LLCCHHGGXXFFMMPPEEGG2MMXXFFMMPPEEGG2MMXXFFHHDDWWAAVVYY4MMAAAACCAAIIFFFFMMPP2AACC3EECC3DDTTSSEEAATTMMOOSSOOGGGGaA": { - "base": null, - "refs": { - "AudioSelector$ExternalAudioFileInput": "Specifies audio data from an external file source." - } - }, "__stringPatternSNManifestConfirmConditionNotificationNS": { "base": null, "refs": { diff --git a/models/apis/mediaconvert/2017-08-29/endpoint-rule-set-1.json b/models/apis/mediaconvert/2017-08-29/endpoint-rule-set-1.json index e301f85aedf..a3169c96130 100644 --- a/models/apis/mediaconvert/2017-08-29/endpoint-rule-set-1.json +++ b/models/apis/mediaconvert/2017-08-29/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,14 +45,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -62,67 +67,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -131,187 +111,286 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://mediaconvert-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://mediaconvert-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "stringEquals", + "fn": "booleanEquals", "argv": [ - "aws-us-gov", + true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "name" + "supportsFIPS" ] } ] } ], - "endpoint": { - "url": "https://mediaconvert.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + "aws-us-gov", + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + } + ] + } + ], + "endpoint": { + "url": "https://mediaconvert.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://mediaconvert-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] }, { "conditions": [], - "endpoint": { - "url": "https://mediaconvert-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://mediaconvert.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "cn-northwest-1" + ] + } + ], + "endpoint": { + "url": "https://subscribe.mediaconvert.cn-northwest-1.amazonaws.com.cn", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-gov-west-1" + ] + } + ], + "endpoint": { + "url": "https://mediaconvert.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [], "endpoint": { - "url": "https://mediaconvert.{Region}.{PartitionResult#dualStackDnsSuffix}", + "url": "https://mediaconvert.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -320,66 +399,13 @@ ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "cn-northwest-1" - ] - } - ], - "endpoint": { - "url": "https://subscribe.mediaconvert.cn-northwest-1.amazonaws.com.cn", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - { - "ref": "Region" - }, - "us-gov-west-1" - ] - } - ], - "endpoint": { - "url": "https://mediaconvert.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - }, - { - "conditions": [], - "endpoint": { - "url": "https://mediaconvert.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } diff --git a/models/apis/mediaconvert/2017-08-29/endpoint-tests-1.json b/models/apis/mediaconvert/2017-08-29/endpoint-tests-1.json index 02932fc3da0..630f3dce768 100644 --- a/models/apis/mediaconvert/2017-08-29/endpoint-tests-1.json +++ b/models/apis/mediaconvert/2017-08-29/endpoint-tests-1.json @@ -9,8 +9,8 @@ }, "params": { "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -22,8 +22,8 @@ }, "params": { "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -35,8 +35,8 @@ }, "params": { "Region": "ap-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -48,8 +48,8 @@ }, "params": { "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -61,8 +61,8 @@ }, "params": { "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -74,8 +74,8 @@ }, "params": { "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -87,8 +87,8 @@ }, "params": { "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -100,8 +100,8 @@ }, "params": { "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -113,8 +113,8 @@ }, "params": { "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -126,8 +126,8 @@ }, "params": { "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -139,8 +139,8 @@ }, "params": { "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -152,8 +152,8 @@ }, "params": { "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -165,8 +165,8 @@ }, "params": { "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -178,8 +178,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -191,8 +191,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -204,8 +204,8 @@ }, "params": { "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -217,8 +217,8 @@ }, "params": { "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -230,8 +230,8 @@ }, "params": { "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -243,8 +243,8 @@ }, "params": { "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -256,8 +256,8 @@ }, "params": { "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -269,8 +269,8 @@ }, "params": { "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -282,8 +282,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -295,8 +295,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -308,8 +308,8 @@ }, "params": { "Region": "cn-northwest-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -321,8 +321,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -334,8 +334,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -347,8 +347,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -360,8 +360,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -373,8 +373,8 @@ }, "params": { "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -386,8 +386,8 @@ }, "params": { "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -399,8 +399,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -412,8 +412,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -425,8 +425,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -438,8 +438,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -451,8 +451,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -464,8 +464,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -477,8 +477,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -490,12 +490,12 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -503,8 +503,21 @@ }, "params": { "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -515,8 +528,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -527,8 +540,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } } diff --git a/models/apis/timestream-write/2018-11-01/api-2.json b/models/apis/timestream-write/2018-11-01/api-2.json index 7d46b5e807d..d260a998599 100644 --- a/models/apis/timestream-write/2018-11-01/api-2.json +++ b/models/apis/timestream-write/2018-11-01/api-2.json @@ -14,6 +14,26 @@ "uid":"timestream-write-2018-11-01" }, "operations":{ + "CreateBatchLoadTask":{ + "name":"CreateBatchLoadTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateBatchLoadTaskRequest"}, + "output":{"shape":"CreateBatchLoadTaskResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"InvalidEndpointException"} + ], + "endpointdiscovery":{"required":true} + }, "CreateDatabase":{ "name":"CreateDatabase", "http":{ @@ -89,6 +109,23 @@ ], "endpointdiscovery":{"required":true} }, + "DescribeBatchLoadTask":{ + "name":"DescribeBatchLoadTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeBatchLoadTaskRequest"}, + "output":{"shape":"DescribeBatchLoadTaskResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidEndpointException"} + ], + "endpointdiscovery":{"required":true} + }, "DescribeDatabase":{ "name":"DescribeDatabase", "http":{ @@ -140,6 +177,23 @@ ], "endpointdiscovery":{"required":true} }, + "ListBatchLoadTasks":{ + "name":"ListBatchLoadTasks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListBatchLoadTasksRequest"}, + "output":{"shape":"ListBatchLoadTasksResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"InvalidEndpointException"} + ], + "endpointdiscovery":{"required":true} + }, "ListDatabases":{ "name":"ListDatabases", "http":{ @@ -191,6 +245,24 @@ ], "endpointdiscovery":{"required":true} }, + "ResumeBatchLoadTask":{ + "name":"ResumeBatchLoadTask", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResumeBatchLoadTaskRequest"}, + "output":{"shape":"ResumeBatchLoadTaskResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidEndpointException"} + ], + "endpointdiscovery":{"required":true} + }, "TagResource":{ "name":"TagResource", "http":{ @@ -296,7 +368,79 @@ "max":1011, "min":1 }, + "BatchLoadDataFormat":{ + "type":"string", + "enum":["CSV"] + }, + "BatchLoadProgressReport":{ + "type":"structure", + "members":{ + "RecordsProcessed":{"shape":"Long"}, + "RecordsIngested":{"shape":"Long"}, + "ParseFailures":{"shape":"Long"}, + "RecordIngestionFailures":{"shape":"Long"}, + "FileFailures":{"shape":"Long"}, + "BytesMetered":{"shape":"Long"} + } + }, + "BatchLoadStatus":{ + "type":"string", + "enum":[ + "CREATED", + "IN_PROGRESS", + "FAILED", + "SUCCEEDED", + "PROGRESS_STOPPED", + "PENDING_RESUME" + ] + }, + "BatchLoadTask":{ + "type":"structure", + "members":{ + "TaskId":{"shape":"BatchLoadTaskId"}, + "TaskStatus":{"shape":"BatchLoadStatus"}, + "DatabaseName":{"shape":"ResourceName"}, + "TableName":{"shape":"ResourceName"}, + "CreationTime":{"shape":"Date"}, + "LastUpdatedTime":{"shape":"Date"}, + "ResumableUntil":{"shape":"Date"} + } + }, + "BatchLoadTaskDescription":{ + "type":"structure", + "members":{ + "TaskId":{"shape":"BatchLoadTaskId"}, + "ErrorMessage":{"shape":"StringValue2048"}, + "DataSourceConfiguration":{"shape":"DataSourceConfiguration"}, + "ProgressReport":{"shape":"BatchLoadProgressReport"}, + "ReportConfiguration":{"shape":"ReportConfiguration"}, + "DataModelConfiguration":{"shape":"DataModelConfiguration"}, + "TargetDatabaseName":{"shape":"ResourceName"}, + "TargetTableName":{"shape":"ResourceName"}, + "TaskStatus":{"shape":"BatchLoadStatus"}, + "RecordVersion":{"shape":"RecordVersion"}, + "CreationTime":{"shape":"Date"}, + "LastUpdatedTime":{"shape":"Date"}, + "ResumableUntil":{"shape":"Date"} + } + }, + "BatchLoadTaskId":{ + "type":"string", + "max":32, + "min":3, + "pattern":"[A-Z0-9]+" + }, + "BatchLoadTaskList":{ + "type":"list", + "member":{"shape":"BatchLoadTask"} + }, "Boolean":{"type":"boolean"}, + "ClientRequestToken":{ + "type":"string", + "max":64, + "min":1, + "sensitive":true + }, "ConflictException":{ "type":"structure", "required":["Message"], @@ -305,6 +449,37 @@ }, "exception":true }, + "CreateBatchLoadTaskRequest":{ + "type":"structure", + "required":[ + "DataSourceConfiguration", + "ReportConfiguration", + "TargetDatabaseName", + "TargetTableName" + ], + "members":{ + "ClientToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + }, + "DataModelConfiguration":{"shape":"DataModelConfiguration"}, + "DataSourceConfiguration":{"shape":"DataSourceConfiguration"}, + "ReportConfiguration":{"shape":"ReportConfiguration"}, + "TargetDatabaseName":{"shape":"ResourceCreateAPIName"}, + "TargetTableName":{"shape":"ResourceCreateAPIName"}, + "RecordVersion":{ + "shape":"RecordVersion", + "box":true + } + } + }, + "CreateBatchLoadTaskResponse":{ + "type":"structure", + "required":["TaskId"], + "members":{ + "TaskId":{"shape":"BatchLoadTaskId"} + } + }, "CreateDatabaseRequest":{ "type":"structure", "required":["DatabaseName"], @@ -340,6 +515,62 @@ "Table":{"shape":"Table"} } }, + "CsvConfiguration":{ + "type":"structure", + "members":{ + "ColumnSeparator":{"shape":"StringValue1"}, + "EscapeChar":{"shape":"StringValue1"}, + "QuoteChar":{"shape":"StringValue1"}, + "NullValue":{"shape":"StringValue256"}, + "TrimWhiteSpace":{"shape":"Boolean"} + } + }, + "DataModel":{ + "type":"structure", + "required":["DimensionMappings"], + "members":{ + "TimeColumn":{"shape":"StringValue256"}, + "TimeUnit":{"shape":"TimeUnit"}, + "DimensionMappings":{"shape":"DimensionMappings"}, + "MultiMeasureMappings":{"shape":"MultiMeasureMappings"}, + "MixedMeasureMappings":{"shape":"MixedMeasureMappingList"}, + "MeasureNameColumn":{"shape":"StringValue256"} + } + }, + "DataModelConfiguration":{ + "type":"structure", + "members":{ + "DataModel":{"shape":"DataModel"}, + "DataModelS3Configuration":{"shape":"DataModelS3Configuration"} + } + }, + "DataModelS3Configuration":{ + "type":"structure", + "members":{ + "BucketName":{"shape":"S3BucketName"}, + "ObjectKey":{"shape":"S3ObjectKey"} + } + }, + "DataSourceConfiguration":{ + "type":"structure", + "required":[ + "DataSourceS3Configuration", + "DataFormat" + ], + "members":{ + "DataSourceS3Configuration":{"shape":"DataSourceS3Configuration"}, + "CsvConfiguration":{"shape":"CsvConfiguration"}, + "DataFormat":{"shape":"BatchLoadDataFormat"} + } + }, + "DataSourceS3Configuration":{ + "type":"structure", + "required":["BucketName"], + "members":{ + "BucketName":{"shape":"S3BucketName"}, + "ObjectKeyPrefix":{"shape":"S3ObjectKey"} + } + }, "Database":{ "type":"structure", "members":{ @@ -374,6 +605,20 @@ "TableName":{"shape":"ResourceName"} } }, + "DescribeBatchLoadTaskRequest":{ + "type":"structure", + "required":["TaskId"], + "members":{ + "TaskId":{"shape":"BatchLoadTaskId"} + } + }, + "DescribeBatchLoadTaskResponse":{ + "type":"structure", + "required":["BatchLoadTaskDescription"], + "members":{ + "BatchLoadTaskDescription":{"shape":"BatchLoadTaskDescription"} + } + }, "DescribeDatabaseRequest":{ "type":"structure", "required":["DatabaseName"], @@ -428,6 +673,18 @@ "DimensionValueType":{"shape":"DimensionValueType"} } }, + "DimensionMapping":{ + "type":"structure", + "members":{ + "SourceColumn":{"shape":"SchemaName"}, + "DestinationColumn":{"shape":"SchemaName"} + } + }, + "DimensionMappings":{ + "type":"list", + "member":{"shape":"DimensionMapping"}, + "min":1 + }, "DimensionValueType":{ "type":"string", "enum":["VARCHAR"] @@ -470,6 +727,21 @@ }, "exception":true }, + "ListBatchLoadTasksRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "MaxResults":{"shape":"PageLimit"}, + "TaskStatus":{"shape":"BatchLoadStatus"} + } + }, + "ListBatchLoadTasksResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "BatchLoadTasks":{"shape":"BatchLoadTaskList"} + } + }, "ListDatabasesRequest":{ "type":"structure", "members":{ @@ -565,6 +837,50 @@ "max":8766, "min":1 }, + "MixedMeasureMapping":{ + "type":"structure", + "required":["MeasureValueType"], + "members":{ + "MeasureName":{"shape":"SchemaName"}, + "SourceColumn":{"shape":"SchemaName"}, + "TargetMeasureName":{"shape":"SchemaName"}, + "MeasureValueType":{"shape":"MeasureValueType"}, + "MultiMeasureAttributeMappings":{"shape":"MultiMeasureAttributeMappingList"} + } + }, + "MixedMeasureMappingList":{ + "type":"list", + "member":{"shape":"MixedMeasureMapping"}, + "min":1 + }, + "MultiMeasureAttributeMapping":{ + "type":"structure", + "required":["SourceColumn"], + "members":{ + "SourceColumn":{"shape":"SchemaName"}, + "TargetMultiMeasureAttributeName":{"shape":"SchemaName"}, + "MeasureValueType":{"shape":"ScalarMeasureValueType"} + } + }, + "MultiMeasureAttributeMappingList":{ + "type":"list", + "member":{"shape":"MultiMeasureAttributeMapping"}, + "min":1 + }, + "MultiMeasureMappings":{ + "type":"structure", + "required":["MultiMeasureAttributeMappings"], + "members":{ + "TargetMultiMeasureName":{"shape":"SchemaName"}, + "MultiMeasureAttributeMappings":{"shape":"MultiMeasureAttributeMappingList"} + } + }, + "PageLimit":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, "PaginationLimit":{ "type":"integer", "box":true, @@ -626,6 +942,22 @@ }, "exception":true }, + "ReportConfiguration":{ + "type":"structure", + "members":{ + "ReportS3Configuration":{"shape":"ReportS3Configuration"} + } + }, + "ReportS3Configuration":{ + "type":"structure", + "required":["BucketName"], + "members":{ + "BucketName":{"shape":"S3BucketName"}, + "ObjectKeyPrefix":{"shape":"S3ObjectKeyPrefix"}, + "EncryptionOption":{"shape":"S3EncryptionOption"}, + "KmsKeyId":{"shape":"StringValue2048"} + } + }, "ResourceCreateAPIName":{ "type":"string", "pattern":"[a-zA-Z0-9_.-]+" @@ -638,6 +970,18 @@ }, "exception":true }, + "ResumeBatchLoadTaskRequest":{ + "type":"structure", + "required":["TaskId"], + "members":{ + "TaskId":{"shape":"BatchLoadTaskId"} + } + }, + "ResumeBatchLoadTaskResponse":{ + "type":"structure", + "members":{ + } + }, "RetentionProperties":{ "type":"structure", "required":[ @@ -671,12 +1015,28 @@ "SSE_KMS" ] }, + "S3ObjectKey":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[a-zA-Z0-9|!\\-_*'\\(\\)]([a-zA-Z0-9]|[!\\-_*'\\(\\)\\/.])+" + }, "S3ObjectKeyPrefix":{ "type":"string", "max":928, "min":1, "pattern":"[a-zA-Z0-9|!\\-_*'\\(\\)]([a-zA-Z0-9]|[!\\-_*'\\(\\)\\/.])+" }, + "ScalarMeasureValueType":{ + "type":"string", + "enum":[ + "DOUBLE", + "BIGINT", + "BOOLEAN", + "VARCHAR", + "TIMESTAMP" + ] + }, "SchemaName":{ "type":"string", "min":1 @@ -690,6 +1050,11 @@ "exception":true }, "String":{"type":"string"}, + "StringValue1":{ + "type":"string", + "max":1, + "min":1 + }, "StringValue2048":{ "type":"string", "max":2048, @@ -721,7 +1086,8 @@ "type":"string", "enum":[ "ACTIVE", - "DELETING" + "DELETING", + "RESTORING" ] }, "Tag":{ diff --git a/models/apis/timestream-write/2018-11-01/docs-2.json b/models/apis/timestream-write/2018-11-01/docs-2.json index c0ab22367b8..eaba65ebda1 100644 --- a/models/apis/timestream-write/2018-11-01/docs-2.json +++ b/models/apis/timestream-write/2018-11-01/docs-2.json @@ -1,22 +1,26 @@ { "version": "2.0", - "service": "Amazon Timestream Write

Amazon Timestream is a fast, scalable, fully managed time series database service that makes it easy to store and analyze trillions of time series data points per day. With Timestream, you can easily store and analyze IoT sensor data to derive insights from your IoT applications. You can analyze industrial telemetry to streamline equipment management and maintenance. You can also store and analyze log data and metrics to improve the performance and availability of your applications. Timestream is built from the ground up to effectively ingest, process, and store time series data. It organizes data to optimize query processing. It automatically scales based on the volume of data ingested and on the query volume to ensure you receive optimal performance while inserting and querying data. As your data grows over time, Timestream’s adaptive query processing engine spans across storage tiers to provide fast analysis while reducing costs.

", + "service": "Amazon Timestream Write

Amazon Timestream is a fast, scalable, fully managed time-series database service that makes it easy to store and analyze trillions of time-series data points per day. With Timestream, you can easily store and analyze IoT sensor data to derive insights from your IoT applications. You can analyze industrial telemetry to streamline equipment management and maintenance. You can also store and analyze log data and metrics to improve the performance and availability of your applications.

Timestream is built from the ground up to effectively ingest, process, and store time-series data. It organizes data to optimize query processing. It automatically scales based on the volume of data ingested and on the query volume to ensure you receive optimal performance while inserting and querying data. As your data grows over time, Timestream’s adaptive query processing engine spans across storage tiers to provide fast analysis while reducing costs.

", "operations": { - "CreateDatabase": "

Creates a new Timestream database. If the KMS key is not specified, the database will be encrypted with a Timestream managed KMS key located in your account. Refer to Amazon Web Services managed KMS keys for more info. Service quotas apply. See code sample for details.

", - "CreateTable": "

The CreateTable operation adds a new table to an existing database in your account. In an Amazon Web Services account, table names must be at least unique within each Region if they are in the same database. You may have identical table names in the same Region if the tables are in separate databases. While creating the table, you must specify the table name, database name, and the retention properties. Service quotas apply. See code sample for details.

", - "DeleteDatabase": "

Deletes a given Timestream database. This is an irreversible operation. After a database is deleted, the time series data from its tables cannot be recovered.

All tables in the database must be deleted first, or a ValidationException error will be thrown.

Due to the nature of distributed retries, the operation can return either success or a ResourceNotFoundException. Clients should consider them equivalent.

See code sample for details.

", - "DeleteTable": "

Deletes a given Timestream table. This is an irreversible operation. After a Timestream database table is deleted, the time series data stored in the table cannot be recovered.

Due to the nature of distributed retries, the operation can return either success or a ResourceNotFoundException. Clients should consider them equivalent.

See code sample for details.

", + "CreateBatchLoadTask": "

Creates a new Timestream batch load task. A batch load task processes data from a CSV source in an S3 location and writes to a Timestream table. A mapping from source to target is defined in a batch load task. Errors and events are written to a report at an S3 location. For the report, if the KMS key is not specified, the batch load task will be encrypted with a Timestream managed KMS key located in your account. For more information, see Amazon Web Services managed keys. Service quotas apply. For details, see code sample.

", + "CreateDatabase": "

Creates a new Timestream database. If the KMS key is not specified, the database will be encrypted with a Timestream managed KMS key located in your account. For more information, see Amazon Web Services managed keys. Service quotas apply. For details, see code sample.

", + "CreateTable": "

Adds a new table to an existing database in your account. In an Amazon Web Services account, table names must be at least unique within each Region if they are in the same database. You might have identical table names in the same Region if the tables are in separate databases. While creating the table, you must specify the table name, database name, and the retention properties. Service quotas apply. See code sample for details.

", + "DeleteDatabase": "

Deletes a given Timestream database. This is an irreversible operation. After a database is deleted, the time-series data from its tables cannot be recovered.

All tables in the database must be deleted first, or a ValidationException error will be thrown.

Due to the nature of distributed retries, the operation can return either success or a ResourceNotFoundException. Clients should consider them equivalent.

See code sample for details.

", + "DeleteTable": "

Deletes a given Timestream table. This is an irreversible operation. After a Timestream database table is deleted, the time-series data stored in the table cannot be recovered.

Due to the nature of distributed retries, the operation can return either success or a ResourceNotFoundException. Clients should consider them equivalent.

See code sample for details.

", + "DescribeBatchLoadTask": "

Returns information about the batch load task, including configurations, mappings, progress, and other details. Service quotas apply. See code sample for details.

", "DescribeDatabase": "

Returns information about the database, including the database name, time that the database was created, and the total number of tables found within the database. Service quotas apply. See code sample for details.

", - "DescribeEndpoints": "

DescribeEndpoints returns a list of available endpoints to make Timestream API calls against. This API is available through both Write and Query.

Because the Timestream SDKs are designed to transparently work with the service’s architecture, including the management and mapping of the service endpoints, it is not recommended that you use this API unless:

For detailed information on how and when to use and implement DescribeEndpoints, see The Endpoint Discovery Pattern.

", + "DescribeEndpoints": "

Returns a list of available endpoints to make Timestream API calls against. This API operation is available through both the Write and Query APIs.

Because the Timestream SDKs are designed to transparently work with the service’s architecture, including the management and mapping of the service endpoints, we don't recommend that you use this API operation unless:

For detailed information on how and when to use and implement DescribeEndpoints, see The Endpoint Discovery Pattern.

", "DescribeTable": "

Returns information about the table, including the table name, database name, retention duration of the memory store and the magnetic store. Service quotas apply. See code sample for details.

", + "ListBatchLoadTasks": "

Provides a list of batch load tasks, along with the name, status, when the task is resumable until, and other details. See code sample for details.

", "ListDatabases": "

Returns a list of your Timestream databases. Service quotas apply. See code sample for details.

", - "ListTables": "

A list of tables, along with the name, status and retention properties of each table. See code sample for details.

", - "ListTagsForResource": "

List all tags on a Timestream resource.

", - "TagResource": "

Associate a set of tags with a Timestream resource. You can then activate these user-defined tags so that they appear on the Billing and Cost Management console for cost allocation tracking.

", + "ListTables": "

Provides a list of tables, along with the name, status, and retention properties of each table. See code sample for details.

", + "ListTagsForResource": "

Lists all tags on a Timestream resource.

", + "ResumeBatchLoadTask": "

", + "TagResource": "

Associates a set of tags with a Timestream resource. You can then activate these user-defined tags so that they appear on the Billing and Cost Management console for cost allocation tracking.

", "UntagResource": "

Removes the association of tags from a Timestream resource.

", "UpdateDatabase": "

Modifies the KMS key for an existing database. While updating the database, you must specify the database name and the identifier of the new KMS key to be used (KmsKeyId). If there are any concurrent UpdateDatabase requests, first writer wins.

See code sample for details.

", "UpdateTable": "

Modifies the retention duration of the memory store and magnetic store for your Timestream table. Note that the change in retention duration takes effect immediately. For example, if the retention period of the memory store was initially set to 2 hours and then changed to 24 hours, the memory store will be capable of holding 24 hours of data, but will be populated with 24 hours of data 22 hours after this change was made. Timestream does not retrieve data from the magnetic store to populate the memory store.

See code sample for details.

", - "WriteRecords": "

The WriteRecords operation enables you to write your time series data into Timestream. You can specify a single data point or a batch of data points to be inserted into the system. Timestream offers you with a flexible schema that auto detects the column names and data types for your Timestream tables based on the dimension names and data types of the data points you specify when invoking writes into the database. Timestream support eventual consistency read semantics. This means that when you query data immediately after writing a batch of data into Timestream, the query results might not reflect the results of a recently completed write operation. The results may also include some stale data. If you repeat the query request after a short time, the results should return the latest data. Service quotas apply.

See code sample for details.

Upserts

You can use the Version parameter in a WriteRecords request to update data points. Timestream tracks a version number with each record. Version defaults to 1 when not specified for the record in the request. Timestream will update an existing record’s measure value along with its Version upon receiving a write request with a higher Version number for that record. Upon receiving an update request where the measure value is the same as that of the existing record, Timestream still updates Version, if it is greater than the existing value of Version. You can update a data point as many times as desired, as long as the value of Version continuously increases.

For example, suppose you write a new record without indicating Version in the request. Timestream will store this record, and set Version to 1. Now, suppose you try to update this record with a WriteRecords request of the same record with a different measure value but, like before, do not provide Version. In this case, Timestream will reject this update with a RejectedRecordsException since the updated record’s version is not greater than the existing value of Version. However, if you were to resend the update request with Version set to 2, Timestream would then succeed in updating the record’s value, and the Version would be set to 2. Next, suppose you sent a WriteRecords request with this same record and an identical measure value, but with Version set to 3. In this case, Timestream would only update Version to 3. Any further updates would need to send a version number greater than 3, or the update requests would receive a RejectedRecordsException.

" + "WriteRecords": "

Enables you to write your time-series data into Timestream. You can specify a single data point or a batch of data points to be inserted into the system. Timestream offers you a flexible schema that auto detects the column names and data types for your Timestream tables based on the dimension names and data types of the data points you specify when invoking writes into the database.

Timestream supports eventual consistency read semantics. This means that when you query data immediately after writing a batch of data into Timestream, the query results might not reflect the results of a recently completed write operation. The results may also include some stale data. If you repeat the query request after a short time, the results should return the latest data. Service quotas apply.

See code sample for details.

Upserts

You can use the Version parameter in a WriteRecords request to update data points. Timestream tracks a version number with each record. Version defaults to 1 when it's not specified for the record in the request. Timestream updates an existing record’s measure value along with its Version when it receives a write request with a higher Version number for that record. When it receives an update request where the measure value is the same as that of the existing record, Timestream still updates Version, if it is greater than the existing value of Version. You can update a data point as many times as desired, as long as the value of Version continuously increases.

For example, suppose you write a new record without indicating Version in the request. Timestream stores this record, and set Version to 1. Now, suppose you try to update this record with a WriteRecords request of the same record with a different measure value but, like before, do not provide Version. In this case, Timestream will reject this update with a RejectedRecordsException since the updated record’s version is not greater than the existing value of Version.

However, if you were to resend the update request with Version set to 2, Timestream would then succeed in updating the record’s value, and the Version would be set to 2. Next, suppose you sent a WriteRecords request with this same record and an identical measure value, but with Version set to 3. In this case, Timestream would only update Version to 3. Any further updates would need to send a version number greater than 3, or the update requests would receive a RejectedRecordsException.

" }, "shapes": { "AccessDeniedException": { @@ -32,17 +36,82 @@ "UntagResourceRequest$ResourceARN": "

The Timestream resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).

" } }, + "BatchLoadDataFormat": { + "base": null, + "refs": { + "DataSourceConfiguration$DataFormat": "

This is currently CSV.

" + } + }, + "BatchLoadProgressReport": { + "base": "

Details about the progress of a batch load task.

", + "refs": { + "BatchLoadTaskDescription$ProgressReport": "

" + } + }, + "BatchLoadStatus": { + "base": null, + "refs": { + "BatchLoadTask$TaskStatus": "

Status of the batch load task.

", + "BatchLoadTaskDescription$TaskStatus": "

Status of the batch load task.

", + "ListBatchLoadTasksRequest$TaskStatus": "

Status of the batch load task.

" + } + }, + "BatchLoadTask": { + "base": "

Details about a batch load task.

", + "refs": { + "BatchLoadTaskList$member": null + } + }, + "BatchLoadTaskDescription": { + "base": "

Details about a batch load task.

", + "refs": { + "DescribeBatchLoadTaskResponse$BatchLoadTaskDescription": "

Description of the batch load task.

" + } + }, + "BatchLoadTaskId": { + "base": null, + "refs": { + "BatchLoadTask$TaskId": "

The ID of the batch load task.

", + "BatchLoadTaskDescription$TaskId": "

The ID of the batch load task.

", + "CreateBatchLoadTaskResponse$TaskId": "

The ID of the batch load task.

", + "DescribeBatchLoadTaskRequest$TaskId": "

The ID of the batch load task.

", + "ResumeBatchLoadTaskRequest$TaskId": "

The ID of the batch load task to resume.

" + } + }, + "BatchLoadTaskList": { + "base": null, + "refs": { + "ListBatchLoadTasksResponse$BatchLoadTasks": "

A list of batch load task details.

" + } + }, "Boolean": { "base": null, "refs": { + "CsvConfiguration$TrimWhiteSpace": "

Specifies to trim leading and trailing white space.

", "MagneticStoreWriteProperties$EnableMagneticStoreWrites": "

A flag to enable magnetic store writes.

" } }, + "ClientRequestToken": { + "base": null, + "refs": { + "CreateBatchLoadTaskRequest$ClientToken": "

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

Timestream was unable to process this request because it contains resource that already exists.

", "refs": { } }, + "CreateBatchLoadTaskRequest": { + "base": null, + "refs": { + } + }, + "CreateBatchLoadTaskResponse": { + "base": null, + "refs": { + } + }, "CreateDatabaseRequest": { "base": null, "refs": { @@ -63,8 +132,46 @@ "refs": { } }, + "CsvConfiguration": { + "base": "

A delimited data format where the column separator can be a comma and the record separator is a newline character.

", + "refs": { + "DataSourceConfiguration$CsvConfiguration": null + } + }, + "DataModel": { + "base": "

Data model for a batch load task.

", + "refs": { + "DataModelConfiguration$DataModel": "

" + } + }, + "DataModelConfiguration": { + "base": "

", + "refs": { + "BatchLoadTaskDescription$DataModelConfiguration": "

Data model configuration for a batch load task. This contains details about where a data model for a batch load task is stored.

", + "CreateBatchLoadTaskRequest$DataModelConfiguration": null + } + }, + "DataModelS3Configuration": { + "base": "

", + "refs": { + "DataModelConfiguration$DataModelS3Configuration": "

" + } + }, + "DataSourceConfiguration": { + "base": "

Defines configuration details about the data source.

", + "refs": { + "BatchLoadTaskDescription$DataSourceConfiguration": "

Configuration details about the data source for a batch load task.

", + "CreateBatchLoadTaskRequest$DataSourceConfiguration": "

Defines configuration details about the data source for a batch load task.

" + } + }, + "DataSourceS3Configuration": { + "base": "

", + "refs": { + "DataSourceConfiguration$DataSourceS3Configuration": "

Configuration of an S3 location for a file which contains data to load.

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

A top level container for a table. Databases and tables are the fundamental management concepts in Amazon Timestream. All tables in a database are encrypted with the same KMS key.

", + "base": "

A top-level container for a table. Databases and tables are the fundamental management concepts in Amazon Timestream. All tables in a database are encrypted with the same KMS key.

", "refs": { "CreateDatabaseResponse$Database": "

The newly created Timestream database.

", "DatabaseList$member": null, @@ -81,6 +188,12 @@ "Date": { "base": null, "refs": { + "BatchLoadTask$CreationTime": "

The time when the Timestream batch load task was created.

", + "BatchLoadTask$LastUpdatedTime": "

The time when the Timestream batch load task was last updated.

", + "BatchLoadTask$ResumableUntil": "

", + "BatchLoadTaskDescription$CreationTime": "

The time when the Timestream batch load task was created.

", + "BatchLoadTaskDescription$LastUpdatedTime": "

The time when the Timestream batch load task was last updated.

", + "BatchLoadTaskDescription$ResumableUntil": "

", "Database$CreationTime": "

The time when the database was created, calculated from the Unix epoch time.

", "Database$LastUpdatedTime": "

The last time that this database was updated.

", "Table$CreationTime": "

The time when the Timestream table was created.

", @@ -97,6 +210,16 @@ "refs": { } }, + "DescribeBatchLoadTaskRequest": { + "base": null, + "refs": { + } + }, + "DescribeBatchLoadTaskResponse": { + "base": null, + "refs": { + } + }, "DescribeDatabaseRequest": { "base": null, "refs": { @@ -128,25 +251,37 @@ } }, "Dimension": { - "base": "

Dimension represents the meta data attributes of the time series. For example, the name and availability zone of an EC2 instance or the name of the manufacturer of a wind turbine are dimensions.

", + "base": "

Represents the metadata attributes of the time series. For example, the name and Availability Zone of an EC2 instance or the name of the manufacturer of a wind turbine are dimensions.

", "refs": { "Dimensions$member": null } }, + "DimensionMapping": { + "base": "

", + "refs": { + "DimensionMappings$member": null + } + }, + "DimensionMappings": { + "base": null, + "refs": { + "DataModel$DimensionMappings": "

Source to target mappings for dimensions.

" + } + }, "DimensionValueType": { "base": null, "refs": { - "Dimension$DimensionValueType": "

The data type of the dimension for the time series data point.

" + "Dimension$DimensionValueType": "

The data type of the dimension for the time-series data point.

" } }, "Dimensions": { "base": null, "refs": { - "Record$Dimensions": "

Contains the list of dimensions for time series data points.

" + "Record$Dimensions": "

Contains the list of dimensions for time-series data points.

" } }, "Endpoint": { - "base": "

Represents an available endpoint against which to make API calls agaisnt, as well as the TTL for that endpoint.

", + "base": "

Represents an available endpoint against which to make API calls against, as well as the TTL for that endpoint.

", "refs": { "Endpoints$member": null } @@ -164,7 +299,7 @@ "ConflictException$Message": null, "InternalServerException$Message": null, "InvalidEndpointException$Message": null, - "RejectedRecord$Reason": "

The reason why a record was not successfully inserted into Timestream. Possible causes of failure include:

For more information, see Access Management in the Timestream Developer Guide.

", + "RejectedRecord$Reason": "

The reason why a record was not successfully inserted into Timestream. Possible causes of failure include:

For more information, see Access Management in the Timestream Developer Guide.

", "RejectedRecordsException$Message": null, "ResourceNotFoundException$Message": null, "ServiceQuotaExceededException$Message": null, @@ -186,7 +321,17 @@ } }, "InvalidEndpointException": { - "base": "

The requested endpoint was invalid.

", + "base": "

The requested endpoint was not valid.

", + "refs": { + } + }, + "ListBatchLoadTasksRequest": { + "base": null, + "refs": { + } + }, + "ListBatchLoadTasksResponse": { + "base": null, "refs": { } }, @@ -223,6 +368,12 @@ "Long": { "base": null, "refs": { + "BatchLoadProgressReport$RecordsProcessed": "

", + "BatchLoadProgressReport$RecordsIngested": "

", + "BatchLoadProgressReport$ParseFailures": "

", + "BatchLoadProgressReport$RecordIngestionFailures": "

", + "BatchLoadProgressReport$FileFailures": "

", + "BatchLoadProgressReport$BytesMetered": "

", "Database$TableCount": "

The total number of tables found within a Timestream database.

", "Endpoint$CachePeriodInMinutes": "

The TTL for the endpoint, in minutes.

" } @@ -248,7 +399,7 @@ } }, "MeasureValue": { - "base": "

MeasureValue represents the data attribute of the time series. For example, the CPU utilization of an EC2 instance or the RPM of a wind turbine are measures. MeasureValue has both name and value.

MeasureValue is only allowed for type MULTI. Using MULTI type, you can pass multiple data attributes associated with the same time series in a single record

", + "base": "

Represents the data attribute of the time series. For example, the CPU utilization of an EC2 instance or the RPM of a wind turbine are measures. MeasureValue has both name and value.

MeasureValue is only allowed for type MULTI. Using MULTI type, you can pass multiple data attributes associated with the same time series in a single record

", "refs": { "MeasureValues$member": null } @@ -256,14 +407,15 @@ "MeasureValueType": { "base": null, "refs": { - "MeasureValue$Type": "

Contains the data type of the MeasureValue for the time series data point.

", - "Record$MeasureValueType": "

Contains the data type of the measure value for the time series data point. Default type is DOUBLE.

" + "MeasureValue$Type": "

Contains the data type of the MeasureValue for the time-series data point.

", + "MixedMeasureMapping$MeasureValueType": "

", + "Record$MeasureValueType": "

Contains the data type of the measure value for the time-series data point. Default type is DOUBLE.

" } }, "MeasureValues": { "base": null, "refs": { - "Record$MeasureValues": "

Contains the list of MeasureValue for time series data points.

This is only allowed for type MULTI. For scalar values, use MeasureValue attribute of the Record directly.

" + "Record$MeasureValues": "

Contains the list of MeasureValue for time-series data points.

This is only allowed for type MULTI. For scalar values, use MeasureValue attribute of the record directly.

" } }, "MemoryStoreRetentionPeriodInHours": { @@ -272,6 +424,43 @@ "RetentionProperties$MemoryStoreRetentionPeriodInHours": "

The duration for which data must be stored in the memory store.

" } }, + "MixedMeasureMapping": { + "base": "

", + "refs": { + "MixedMeasureMappingList$member": null + } + }, + "MixedMeasureMappingList": { + "base": null, + "refs": { + "DataModel$MixedMeasureMappings": "

Source to target mappings for measures.

" + } + }, + "MultiMeasureAttributeMapping": { + "base": "

", + "refs": { + "MultiMeasureAttributeMappingList$member": null + } + }, + "MultiMeasureAttributeMappingList": { + "base": null, + "refs": { + "MixedMeasureMapping$MultiMeasureAttributeMappings": "

", + "MultiMeasureMappings$MultiMeasureAttributeMappings": "

" + } + }, + "MultiMeasureMappings": { + "base": "

", + "refs": { + "DataModel$MultiMeasureMappings": "

Source to target mappings for multi-measure records.

" + } + }, + "PageLimit": { + "base": null, + "refs": { + "ListBatchLoadTasksRequest$MaxResults": "

The total number of items to return in the output. If the total number of items available is more than the value specified, a NextToken is provided in the output. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

" + } + }, "PaginationLimit": { "base": null, "refs": { @@ -280,10 +469,10 @@ } }, "Record": { - "base": "

Record represents a time series data point being written into Timestream. Each record contains an array of dimensions. Dimensions represent the meta data attributes of a time series data point such as the instance name or availability zone of an EC2 instance. A record also contains the measure name which is the name of the measure being collected for example the CPU utilization of an EC2 instance. A record also contains the measure value and the value type which is the data type of the measure value. In addition, the record contains the timestamp when the measure was collected that the timestamp unit which represents the granularity of the timestamp.

Records have a Version field, which is a 64-bit long that you can use for updating data points. Writes of a duplicate record with the same dimension, timestamp, and measure name but different measure value will only succeed if the Version attribute of the record in the write request is higher than that of the existing record. Timestream defaults to a Version of 1 for records without the Version field.

", + "base": "

Represents a time-series data point being written into Timestream. Each record contains an array of dimensions. Dimensions represent the metadata attributes of a time-series data point, such as the instance name or Availability Zone of an EC2 instance. A record also contains the measure name, which is the name of the measure being collected (for example, the CPU utilization of an EC2 instance). Additionally, a record contains the measure value and the value type, which is the data type of the measure value. Also, the record contains the timestamp of when the measure was collected and the timestamp unit, which represents the granularity of the timestamp.

Records have a Version field, which is a 64-bit long that you can use for updating data points. Writes of a duplicate record with the same dimension, timestamp, and measure name but different measure value will only succeed if the Version attribute of the record in the write request is higher than that of the existing record. Timestream defaults to a Version of 1 for records without the Version field.

", "refs": { "Records$member": null, - "WriteRecordsRequest$CommonAttributes": "

A record containing the common measure, dimension, time, and version attributes shared across all the records in the request. The measure and dimension attributes specified will be merged with the measure and dimension attributes in the records object when the data is written into Timestream. Dimensions may not overlap, or a ValidationException will be thrown. In other words, a record must contain dimensions with unique names.

" + "WriteRecordsRequest$CommonAttributes": "

A record that contains the common measure, dimension, time, and version attributes shared across all the records in the request. The measure and dimension attributes specified will be merged with the measure and dimension attributes in the records object when the data is written into Timestream. Dimensions may not overlap, or a ValidationException will be thrown. In other words, a record must contain dimensions with unique names.

" } }, "RecordIndex": { @@ -295,14 +484,16 @@ "RecordVersion": { "base": null, "refs": { - "Record$Version": "

64-bit attribute used for record updates. Write requests for duplicate data with a higher version number will update the existing measure value and version. In cases where the measure value is the same, Version will still be updated . Default value is 1.

Version must be 1 or greater, or you will receive a ValidationException error.

", + "BatchLoadTaskDescription$RecordVersion": "

", + "CreateBatchLoadTaskRequest$RecordVersion": "

", + "Record$Version": "

64-bit attribute used for record updates. Write requests for duplicate data with a higher version number will update the existing measure value and version. In cases where the measure value is the same, Version will still be updated. Default value is 1.

Version must be 1 or greater, or you will receive a ValidationException error.

", "RejectedRecord$ExistingVersion": "

The existing version of the record. This value is populated in scenarios where an identical record exists with a higher version than the version in the write request.

" } }, "Records": { "base": null, "refs": { - "WriteRecordsRequest$Records": "

An array of records containing the unique measure, dimension, time, and version attributes for each time series data point.

" + "WriteRecordsRequest$Records": "

An array of records that contain the unique measure, dimension, time, and version attributes for each time-series data point.

" } }, "RecordsIngested": { @@ -312,7 +503,7 @@ } }, "RejectedRecord": { - "base": "

Records that were not successfully inserted into Timestream due to data validation issues that must be resolved prior to reinserting time series data into the system.

", + "base": "

Represents records that were not successfully inserted into Timestream due to data validation issues that must be resolved before reinserting time-series data into the system.

", "refs": { "RejectedRecords$member": null } @@ -320,17 +511,32 @@ "RejectedRecords": { "base": null, "refs": { - "RejectedRecordsException$RejectedRecords": null + "RejectedRecordsException$RejectedRecords": "

" } }, "RejectedRecordsException": { - "base": "

WriteRecords would throw this exception in the following cases:

For more information, see Quotas in the Timestream Developer Guide.

", + "base": "

WriteRecords would throw this exception in the following cases:

For more information, see Quotas in the Amazon Timestream Developer Guide.

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

Report configuration for a batch load task. This contains details about where error reports are stored.

", "refs": { + "BatchLoadTaskDescription$ReportConfiguration": "

Report configuration for a batch load task. This contains details about where error reports are stored.

", + "CreateBatchLoadTaskRequest$ReportConfiguration": null + } + }, + "ReportS3Configuration": { + "base": "

", + "refs": { + "ReportConfiguration$ReportS3Configuration": "

Configuration of an S3 location to write error reports and events for a batch load.

" } }, "ResourceCreateAPIName": { "base": null, "refs": { + "CreateBatchLoadTaskRequest$TargetDatabaseName": "

Target Timestream database for a batch load task.

", + "CreateBatchLoadTaskRequest$TargetTableName": "

Target Timestream table for a batch load task.

", "CreateDatabaseRequest$DatabaseName": "

The name of the Timestream database.

", "CreateTableRequest$DatabaseName": "

The name of the Timestream database.

", "CreateTableRequest$TableName": "

The name of the Timestream table.

" @@ -339,6 +545,10 @@ "ResourceName": { "base": null, "refs": { + "BatchLoadTask$DatabaseName": "

Database name for the database into which a batch load task loads data.

", + "BatchLoadTask$TableName": "

Table name for the table into which a batch load task loads data.

", + "BatchLoadTaskDescription$TargetDatabaseName": "

", + "BatchLoadTaskDescription$TargetTableName": "

", "Database$DatabaseName": "

The name of the Timestream database.

", "DeleteDatabaseRequest$DatabaseName": "

The name of the Timestream database to be deleted.

", "DeleteTableRequest$DatabaseName": "

The name of the database where the Timestream database is to be deleted.

", @@ -361,10 +571,20 @@ "refs": { } }, + "ResumeBatchLoadTaskRequest": { + "base": null, + "refs": { + } + }, + "ResumeBatchLoadTaskResponse": { + "base": null, + "refs": { + } + }, "RetentionProperties": { - "base": "

Retention properties contain the duration for which your time series data must be stored in the magnetic store and the memory store.

", + "base": "

Retention properties contain the duration for which your time-series data must be stored in the magnetic store and the memory store.

", "refs": { - "CreateTableRequest$RetentionProperties": "

The duration for which your time series data must be stored in the memory store and the magnetic store.

", + "CreateTableRequest$RetentionProperties": "

The duration for which your time-series data must be stored in the memory store and the magnetic store.

", "Table$RetentionProperties": "

The retention duration for the memory store and magnetic store.

", "UpdateTableRequest$RetentionProperties": "

The retention duration of the memory store and the magnetic store.

" } @@ -372,11 +592,14 @@ "S3BucketName": { "base": null, "refs": { - "S3Configuration$BucketName": "

>Bucket name of the customer S3 bucket.

" + "DataModelS3Configuration$BucketName": "

", + "DataSourceS3Configuration$BucketName": "

The bucket name of the customer S3 bucket.

", + "ReportS3Configuration$BucketName": "

", + "S3Configuration$BucketName": "

The bucket name of the customer S3 bucket.

" } }, "S3Configuration": { - "base": "

Configuration specifing an S3 location.

", + "base": "

The configuration that specifies an S3 location.

", "refs": { "MagneticStoreRejectedDataLocation$S3Configuration": "

Configuration of an S3 location to write error reports for records rejected, asynchronously, during magnetic store writes.

" } @@ -384,20 +607,43 @@ "S3EncryptionOption": { "base": null, "refs": { - "S3Configuration$EncryptionOption": "

Encryption option for the customer s3 location. Options are S3 server side encryption with an S3-managed key or KMS managed key.

" + "ReportS3Configuration$EncryptionOption": "

", + "S3Configuration$EncryptionOption": "

The encryption option for the customer S3 location. Options are S3 server-side encryption with an S3 managed key or Amazon Web Services managed key.

" + } + }, + "S3ObjectKey": { + "base": null, + "refs": { + "DataModelS3Configuration$ObjectKey": "

", + "DataSourceS3Configuration$ObjectKeyPrefix": "

" } }, "S3ObjectKeyPrefix": { "base": null, "refs": { - "S3Configuration$ObjectKeyPrefix": "

Object key preview for the customer S3 location.

" + "ReportS3Configuration$ObjectKeyPrefix": "

", + "S3Configuration$ObjectKeyPrefix": "

The object key preview for the customer S3 location.

" + } + }, + "ScalarMeasureValueType": { + "base": null, + "refs": { + "MultiMeasureAttributeMapping$MeasureValueType": "

" } }, "SchemaName": { "base": null, "refs": { - "Dimension$Name": "

Dimension represents the meta data attributes of the time series. For example, the name and availability zone of an EC2 instance or the name of the manufacturer of a wind turbine are dimensions.

For constraints on Dimension names, see Naming Constraints.

", - "MeasureValue$Name": "

Name of the MeasureValue.

For constraints on MeasureValue names, refer to Naming Constraints in the Timestream developer guide.

", + "Dimension$Name": "

Dimension represents the metadata attributes of the time series. For example, the name and Availability Zone of an EC2 instance or the name of the manufacturer of a wind turbine are dimensions.

For constraints on dimension names, see Naming Constraints.

", + "DimensionMapping$SourceColumn": "

", + "DimensionMapping$DestinationColumn": "

", + "MeasureValue$Name": "

The name of the MeasureValue.

For constraints on MeasureValue names, see Naming Constraints in the Amazon Timestream Developer Guide.

", + "MixedMeasureMapping$MeasureName": "

", + "MixedMeasureMapping$SourceColumn": "

", + "MixedMeasureMapping$TargetMeasureName": "

", + "MultiMeasureAttributeMapping$SourceColumn": "

", + "MultiMeasureAttributeMapping$TargetMultiMeasureAttributeName": "

", + "MultiMeasureMappings$TargetMultiMeasureName": "

", "Record$MeasureName": "

Measure represents the data attribute of the time series. For example, the CPU utilization of an EC2 instance or the RPM of a wind turbine are measures.

" } }, @@ -408,7 +654,7 @@ } }, "ServiceQuotaExceededException": { - "base": "

Instance quota of resource exceeded for this account.

", + "base": "

The instance quota of resource exceeded for this account.

", "refs": { } }, @@ -417,6 +663,8 @@ "refs": { "Database$Arn": "

The Amazon Resource Name that uniquely identifies this database.

", "Endpoint$Address": "

An endpoint address.

", + "ListBatchLoadTasksRequest$NextToken": "

A token to specify where to start paginating. This is the NextToken from a previously truncated response.

", + "ListBatchLoadTasksResponse$NextToken": "

A token to specify where to start paginating. Provide the next ListBatchLoadTasksRequest.

", "ListDatabasesRequest$NextToken": "

The pagination token. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

", "ListDatabasesResponse$NextToken": "

The pagination token. This parameter is returned when the response is truncated.

", "ListTablesRequest$NextToken": "

The pagination token. To resume pagination, provide the NextToken value as argument of a subsequent API invocation.

", @@ -424,25 +672,38 @@ "Table$Arn": "

The Amazon Resource Name that uniquely identifies this table.

" } }, + "StringValue1": { + "base": null, + "refs": { + "CsvConfiguration$ColumnSeparator": "

Column separator can be one of comma (','), pipe ('|), semicolon (';'), tab('/t'), or blank space (' ').

", + "CsvConfiguration$EscapeChar": "

Escape character can be one of

", + "CsvConfiguration$QuoteChar": "

Can be single quote (') or double quote (\").

" + } + }, "StringValue2048": { "base": null, "refs": { - "CreateDatabaseRequest$KmsKeyId": "

The KMS key for the database. If the KMS key is not specified, the database will be encrypted with a Timestream managed KMS key located in your account. Refer to Amazon Web Services managed KMS keys for more info.

", + "BatchLoadTaskDescription$ErrorMessage": "

", + "CreateDatabaseRequest$KmsKeyId": "

The KMS key for the database. If the KMS key is not specified, the database will be encrypted with a Timestream managed KMS key located in your account. For more information, see Amazon Web Services managed keys.

", "Database$KmsKeyId": "

The identifier of the KMS key used to encrypt the data stored in the database.

", - "MeasureValue$Value": "

Value for the MeasureValue.

", - "Record$MeasureValue": "

Contains the measure value for the time series data point.

", - "S3Configuration$KmsKeyId": "

KMS key id for the customer s3 location when encrypting with a KMS managed key.

", + "MeasureValue$Value": "

The value for the MeasureValue.

", + "Record$MeasureValue": "

Contains the measure value for the time-series data point.

", + "ReportS3Configuration$KmsKeyId": "

", + "S3Configuration$KmsKeyId": "

The KMS key ID for the customer S3 location when encrypting with an Amazon Web Services managed key.

", "UpdateDatabaseRequest$KmsKeyId": "

The identifier of the new KMS key (KmsKeyId) to be used to encrypt the data stored in the database. If the KmsKeyId currently registered with the database is the same as the KmsKeyId in the request, there will not be any update.

You can specify the KmsKeyId using any of the following:

" } }, "StringValue256": { "base": null, "refs": { + "CsvConfiguration$NullValue": "

Can be blank space (' ').

", + "DataModel$TimeColumn": "

Source column to be mapped to time.

", + "DataModel$MeasureNameColumn": "

", "Record$Time": "

Contains the time at which the measure value for the data point was collected. The time value plus the unit provides the time elapsed since the epoch. For example, if the time value is 12345 and the unit is ms, then 12345 ms have elapsed since the epoch.

" } }, "Table": { - "base": "

Table represents a database table in Timestream. Tables contain one or more related time series. You can modify the retention duration of the memory store and the magnetic store for a table.

", + "base": "

Represents a database table in Timestream. Tables contain one or more related time series. You can modify the retention duration of the memory store and the magnetic store for a table.

", "refs": { "CreateTableResponse$Table": "

The newly created Timestream table.

", "DescribeTableResponse$Table": "

The Timestream table.

", @@ -463,7 +724,7 @@ } }, "Tag": { - "base": "

A tag is a label that you assign to a Timestream database and/or table. Each tag consists of a key and an optional value, both of which you define. Tags enable you to categorize databases and/or tables, for example, by purpose, owner, or environment.

", + "base": "

A tag is a label that you assign to a Timestream database and/or table. Each tag consists of a key and an optional value, both of which you define. With tags, you can categorize databases and/or tables, for example, by purpose, owner, or environment.

", "refs": { "TagList$member": null } @@ -507,14 +768,15 @@ } }, "ThrottlingException": { - "base": "

Too many requests were made by a user exceeding service quotas. The request was throttled.

", + "base": "

Too many requests were made by a user and they exceeded the service quotas. The request was throttled.

", "refs": { } }, "TimeUnit": { "base": null, "refs": { - "Record$TimeUnit": "

The granularity of the timestamp unit. It indicates if the time value is in seconds, milliseconds, nanoseconds or other supported values. Default is MILLISECONDS.

" + "DataModel$TimeUnit": "

The granularity of the timestamp unit. It indicates if the time value is in seconds, milliseconds, nanoseconds, or other supported values. Default is MILLISECONDS.

", + "Record$TimeUnit": "

The granularity of the timestamp unit. It indicates if the time value is in seconds, milliseconds, nanoseconds, or other supported values. Default is MILLISECONDS.

" } }, "UntagResourceRequest": { @@ -548,7 +810,7 @@ } }, "ValidationException": { - "base": "

Invalid or malformed request.

", + "base": "

An invalid or malformed request.

", "refs": { } }, diff --git a/models/apis/timestream-write/2018-11-01/endpoint-rule-set-1.json b/models/apis/timestream-write/2018-11-01/endpoint-rule-set-1.json new file mode 100644 index 00000000000..77212ec373e --- /dev/null +++ b/models/apis/timestream-write/2018-11-01/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ingest.timestream-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ingest.timestream-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ] + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ingest.timestream.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://ingest.timestream.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + } + ] + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] + } + ] +} \ No newline at end of file diff --git a/models/apis/timestream-write/2018-11-01/endpoint-tests-1.json b/models/apis/timestream-write/2018-11-01/endpoint-tests-1.json new file mode 100644 index 00000000000..21efa51ffd8 --- /dev/null +++ b/models/apis/timestream-write/2018-11-01/endpoint-tests-1.json @@ -0,0 +1,264 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream-fips.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream.us-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream.us-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "cn-north-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream.us-gov-east-1.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-gov-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-iso-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://ingest.timestream.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-isob-east-1" + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseDualStack": false, + "UseFIPS": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "UseDualStack": false, + "UseFIPS": true, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "UseDualStack": true, + "UseFIPS": false, + "Region": "us-east-1", + "Endpoint": "https://example.com" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/timestream-write/2018-11-01/paginators-1.json b/models/apis/timestream-write/2018-11-01/paginators-1.json index 45728c71e59..c6aa1b7a7a0 100644 --- a/models/apis/timestream-write/2018-11-01/paginators-1.json +++ b/models/apis/timestream-write/2018-11-01/paginators-1.json @@ -1,5 +1,10 @@ { "pagination": { + "ListBatchLoadTasks": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "ListDatabases": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 96b80bd30ce..2c143f81dcc 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -7665,6 +7665,39 @@ "us-west-2" : { } } }, + "internetmonitor" : { + "defaults" : { + "dnsSuffix" : "api.aws", + "variants" : [ { + "dnsSuffix" : "api.aws", + "hostname" : "{service}-fips.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, + "endpoints" : { + "ap-northeast-3" : { + "hostname" : "internetmonitor.ap-northeast-3.api.aws" + }, + "ap-south-2" : { + "hostname" : "internetmonitor.ap-south-2.api.aws" + }, + "ap-southeast-3" : { + "hostname" : "internetmonitor.ap-southeast-3.api.aws" + }, + "ap-southeast-4" : { + "hostname" : "internetmonitor.ap-southeast-4.api.aws" + }, + "eu-central-2" : { + "hostname" : "internetmonitor.eu-central-2.api.aws" + }, + "eu-south-2" : { + "hostname" : "internetmonitor.eu-south-2.api.aws" + }, + "me-central-1" : { + "hostname" : "internetmonitor.me-central-1.api.aws" + } + } + }, "iot" : { "defaults" : { "credentialScope" : { @@ -17328,6 +17361,24 @@ "isRegionalized" : false, "partitionEndpoint" : "aws-cn-global" }, + "internetmonitor" : { + "defaults" : { + "dnsSuffix" : "api.amazonwebservices.com.cn", + "variants" : [ { + "dnsSuffix" : "api.amazonwebservices.com.cn", + "hostname" : "{service}-fips.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, + "endpoints" : { + "cn-north-1" : { + "hostname" : "internetmonitor.cn-north-1.api.amazonwebservices.com.cn" + }, + "cn-northwest-1" : { + "hostname" : "internetmonitor.cn-northwest-1.api.amazonwebservices.com.cn" + } + } + }, "iot" : { "defaults" : { "credentialScope" : { @@ -19960,6 +20011,24 @@ "us-gov-west-1" : { } } }, + "internetmonitor" : { + "defaults" : { + "dnsSuffix" : "api.aws", + "variants" : [ { + "dnsSuffix" : "api.aws", + "hostname" : "{service}-fips.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, + "endpoints" : { + "us-gov-east-1" : { + "hostname" : "internetmonitor.us-gov-east-1.api.aws" + }, + "us-gov-west-1" : { + "hostname" : "internetmonitor.us-gov-west-1.api.aws" + } + } + }, "iot" : { "defaults" : { "credentialScope" : { diff --git a/service/devopsguru/api.go b/service/devopsguru/api.go index d3e7f4cce03..bd7ffd47a76 100644 --- a/service/devopsguru/api.go +++ b/service/devopsguru/api.go @@ -4883,7 +4883,7 @@ type CostEstimationResourceCollectionFilter struct { // tag to resources from different services to indicate that the resources are // related. For example, you can assign the same tag to an Amazon DynamoDB table // resource that you assign to an Lambda function. For more information about - // using tags, see the Tagging best practices (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf) + // using tags, see the Tagging best practices (https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) // whitepaper. // // Each Amazon Web Services tag has two parts. @@ -5976,7 +5976,7 @@ type DescribeOrganizationResourceCollectionHealthOutput struct { // tag to resources from different services to indicate that the resources are // related. For example, you can assign the same tag to an Amazon DynamoDB table // resource that you assign to an Lambda function. For more information about - // using tags, see the Tagging best practices (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf) + // using tags, see the Tagging best practices (https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) // whitepaper. // // Each Amazon Web Services tag has two parts. @@ -6139,7 +6139,7 @@ type DescribeResourceCollectionHealthOutput struct { // tag to resources from different services to indicate that the resources are // related. For example, you can assign the same tag to an Amazon DynamoDB table // resource that you assign to an Lambda function. For more information about - // using tags, see the Tagging best practices (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf) + // using tags, see the Tagging best practices (https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) // whitepaper. // // Each Amazon Web Services tag has two parts. @@ -9605,6 +9605,9 @@ type ProactiveAnomaly struct { // of related anomalies. AssociatedInsightId *string `min:"1" type:"string"` + // A description of the proactive anomaly. + Description *string `type:"string"` + // The ID of a proactive anomaly. Id *string `min:"1" type:"string"` @@ -9687,6 +9690,12 @@ func (s *ProactiveAnomaly) SetAssociatedInsightId(v string) *ProactiveAnomaly { return s } +// SetDescription sets the Description field's value. +func (s *ProactiveAnomaly) SetDescription(v string) *ProactiveAnomaly { + s.Description = &v + return s +} + // SetId sets the Id field's value. func (s *ProactiveAnomaly) SetId(v string) *ProactiveAnomaly { s.Id = &v @@ -9761,6 +9770,9 @@ type ProactiveAnomalySummary struct { // of related anomalies. AssociatedInsightId *string `min:"1" type:"string"` + // A description of the proactive anomaly. + Description *string `type:"string"` + // The ID of the anomaly. Id *string `min:"1" type:"string"` @@ -9843,6 +9855,12 @@ func (s *ProactiveAnomalySummary) SetAssociatedInsightId(v string) *ProactiveAno return s } +// SetDescription sets the Description field's value. +func (s *ProactiveAnomalySummary) SetDescription(v string) *ProactiveAnomalySummary { + s.Description = &v + return s +} + // SetId sets the Id field's value. func (s *ProactiveAnomalySummary) SetId(v string) *ProactiveAnomalySummary { s.Id = &v @@ -11408,7 +11426,7 @@ type ResourceCollection struct { // tag to resources from different services to indicate that the resources are // related. For example, you can assign the same tag to an Amazon DynamoDB table // resource that you assign to an Lambda function. For more information about - // using tags, see the Tagging best practices (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf) + // using tags, see the Tagging best practices (https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) // whitepaper. // // Each Amazon Web Services tag has two parts. @@ -11502,7 +11520,7 @@ type ResourceCollectionFilter struct { // tag to resources from different services to indicate that the resources are // related. For example, you can assign the same tag to an Amazon DynamoDB table // resource that you assign to an Lambda function. For more information about - // using tags, see the Tagging best practices (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf) + // using tags, see the Tagging best practices (https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) // whitepaper. // // Each Amazon Web Services tag has two parts. @@ -11631,8 +11649,12 @@ func (s *ResourceNotFoundException) RequestID() string { return s.RespMetadata.RequestID } -// Specifies one or more severity values and one or more status values that -// are used to search for insights. +// Specifies values used to filter responses when searching for insights. You +// can use a ResourceCollection, ServiceCollection, array of severities, and +// an array of status values. Each filter type contains one or more values to +// search for. If you specify multiple filter types, the filter types are joined +// with an AND, and the request returns only results that match all of the specified +// filters. type SearchInsightsFilters struct { _ struct{} `type:"structure"` @@ -12626,7 +12648,7 @@ func (s *StartTimeRange) SetToTime(v time.Time) *StartTimeRange { // tag to resources from different services to indicate that the resources are // related. For example, you can assign the same tag to an Amazon DynamoDB table // resource that you assign to an Lambda function. For more information about -// using tags, see the Tagging best practices (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf) +// using tags, see the Tagging best practices (https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) // whitepaper. // // Each Amazon Web Services tag has two parts. @@ -13188,7 +13210,7 @@ type UpdateResourceCollectionFilter struct { // tag to resources from different services to indicate that the resources are // related. For example, you can assign the same tag to an Amazon DynamoDB table // resource that you assign to an Lambda function. For more information about - // using tags, see the Tagging best practices (https://d1.awsstatic.com/whitepapers/aws-tagging-best-practices.pdf) + // using tags, see the Tagging best practices (https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) // whitepaper. // // Each Amazon Web Services tag has two parts. diff --git a/service/drs/api.go b/service/drs/api.go index 71abaaa8cc3..b60e043b6fd 100644 --- a/service/drs/api.go +++ b/service/drs/api.go @@ -4640,6 +4640,9 @@ type DataReplicationInfo struct { // The disks that should be replicated. ReplicatedDisks []*DataReplicationInfoReplicatedDisk `locationName:"replicatedDisks" type:"list"` + + // AWS Availability zone into which data is being replicated. + StagingAvailabilityZone *string `locationName:"stagingAvailabilityZone" type:"string"` } // String returns the string representation. @@ -4696,6 +4699,12 @@ func (s *DataReplicationInfo) SetReplicatedDisks(v []*DataReplicationInfoReplica return s } +// SetStagingAvailabilityZone sets the StagingAvailabilityZone field's value. +func (s *DataReplicationInfo) SetStagingAvailabilityZone(v string) *DataReplicationInfo { + s.StagingAvailabilityZone = &v + return s +} + // A disk that should be replicated. type DataReplicationInfoReplicatedDisk struct { _ struct{} `type:"structure"` @@ -7300,6 +7309,9 @@ type LifeCycleLastLaunch struct { // An object containing information regarding the initiation of the last launch // of a Source Server. Initiated *LifeCycleLastLaunchInitiated `locationName:"initiated" type:"structure"` + + // Status of Source Server's last launch. + Status *string `locationName:"status" type:"string" enum:"LaunchStatus"` } // String returns the string representation. @@ -7326,6 +7338,12 @@ func (s *LifeCycleLastLaunch) SetInitiated(v *LifeCycleLastLaunchInitiated) *Lif return s } +// SetStatus sets the Status field's value. +func (s *LifeCycleLastLaunch) SetStatus(v string) *LifeCycleLastLaunch { + s.Status = &v + return s +} + // An object containing information regarding the initiation of the last launch // of a Source Server. type LifeCycleLastLaunchInitiated struct { @@ -7922,6 +7940,9 @@ type RecoveryInstance struct { // The ID of the Job that created the Recovery Instance. JobID *string `locationName:"jobID" min:"24" type:"string"` + // AWS availability zone associated with the recovery instance. + OriginAvailabilityZone *string `locationName:"originAvailabilityZone" type:"string"` + // Environment (On Premises / AWS) of the instance that the recovery instance // originated from. OriginEnvironment *string `locationName:"originEnvironment" type:"string" enum:"OriginEnvironment"` @@ -8007,6 +8028,12 @@ func (s *RecoveryInstance) SetJobID(v string) *RecoveryInstance { return s } +// SetOriginAvailabilityZone sets the OriginAvailabilityZone field's value. +func (s *RecoveryInstance) SetOriginAvailabilityZone(v string) *RecoveryInstance { + s.OriginAvailabilityZone = &v + return s +} + // SetOriginEnvironment sets the OriginEnvironment field's value. func (s *RecoveryInstance) SetOriginEnvironment(v string) *RecoveryInstance { s.OriginEnvironment = &v @@ -8105,6 +8132,9 @@ type RecoveryInstanceDataReplicationInfo struct { // The disks that should be replicated. ReplicatedDisks []*RecoveryInstanceDataReplicationInfoReplicatedDisk `locationName:"replicatedDisks" type:"list"` + + // AWS Availability zone into which data is being replicated. + StagingAvailabilityZone *string `locationName:"stagingAvailabilityZone" type:"string"` } // String returns the string representation. @@ -8161,6 +8191,12 @@ func (s *RecoveryInstanceDataReplicationInfo) SetReplicatedDisks(v []*RecoveryIn return s } +// SetStagingAvailabilityZone sets the StagingAvailabilityZone field's value. +func (s *RecoveryInstanceDataReplicationInfo) SetStagingAvailabilityZone(v string) *RecoveryInstanceDataReplicationInfo { + s.StagingAvailabilityZone = &v + return s +} + // A disk that should be replicated. type RecoveryInstanceDataReplicationInfoReplicatedDisk struct { _ struct{} `type:"structure"` @@ -8652,9 +8688,8 @@ type ReplicationConfigurationReplicatedDisk struct { // Whether to boot from this disk or not. IsBootDisk *bool `locationName:"isBootDisk" type:"boolean"` - // When stagingDiskType is set to Auto, this field shows the current staging - // disk EBS volume type as it is constantly updated by the service. This is - // a read-only field. + // The Staging Disk EBS volume type to be used during replication when stagingDiskType + // is set to Auto. This is a read-only field. OptimizedStagingDiskType *string `locationName:"optimizedStagingDiskType" type:"string" enum:"ReplicationConfigurationReplicatedDiskStagingDiskType"` // The Staging Disk EBS volume type to be used during replication. diff --git a/service/internetmonitor/api.go b/service/internetmonitor/api.go new file mode 100644 index 00000000000..7053f02bc76 --- /dev/null +++ b/service/internetmonitor/api.go @@ -0,0 +1,3918 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package internetmonitor + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCreateMonitor = "CreateMonitor" + +// CreateMonitorRequest generates a "aws/request.Request" representing the +// client's request for the CreateMonitor operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateMonitor for more information on using the CreateMonitor +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateMonitorRequest method. +// req, resp := client.CreateMonitorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/CreateMonitor +func (c *InternetMonitor) CreateMonitorRequest(input *CreateMonitorInput) (req *request.Request, output *CreateMonitorOutput) { + op := &request.Operation{ + Name: opCreateMonitor, + HTTPMethod: "POST", + HTTPPath: "/v20210603/Monitors", + } + + if input == nil { + input = &CreateMonitorInput{} + } + + output = &CreateMonitorOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateMonitor API operation for Amazon CloudWatch Internet Monitor. +// +// Creates a monitor in Amazon CloudWatch Internet Monitor. A monitor is built +// based on information from the application resources that you add: Virtual +// Private Clouds (VPCs), Amazon CloudFront distributions, and WorkSpaces directories. +// +// After you create a monitor, you can view the internet performance for your +// application, scoped to a location, as well as any health events that are +// impairing traffic. Internet Monitor can also diagnose whether the impairment +// is on the Amazon Web Services network or is an issue with an internet service +// provider (ISP). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Internet Monitor's +// API operation CreateMonitor for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An internal error occurred. +// +// - AccessDeniedException +// You don't have sufficient permission to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ConflictException +// The requested resource is in use. +// +// - LimitExceededException +// The request exceeded a service quota. +// +// - ValidationException +// Invalid request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/CreateMonitor +func (c *InternetMonitor) CreateMonitor(input *CreateMonitorInput) (*CreateMonitorOutput, error) { + req, out := c.CreateMonitorRequest(input) + return out, req.Send() +} + +// CreateMonitorWithContext is the same as CreateMonitor with the addition of +// the ability to pass a context and additional request options. +// +// See CreateMonitor for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InternetMonitor) CreateMonitorWithContext(ctx aws.Context, input *CreateMonitorInput, opts ...request.Option) (*CreateMonitorOutput, error) { + req, out := c.CreateMonitorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteMonitor = "DeleteMonitor" + +// DeleteMonitorRequest generates a "aws/request.Request" representing the +// client's request for the DeleteMonitor operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteMonitor for more information on using the DeleteMonitor +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteMonitorRequest method. +// req, resp := client.DeleteMonitorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/DeleteMonitor +func (c *InternetMonitor) DeleteMonitorRequest(input *DeleteMonitorInput) (req *request.Request, output *DeleteMonitorOutput) { + op := &request.Operation{ + Name: opDeleteMonitor, + HTTPMethod: "DELETE", + HTTPPath: "/v20210603/Monitors/{MonitorName}", + } + + if input == nil { + input = &DeleteMonitorInput{} + } + + output = &DeleteMonitorOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteMonitor API operation for Amazon CloudWatch Internet Monitor. +// +// Deletes a monitor in Amazon CloudWatch Internet Monitor. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Internet Monitor's +// API operation DeleteMonitor for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An internal error occurred. +// +// - AccessDeniedException +// You don't have sufficient permission to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// Invalid request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/DeleteMonitor +func (c *InternetMonitor) DeleteMonitor(input *DeleteMonitorInput) (*DeleteMonitorOutput, error) { + req, out := c.DeleteMonitorRequest(input) + return out, req.Send() +} + +// DeleteMonitorWithContext is the same as DeleteMonitor with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteMonitor for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InternetMonitor) DeleteMonitorWithContext(ctx aws.Context, input *DeleteMonitorInput, opts ...request.Option) (*DeleteMonitorOutput, error) { + req, out := c.DeleteMonitorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetHealthEvent = "GetHealthEvent" + +// GetHealthEventRequest generates a "aws/request.Request" representing the +// client's request for the GetHealthEvent operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetHealthEvent for more information on using the GetHealthEvent +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetHealthEventRequest method. +// req, resp := client.GetHealthEventRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetHealthEvent +func (c *InternetMonitor) GetHealthEventRequest(input *GetHealthEventInput) (req *request.Request, output *GetHealthEventOutput) { + op := &request.Operation{ + Name: opGetHealthEvent, + HTTPMethod: "GET", + HTTPPath: "/v20210603/Monitors/{MonitorName}/HealthEvents/{EventId}", + } + + if input == nil { + input = &GetHealthEventInput{} + } + + output = &GetHealthEventOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetHealthEvent API operation for Amazon CloudWatch Internet Monitor. +// +// Gets information the Amazon CloudWatch Internet Monitor has created and stored +// about a health event for a specified monitor. This information includes the +// impacted locations, and all of the information related to the event by location. +// +// The information returned includes the performance, availability, and round-trip +// time impact, information about the network providers, the event type, and +// so on. +// +// Information rolled up at the global traffic level is also returned, including +// the impact type and total traffic impact. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Internet Monitor's +// API operation GetHealthEvent for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An internal error occurred. +// +// - AccessDeniedException +// You don't have sufficient permission to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// Invalid request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetHealthEvent +func (c *InternetMonitor) GetHealthEvent(input *GetHealthEventInput) (*GetHealthEventOutput, error) { + req, out := c.GetHealthEventRequest(input) + return out, req.Send() +} + +// GetHealthEventWithContext is the same as GetHealthEvent with the addition of +// the ability to pass a context and additional request options. +// +// See GetHealthEvent for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InternetMonitor) GetHealthEventWithContext(ctx aws.Context, input *GetHealthEventInput, opts ...request.Option) (*GetHealthEventOutput, error) { + req, out := c.GetHealthEventRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetMonitor = "GetMonitor" + +// GetMonitorRequest generates a "aws/request.Request" representing the +// client's request for the GetMonitor operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetMonitor for more information on using the GetMonitor +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetMonitorRequest method. +// req, resp := client.GetMonitorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetMonitor +func (c *InternetMonitor) GetMonitorRequest(input *GetMonitorInput) (req *request.Request, output *GetMonitorOutput) { + op := &request.Operation{ + Name: opGetMonitor, + HTTPMethod: "GET", + HTTPPath: "/v20210603/Monitors/{MonitorName}", + } + + if input == nil { + input = &GetMonitorInput{} + } + + output = &GetMonitorOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetMonitor API operation for Amazon CloudWatch Internet Monitor. +// +// Gets information about a monitor in Amazon CloudWatch Internet Monitor based +// on a monitor name. The information returned includes the Amazon Resource +// Name (ARN), create time, modified time, resources included in the monitor, +// and status information. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Internet Monitor's +// API operation GetMonitor for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An internal error occurred. +// +// - AccessDeniedException +// You don't have sufficient permission to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// Invalid request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/GetMonitor +func (c *InternetMonitor) GetMonitor(input *GetMonitorInput) (*GetMonitorOutput, error) { + req, out := c.GetMonitorRequest(input) + return out, req.Send() +} + +// GetMonitorWithContext is the same as GetMonitor with the addition of +// the ability to pass a context and additional request options. +// +// See GetMonitor for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InternetMonitor) GetMonitorWithContext(ctx aws.Context, input *GetMonitorInput, opts ...request.Option) (*GetMonitorOutput, error) { + req, out := c.GetMonitorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListHealthEvents = "ListHealthEvents" + +// ListHealthEventsRequest generates a "aws/request.Request" representing the +// client's request for the ListHealthEvents operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListHealthEvents for more information on using the ListHealthEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListHealthEventsRequest method. +// req, resp := client.ListHealthEventsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListHealthEvents +func (c *InternetMonitor) ListHealthEventsRequest(input *ListHealthEventsInput) (req *request.Request, output *ListHealthEventsOutput) { + op := &request.Operation{ + Name: opListHealthEvents, + HTTPMethod: "GET", + HTTPPath: "/v20210603/Monitors/{MonitorName}/HealthEvents", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListHealthEventsInput{} + } + + output = &ListHealthEventsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListHealthEvents API operation for Amazon CloudWatch Internet Monitor. +// +// Lists all health events for a monitor in Amazon CloudWatch Internet Monitor. +// Returns all information for health events including the client location information +// the network cause and status, event start and end time, percentage of total +// traffic impacted, and status. +// +// Health events that have start times during the time frame that is requested +// are not included in the list of health events. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Internet Monitor's +// API operation ListHealthEvents for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An internal error occurred. +// +// - AccessDeniedException +// You don't have sufficient permission to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// Invalid request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListHealthEvents +func (c *InternetMonitor) ListHealthEvents(input *ListHealthEventsInput) (*ListHealthEventsOutput, error) { + req, out := c.ListHealthEventsRequest(input) + return out, req.Send() +} + +// ListHealthEventsWithContext is the same as ListHealthEvents with the addition of +// the ability to pass a context and additional request options. +// +// See ListHealthEvents for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InternetMonitor) ListHealthEventsWithContext(ctx aws.Context, input *ListHealthEventsInput, opts ...request.Option) (*ListHealthEventsOutput, error) { + req, out := c.ListHealthEventsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListHealthEventsPages iterates over the pages of a ListHealthEvents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListHealthEvents 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 ListHealthEvents operation. +// pageNum := 0 +// err := client.ListHealthEventsPages(params, +// func(page *internetmonitor.ListHealthEventsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *InternetMonitor) ListHealthEventsPages(input *ListHealthEventsInput, fn func(*ListHealthEventsOutput, bool) bool) error { + return c.ListHealthEventsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListHealthEventsPagesWithContext same as ListHealthEventsPages 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 *InternetMonitor) ListHealthEventsPagesWithContext(ctx aws.Context, input *ListHealthEventsInput, fn func(*ListHealthEventsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListHealthEventsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListHealthEventsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListHealthEventsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListMonitors = "ListMonitors" + +// ListMonitorsRequest generates a "aws/request.Request" representing the +// client's request for the ListMonitors operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListMonitors for more information on using the ListMonitors +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListMonitorsRequest method. +// req, resp := client.ListMonitorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListMonitors +func (c *InternetMonitor) ListMonitorsRequest(input *ListMonitorsInput) (req *request.Request, output *ListMonitorsOutput) { + op := &request.Operation{ + Name: opListMonitors, + HTTPMethod: "GET", + HTTPPath: "/v20210603/Monitors", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListMonitorsInput{} + } + + output = &ListMonitorsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListMonitors API operation for Amazon CloudWatch Internet Monitor. +// +// Lists all of your monitors for Amazon CloudWatch Internet Monitor and their +// statuses, along with the Amazon Resource Name (ARN) and name of each monitor. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Internet Monitor's +// API operation ListMonitors for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An internal error occurred. +// +// - AccessDeniedException +// You don't have sufficient permission to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - ValidationException +// Invalid request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListMonitors +func (c *InternetMonitor) ListMonitors(input *ListMonitorsInput) (*ListMonitorsOutput, error) { + req, out := c.ListMonitorsRequest(input) + return out, req.Send() +} + +// ListMonitorsWithContext is the same as ListMonitors with the addition of +// the ability to pass a context and additional request options. +// +// See ListMonitors for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InternetMonitor) ListMonitorsWithContext(ctx aws.Context, input *ListMonitorsInput, opts ...request.Option) (*ListMonitorsOutput, error) { + req, out := c.ListMonitorsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListMonitorsPages iterates over the pages of a ListMonitors operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListMonitors 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 ListMonitors operation. +// pageNum := 0 +// err := client.ListMonitorsPages(params, +// func(page *internetmonitor.ListMonitorsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *InternetMonitor) ListMonitorsPages(input *ListMonitorsInput, fn func(*ListMonitorsOutput, bool) bool) error { + return c.ListMonitorsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListMonitorsPagesWithContext same as ListMonitorsPages 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 *InternetMonitor) ListMonitorsPagesWithContext(ctx aws.Context, input *ListMonitorsInput, fn func(*ListMonitorsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListMonitorsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListMonitorsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListMonitorsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListTagsForResource +func (c *InternetMonitor) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon CloudWatch Internet Monitor. +// +// Lists the tags for a resource. Tags are supported only for monitors in Amazon +// CloudWatch Internet Monitor. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Internet Monitor's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// +// - TooManyRequestsException +// There were too many requests. +// +// - AccessDeniedException +// You don't have sufficient permission to perform this action. +// +// - NotFoundException +// The request specifies something that doesn't exist. +// +// - BadRequestException +// A bad request was received. +// +// - InternalServerErrorException +// There was an internal server error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/ListTagsForResource +func (c *InternetMonitor) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InternetMonitor) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/TagResource +func (c *InternetMonitor) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon CloudWatch Internet Monitor. +// +// Adds a tag to a resource. Tags are supported only for monitors in Amazon +// CloudWatch Internet Monitor. You can add a maximum of 50 tags in Internet +// Monitor. +// +// A minimum of one tag is required for this call. It returns an error if you +// use the TagResource request with 0 tags. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Internet Monitor's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - TooManyRequestsException +// There were too many requests. +// +// - AccessDeniedException +// You don't have sufficient permission to perform this action. +// +// - NotFoundException +// The request specifies something that doesn't exist. +// +// - BadRequestException +// A bad request was received. +// +// - InternalServerErrorException +// There was an internal server error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/TagResource +func (c *InternetMonitor) 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 *InternetMonitor) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/UntagResource +func (c *InternetMonitor) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{ResourceArn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon CloudWatch Internet Monitor. +// +// Removes a tag from a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Internet Monitor's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - TooManyRequestsException +// There were too many requests. +// +// - AccessDeniedException +// You don't have sufficient permission to perform this action. +// +// - NotFoundException +// The request specifies something that doesn't exist. +// +// - BadRequestException +// A bad request was received. +// +// - InternalServerErrorException +// There was an internal server error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/UntagResource +func (c *InternetMonitor) 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 *InternetMonitor) 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 opUpdateMonitor = "UpdateMonitor" + +// UpdateMonitorRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMonitor operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateMonitor for more information on using the UpdateMonitor +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateMonitorRequest method. +// req, resp := client.UpdateMonitorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/UpdateMonitor +func (c *InternetMonitor) UpdateMonitorRequest(input *UpdateMonitorInput) (req *request.Request, output *UpdateMonitorOutput) { + op := &request.Operation{ + Name: opUpdateMonitor, + HTTPMethod: "PATCH", + HTTPPath: "/v20210603/Monitors/{MonitorName}", + } + + if input == nil { + input = &UpdateMonitorInput{} + } + + output = &UpdateMonitorOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateMonitor API operation for Amazon CloudWatch Internet Monitor. +// +// Updates a monitor. You can update a monitor to add or remove resources, or +// to change the status of the monitor. You can't change the name of a monitor. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon CloudWatch Internet Monitor's +// API operation UpdateMonitor for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// An internal error occurred. +// +// - ResourceNotFoundException +// The request specifies a resource that doesn't exist. +// +// - AccessDeniedException +// You don't have sufficient permission to perform this action. +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - LimitExceededException +// The request exceeded a service quota. +// +// - ValidationException +// Invalid request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03/UpdateMonitor +func (c *InternetMonitor) UpdateMonitor(input *UpdateMonitorInput) (*UpdateMonitorOutput, error) { + req, out := c.UpdateMonitorRequest(input) + return out, req.Send() +} + +// UpdateMonitorWithContext is the same as UpdateMonitor with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateMonitor for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *InternetMonitor) UpdateMonitorWithContext(ctx aws.Context, input *UpdateMonitorInput, opts ...request.Option) (*UpdateMonitorOutput, error) { + req, out := c.UpdateMonitorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// You don't have sufficient permission to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Measurements about the availability for your application on the internet, +// calculated by Amazon CloudWatch Internet Monitor. Amazon Web Services has +// substantial historical data about internet performance and availability between +// Amazon Web Services services and different network providers and geographies. +// By applying statistical analysis to the data, Internet Monitor can detect +// when the performance and availability for your application has dropped, compared +// to an estimated baseline that's already calculated. To make it easier to +// see those drops, we report that information to you in the form of health +// scores: a performance score and an availability score. +// +// Availability in Internet Monitor represents the estimated percentage of traffic +// that is not seeing an availability drop. For example, an availability score +// of 99% for an end user and service location pair is equivalent to 1% of the +// traffic experiencing an availability drop for that pair. +// +// For more information, see How Internet Monitor calculates performance and +// availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores) +// in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch +// User Guide. +type AvailabilityMeasurement struct { + _ struct{} `type:"structure"` + + // Experience scores, or health scores are calculated for different geographic + // and network provider combinations (that is, different granularities) and + // also summed into global scores. If you view performance or availability scores + // without filtering for any specific geography or service provider, Amazon + // CloudWatch Internet Monitor provides global health scores. + // + // The Amazon CloudWatch Internet Monitor chapter in the CloudWatch User Guide + // includes detailed information about how Internet Monitor calculates health + // scores, including performance and availability scores, and when it creates + // and resolves health events. For more information, see How Amazon Web Services + // calculates performance and availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores) + // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User + // Guide. + ExperienceScore *float64 `type:"double"` + + // The percentage of impact caused by a health event for client location traffic + // globally. + // + // For information about how Internet Monitor calculates impact, see Inside + // Internet Monitor (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html) + // in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch + // User Guide. + PercentOfClientLocationImpacted *float64 `type:"double"` + + // The percentage of impact caused by a health event for total traffic globally. + // + // For information about how Internet Monitor calculates impact, see Inside + // Internet Monitor (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html) + // in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch + // User Guide. + PercentOfTotalTrafficImpacted *float64 `type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AvailabilityMeasurement) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AvailabilityMeasurement) GoString() string { + return s.String() +} + +// SetExperienceScore sets the ExperienceScore field's value. +func (s *AvailabilityMeasurement) SetExperienceScore(v float64) *AvailabilityMeasurement { + s.ExperienceScore = &v + return s +} + +// SetPercentOfClientLocationImpacted sets the PercentOfClientLocationImpacted field's value. +func (s *AvailabilityMeasurement) SetPercentOfClientLocationImpacted(v float64) *AvailabilityMeasurement { + s.PercentOfClientLocationImpacted = &v + return s +} + +// SetPercentOfTotalTrafficImpacted sets the PercentOfTotalTrafficImpacted field's value. +func (s *AvailabilityMeasurement) SetPercentOfTotalTrafficImpacted(v float64) *AvailabilityMeasurement { + s.PercentOfTotalTrafficImpacted = &v + return s +} + +// A bad request was received. +type BadRequestException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BadRequestException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BadRequestException) GoString() string { + return s.String() +} + +func newErrorBadRequestException(v protocol.ResponseMetadata) error { + return &BadRequestException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *BadRequestException) Code() string { + return "BadRequestException" +} + +// Message returns the exception's message. +func (s *BadRequestException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *BadRequestException) OrigErr() error { + return nil +} + +func (s *BadRequestException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *BadRequestException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *BadRequestException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The requested resource is in use. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateMonitorInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive string of up to 64 ASCII characters that you specify + // to make an idempotent API request. Don't reuse the same client token for + // other API requests. + ClientToken *string `type:"string" idempotencyToken:"true"` + + // The maximum number of city-network combinations (that is, combinations of + // a city location and network, such as an ISP) to be monitored for your resources. + // + // MaxCityNetworksToMonitor is a required field + MaxCityNetworksToMonitor *int64 `min:"1" type:"integer" required:"true"` + + // The name of the monitor. + // + // MonitorName is a required field + MonitorName *string `min:"1" type:"string" required:"true"` + + // The resources to include in a monitor, which you provide as a set of Amazon + // Resource Names (ARNs). + // + // You can add a combination of Amazon Virtual Private Clouds (VPCs) and Amazon + // CloudFront distributions, or you can add Amazon WorkSpaces directories. You + // can't add all three types of resources. + // + // If you add only VPC resources, at least one VPC must have an Internet Gateway + // attached to it, to make sure that it has internet connectivity. + Resources []*string `type:"list"` + + // The tags for a monitor. You can add a maximum of 50 tags in Internet Monitor. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateMonitorInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateMonitorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateMonitorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMonitorInput"} + if s.MaxCityNetworksToMonitor == nil { + invalidParams.Add(request.NewErrParamRequired("MaxCityNetworksToMonitor")) + } + if s.MaxCityNetworksToMonitor != nil && *s.MaxCityNetworksToMonitor < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxCityNetworksToMonitor", 1)) + } + if s.MonitorName == nil { + invalidParams.Add(request.NewErrParamRequired("MonitorName")) + } + if s.MonitorName != nil && len(*s.MonitorName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateMonitorInput) SetClientToken(v string) *CreateMonitorInput { + s.ClientToken = &v + return s +} + +// SetMaxCityNetworksToMonitor sets the MaxCityNetworksToMonitor field's value. +func (s *CreateMonitorInput) SetMaxCityNetworksToMonitor(v int64) *CreateMonitorInput { + s.MaxCityNetworksToMonitor = &v + return s +} + +// SetMonitorName sets the MonitorName field's value. +func (s *CreateMonitorInput) SetMonitorName(v string) *CreateMonitorInput { + s.MonitorName = &v + return s +} + +// SetResources sets the Resources field's value. +func (s *CreateMonitorInput) SetResources(v []*string) *CreateMonitorInput { + s.Resources = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateMonitorInput) SetTags(v map[string]*string) *CreateMonitorInput { + s.Tags = v + return s +} + +type CreateMonitorOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the monitor. + // + // Arn is a required field + Arn *string `min:"20" type:"string" required:"true"` + + // The status of a monitor. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"MonitorConfigState"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateMonitorOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateMonitorOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateMonitorOutput) SetArn(v string) *CreateMonitorOutput { + s.Arn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateMonitorOutput) SetStatus(v string) *CreateMonitorOutput { + s.Status = &v + return s +} + +type DeleteMonitorInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the monitor to delete. + // + // MonitorName is a required field + MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMonitorInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMonitorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMonitorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMonitorInput"} + if s.MonitorName == nil { + invalidParams.Add(request.NewErrParamRequired("MonitorName")) + } + if s.MonitorName != nil && len(*s.MonitorName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMonitorName sets the MonitorName field's value. +func (s *DeleteMonitorInput) SetMonitorName(v string) *DeleteMonitorInput { + s.MonitorName = &v + return s +} + +type DeleteMonitorOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMonitorOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMonitorOutput) GoString() string { + return s.String() +} + +type GetHealthEventInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The internally generated identifier of a health event. Because EventID contains + // the forward slash (“/”) character, you must URL-encode the EventID field + // in the request URL. + // + // EventId is a required field + EventId *string `location:"uri" locationName:"EventId" min:"1" type:"string" required:"true"` + + // The name of the monitor. + // + // MonitorName is a required field + MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetHealthEventInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetHealthEventInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetHealthEventInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetHealthEventInput"} + if s.EventId == nil { + invalidParams.Add(request.NewErrParamRequired("EventId")) + } + if s.EventId != nil && len(*s.EventId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EventId", 1)) + } + if s.MonitorName == nil { + invalidParams.Add(request.NewErrParamRequired("MonitorName")) + } + if s.MonitorName != nil && len(*s.MonitorName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEventId sets the EventId field's value. +func (s *GetHealthEventInput) SetEventId(v string) *GetHealthEventInput { + s.EventId = &v + return s +} + +// SetMonitorName sets the MonitorName field's value. +func (s *GetHealthEventInput) SetMonitorName(v string) *GetHealthEventInput { + s.MonitorName = &v + return s +} + +type GetHealthEventOutput struct { + _ struct{} `type:"structure"` + + // The time when a health event was created. + CreatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The time when a health event was resolved. If the health event is still active, + // the end time is not set. + EndedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The Amazon Resource Name (ARN) of the event. + // + // EventArn is a required field + EventArn *string `min:"20" type:"string" required:"true"` + + // The internally generated identifier of a health event. + // + // EventId is a required field + EventId *string `min:"1" type:"string" required:"true"` + + // The type of impairment of a specific health event. + // + // ImpactType is a required field + ImpactType *string `type:"string" required:"true" enum:"HealthEventImpactType"` + + // The locations affected by a health event. + // + // ImpactedLocations is a required field + ImpactedLocations []*ImpactedLocation `type:"list" required:"true"` + + // The time when a health event was last updated or recalculated. + // + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The impact on total traffic that a health event has. + PercentOfTotalTrafficImpacted *float64 `type:"double"` + + // The time when a health event started. + // + // StartedAt is a required field + StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The status of a health event. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"HealthEventStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetHealthEventOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetHealthEventOutput) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *GetHealthEventOutput) SetCreatedAt(v time.Time) *GetHealthEventOutput { + s.CreatedAt = &v + return s +} + +// SetEndedAt sets the EndedAt field's value. +func (s *GetHealthEventOutput) SetEndedAt(v time.Time) *GetHealthEventOutput { + s.EndedAt = &v + return s +} + +// SetEventArn sets the EventArn field's value. +func (s *GetHealthEventOutput) SetEventArn(v string) *GetHealthEventOutput { + s.EventArn = &v + return s +} + +// SetEventId sets the EventId field's value. +func (s *GetHealthEventOutput) SetEventId(v string) *GetHealthEventOutput { + s.EventId = &v + return s +} + +// SetImpactType sets the ImpactType field's value. +func (s *GetHealthEventOutput) SetImpactType(v string) *GetHealthEventOutput { + s.ImpactType = &v + return s +} + +// SetImpactedLocations sets the ImpactedLocations field's value. +func (s *GetHealthEventOutput) SetImpactedLocations(v []*ImpactedLocation) *GetHealthEventOutput { + s.ImpactedLocations = v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *GetHealthEventOutput) SetLastUpdatedAt(v time.Time) *GetHealthEventOutput { + s.LastUpdatedAt = &v + return s +} + +// SetPercentOfTotalTrafficImpacted sets the PercentOfTotalTrafficImpacted field's value. +func (s *GetHealthEventOutput) SetPercentOfTotalTrafficImpacted(v float64) *GetHealthEventOutput { + s.PercentOfTotalTrafficImpacted = &v + return s +} + +// SetStartedAt sets the StartedAt field's value. +func (s *GetHealthEventOutput) SetStartedAt(v time.Time) *GetHealthEventOutput { + s.StartedAt = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetHealthEventOutput) SetStatus(v string) *GetHealthEventOutput { + s.Status = &v + return s +} + +type GetMonitorInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the monitor. + // + // MonitorName is a required field + MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetMonitorInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetMonitorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetMonitorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMonitorInput"} + if s.MonitorName == nil { + invalidParams.Add(request.NewErrParamRequired("MonitorName")) + } + if s.MonitorName != nil && len(*s.MonitorName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMonitorName sets the MonitorName field's value. +func (s *GetMonitorInput) SetMonitorName(v string) *GetMonitorInput { + s.MonitorName = &v + return s +} + +type GetMonitorOutput struct { + _ struct{} `type:"structure"` + + // The time when the monitor was created. + // + // CreatedAt is a required field + CreatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The maximum number of city-network combinations (that is, combinations of + // a city location and network, such as an ISP) to be monitored for your resources. + // + // MaxCityNetworksToMonitor is a required field + MaxCityNetworksToMonitor *int64 `min:"1" type:"integer" required:"true"` + + // The last time that the monitor was modified. + // + // ModifiedAt is a required field + ModifiedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The Amazon Resource Name (ARN) of the monitor. + // + // MonitorArn is a required field + MonitorArn *string `min:"20" type:"string" required:"true"` + + // The name of the monitor. + // + // MonitorName is a required field + MonitorName *string `min:"1" type:"string" required:"true"` + + // The health of the data processing for the monitor. + ProcessingStatus *string `type:"string" enum:"MonitorProcessingStatusCode"` + + // Additional information about the health of the data processing for the monitor. + ProcessingStatusInfo *string `type:"string"` + + // The resources that have been added for the monitor. Resources are listed + // by their Amazon Resource Names (ARNs). + // + // Resources is a required field + Resources []*string `type:"list" required:"true"` + + // The status of the monitor. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"MonitorConfigState"` + + // The tags that have been added to monitor. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetMonitorOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetMonitorOutput) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *GetMonitorOutput) SetCreatedAt(v time.Time) *GetMonitorOutput { + s.CreatedAt = &v + return s +} + +// SetMaxCityNetworksToMonitor sets the MaxCityNetworksToMonitor field's value. +func (s *GetMonitorOutput) SetMaxCityNetworksToMonitor(v int64) *GetMonitorOutput { + s.MaxCityNetworksToMonitor = &v + return s +} + +// SetModifiedAt sets the ModifiedAt field's value. +func (s *GetMonitorOutput) SetModifiedAt(v time.Time) *GetMonitorOutput { + s.ModifiedAt = &v + return s +} + +// SetMonitorArn sets the MonitorArn field's value. +func (s *GetMonitorOutput) SetMonitorArn(v string) *GetMonitorOutput { + s.MonitorArn = &v + return s +} + +// SetMonitorName sets the MonitorName field's value. +func (s *GetMonitorOutput) SetMonitorName(v string) *GetMonitorOutput { + s.MonitorName = &v + return s +} + +// SetProcessingStatus sets the ProcessingStatus field's value. +func (s *GetMonitorOutput) SetProcessingStatus(v string) *GetMonitorOutput { + s.ProcessingStatus = &v + return s +} + +// SetProcessingStatusInfo sets the ProcessingStatusInfo field's value. +func (s *GetMonitorOutput) SetProcessingStatusInfo(v string) *GetMonitorOutput { + s.ProcessingStatusInfo = &v + return s +} + +// SetResources sets the Resources field's value. +func (s *GetMonitorOutput) SetResources(v []*string) *GetMonitorOutput { + s.Resources = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetMonitorOutput) SetStatus(v string) *GetMonitorOutput { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetMonitorOutput) SetTags(v map[string]*string) *GetMonitorOutput { + s.Tags = v + return s +} + +// Information about a health event created in a monitor in Amazon CloudWatch +// Internet Monitor. +type HealthEvent struct { + _ struct{} `type:"structure"` + + // When the health event was created. + CreatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The time when a health event ended. If the health event is still active, + // then the end time is not set. + EndedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"` + + // The Amazon Resource Name (ARN) of the event. + // + // EventArn is a required field + EventArn *string `min:"20" type:"string" required:"true"` + + // The internally generated identifier of a specific network traffic impairment + // health event. + // + // EventId is a required field + EventId *string `min:"1" type:"string" required:"true"` + + // The type of impairment for a health event. + // + // ImpactType is a required field + ImpactType *string `type:"string" required:"true" enum:"HealthEventImpactType"` + + // The locations impacted by the health event. + // + // ImpactedLocations is a required field + ImpactedLocations []*ImpactedLocation `type:"list" required:"true"` + + // When the health event was last updated. + // + // LastUpdatedAt is a required field + LastUpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The impact on global traffic monitored by this monitor for this health event. + PercentOfTotalTrafficImpacted *float64 `type:"double"` + + // When a health event started. + // + // StartedAt is a required field + StartedAt *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // Health event list member. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"HealthEventStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s HealthEvent) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s HealthEvent) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *HealthEvent) SetCreatedAt(v time.Time) *HealthEvent { + s.CreatedAt = &v + return s +} + +// SetEndedAt sets the EndedAt field's value. +func (s *HealthEvent) SetEndedAt(v time.Time) *HealthEvent { + s.EndedAt = &v + return s +} + +// SetEventArn sets the EventArn field's value. +func (s *HealthEvent) SetEventArn(v string) *HealthEvent { + s.EventArn = &v + return s +} + +// SetEventId sets the EventId field's value. +func (s *HealthEvent) SetEventId(v string) *HealthEvent { + s.EventId = &v + return s +} + +// SetImpactType sets the ImpactType field's value. +func (s *HealthEvent) SetImpactType(v string) *HealthEvent { + s.ImpactType = &v + return s +} + +// SetImpactedLocations sets the ImpactedLocations field's value. +func (s *HealthEvent) SetImpactedLocations(v []*ImpactedLocation) *HealthEvent { + s.ImpactedLocations = v + return s +} + +// SetLastUpdatedAt sets the LastUpdatedAt field's value. +func (s *HealthEvent) SetLastUpdatedAt(v time.Time) *HealthEvent { + s.LastUpdatedAt = &v + return s +} + +// SetPercentOfTotalTrafficImpacted sets the PercentOfTotalTrafficImpacted field's value. +func (s *HealthEvent) SetPercentOfTotalTrafficImpacted(v float64) *HealthEvent { + s.PercentOfTotalTrafficImpacted = &v + return s +} + +// SetStartedAt sets the StartedAt field's value. +func (s *HealthEvent) SetStartedAt(v time.Time) *HealthEvent { + s.StartedAt = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *HealthEvent) SetStatus(v string) *HealthEvent { + s.Status = &v + return s +} + +// Information about a location impacted by a health event in Amazon CloudWatch +// Internet Monitor. +// +// Geographic regions are hierarchically categorized into country, subdivision, +// metro and city geographic granularities. The geographic region is identified +// based on the IP address used at the client locations. +type ImpactedLocation struct { + _ struct{} `type:"structure"` + + // The name of the network at an impacted location. + // + // ASName is a required field + ASName *string `type:"string" required:"true"` + + // The Autonomous System Number (ASN) of the network at an impacted location. + // + // ASNumber is a required field + ASNumber *int64 `type:"long" required:"true"` + + // The cause of the impairment. There are two types of network impairments: + // Amazon Web Services network issues or internet issues. Internet issues are + // typically a problem with a network provider, like an internet service provider + // (ISP). + CausedBy *NetworkImpairment `type:"structure"` + + // The name of the city where the health event is located. + City *string `type:"string"` + + // The name of the country where the health event is located. + // + // Country is a required field + Country *string `type:"string" required:"true"` + + // The country code where the health event is located. The ISO 3166-2 codes + // for the country is provided, when available. + CountryCode *string `type:"string"` + + // The calculated health at a specific location. + InternetHealth *InternetHealth `type:"structure"` + + // The latitude where the health event is located. + Latitude *float64 `type:"double"` + + // The longitude where the health event is located. + Longitude *float64 `type:"double"` + + // The metro area where the health event is located. + // + // Metro indicates a metropolitan region in the United States, such as the region + // around New York City. In non-US countries, this is a second-level subdivision. + // For example, in the United Kingdom, it could be a county, a London borough, + // a unitary authority, council area, and so on. + Metro *string `type:"string"` + + // The service location where the health event is located. + ServiceLocation *string `type:"string"` + + // The status of the health event at an impacted location. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"HealthEventStatus"` + + // The subdivision location where the health event is located. The subdivision + // usually maps to states in most countries (including the United States). For + // United Kingdom, it maps to a country (England, Scotland, Wales) or province + // (Northern Ireland). + Subdivision *string `type:"string"` + + // The subdivision code where the health event is located. The ISO 3166-2 codes + // for country subdivisions is provided, when available. + SubdivisionCode *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImpactedLocation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImpactedLocation) GoString() string { + return s.String() +} + +// SetASName sets the ASName field's value. +func (s *ImpactedLocation) SetASName(v string) *ImpactedLocation { + s.ASName = &v + return s +} + +// SetASNumber sets the ASNumber field's value. +func (s *ImpactedLocation) SetASNumber(v int64) *ImpactedLocation { + s.ASNumber = &v + return s +} + +// SetCausedBy sets the CausedBy field's value. +func (s *ImpactedLocation) SetCausedBy(v *NetworkImpairment) *ImpactedLocation { + s.CausedBy = v + return s +} + +// SetCity sets the City field's value. +func (s *ImpactedLocation) SetCity(v string) *ImpactedLocation { + s.City = &v + return s +} + +// SetCountry sets the Country field's value. +func (s *ImpactedLocation) SetCountry(v string) *ImpactedLocation { + s.Country = &v + return s +} + +// SetCountryCode sets the CountryCode field's value. +func (s *ImpactedLocation) SetCountryCode(v string) *ImpactedLocation { + s.CountryCode = &v + return s +} + +// SetInternetHealth sets the InternetHealth field's value. +func (s *ImpactedLocation) SetInternetHealth(v *InternetHealth) *ImpactedLocation { + s.InternetHealth = v + return s +} + +// SetLatitude sets the Latitude field's value. +func (s *ImpactedLocation) SetLatitude(v float64) *ImpactedLocation { + s.Latitude = &v + return s +} + +// SetLongitude sets the Longitude field's value. +func (s *ImpactedLocation) SetLongitude(v float64) *ImpactedLocation { + s.Longitude = &v + return s +} + +// SetMetro sets the Metro field's value. +func (s *ImpactedLocation) SetMetro(v string) *ImpactedLocation { + s.Metro = &v + return s +} + +// SetServiceLocation sets the ServiceLocation field's value. +func (s *ImpactedLocation) SetServiceLocation(v string) *ImpactedLocation { + s.ServiceLocation = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ImpactedLocation) SetStatus(v string) *ImpactedLocation { + s.Status = &v + return s +} + +// SetSubdivision sets the Subdivision field's value. +func (s *ImpactedLocation) SetSubdivision(v string) *ImpactedLocation { + s.Subdivision = &v + return s +} + +// SetSubdivisionCode sets the SubdivisionCode field's value. +func (s *ImpactedLocation) SetSubdivisionCode(v string) *ImpactedLocation { + s.SubdivisionCode = &v + return s +} + +// There was an internal server error. +type InternalServerErrorException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerErrorException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerErrorException) GoString() string { + return s.String() +} + +func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error { + return &InternalServerErrorException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerErrorException) Code() string { + return "InternalServerErrorException" +} + +// Message returns the exception's message. +func (s *InternalServerErrorException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerErrorException) OrigErr() error { + return nil +} + +func (s *InternalServerErrorException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerErrorException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerErrorException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An internal error occurred. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Internet health includes measurements calculated by Amazon CloudWatch Internet +// Monitor about the performance and availability for your application on the +// internet. Amazon Web Services has substantial historical data about internet +// performance and availability between Amazon Web Services services and different +// network providers and geographies. By applying statistical analysis to the +// data, Internet Monitor can detect when the performance and availability for +// your application has dropped, compared to an estimated baseline that's already +// calculated. To make it easier to see those drops, we report that information +// to you in the form of health scores: a performance score and an availability +// score. +type InternetHealth struct { + _ struct{} `type:"structure"` + + // Availability in Internet Monitor represents the estimated percentage of traffic + // that is not seeing an availability drop. For example, an availability score + // of 99% for an end user and service location pair is equivalent to 1% of the + // traffic experiencing an availability drop for that pair. + // + // For more information, see How Internet Monitor calculates performance and + // availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores) + // in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch + // User Guide. + Availability *AvailabilityMeasurement `type:"structure"` + + // Performance in Internet Monitor represents the estimated percentage of traffic + // that is not seeing a performance drop. For example, a performance score of + // 99% for an end user and service location pair is equivalent to 1% of the + // traffic experiencing a performance drop for that pair. + // + // For more information, see How Internet Monitor calculates performance and + // availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores) + // in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch + // User Guide. + Performance *PerformanceMeasurement `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternetHealth) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternetHealth) GoString() string { + return s.String() +} + +// SetAvailability sets the Availability field's value. +func (s *InternetHealth) SetAvailability(v *AvailabilityMeasurement) *InternetHealth { + s.Availability = v + return s +} + +// SetPerformance sets the Performance field's value. +func (s *InternetHealth) SetPerformance(v *PerformanceMeasurement) *InternetHealth { + s.Performance = v + return s +} + +// The request exceeded a service quota. +type LimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LimitExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LimitExceededException) GoString() string { + return s.String() +} + +func newErrorLimitExceededException(v protocol.ResponseMetadata) error { + return &LimitExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *LimitExceededException) Code() string { + return "LimitExceededException" +} + +// Message returns the exception's message. +func (s *LimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *LimitExceededException) OrigErr() error { + return nil +} + +func (s *LimitExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListHealthEventsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The time when a health event ended. If the health event is still ongoing, + // then the end time is not set. + EndTime *time.Time `location:"querystring" locationName:"EndTime" type:"timestamp" timestampFormat:"iso8601"` + + // The status of a health event. + EventStatus *string `location:"querystring" locationName:"EventStatus" type:"string" enum:"HealthEventStatus"` + + // The number of health event objects that you want to return with this call. + MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"` + + // The name of the monitor. + // + // MonitorName is a required field + MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" type:"string" required:"true"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` + + // The time when a health event started. + StartTime *time.Time `location:"querystring" locationName:"StartTime" type:"timestamp" timestampFormat:"iso8601"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListHealthEventsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListHealthEventsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListHealthEventsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListHealthEventsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.MonitorName == nil { + invalidParams.Add(request.NewErrParamRequired("MonitorName")) + } + if s.MonitorName != nil && len(*s.MonitorName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *ListHealthEventsInput) SetEndTime(v time.Time) *ListHealthEventsInput { + s.EndTime = &v + return s +} + +// SetEventStatus sets the EventStatus field's value. +func (s *ListHealthEventsInput) SetEventStatus(v string) *ListHealthEventsInput { + s.EventStatus = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListHealthEventsInput) SetMaxResults(v int64) *ListHealthEventsInput { + s.MaxResults = &v + return s +} + +// SetMonitorName sets the MonitorName field's value. +func (s *ListHealthEventsInput) SetMonitorName(v string) *ListHealthEventsInput { + s.MonitorName = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListHealthEventsInput) SetNextToken(v string) *ListHealthEventsInput { + s.NextToken = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ListHealthEventsInput) SetStartTime(v time.Time) *ListHealthEventsInput { + s.StartTime = &v + return s +} + +type ListHealthEventsOutput struct { + _ struct{} `type:"structure"` + + // A list of health events. + // + // HealthEvents is a required field + HealthEvents []*HealthEvent `type:"list" required:"true"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListHealthEventsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListHealthEventsOutput) GoString() string { + return s.String() +} + +// SetHealthEvents sets the HealthEvents field's value. +func (s *ListHealthEventsOutput) SetHealthEvents(v []*HealthEvent) *ListHealthEventsOutput { + s.HealthEvents = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListHealthEventsOutput) SetNextToken(v string) *ListHealthEventsOutput { + s.NextToken = &v + return s +} + +type ListMonitorsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The number of monitor objects that you want to return with this call. + MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"` + + // The status of a monitor. This includes the status of the data processing + // for the monitor and the status of the monitor itself. + // + // For information about the statuses for a monitor, see Monitor (https://docs.aws.amazon.com/internet-monitor/latest/api/API_Monitor.html). + MonitorStatus *string `location:"querystring" locationName:"MonitorStatus" type:"string"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMonitorsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMonitorsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListMonitorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMonitorsInput"} + 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 *ListMonitorsInput) SetMaxResults(v int64) *ListMonitorsInput { + s.MaxResults = &v + return s +} + +// SetMonitorStatus sets the MonitorStatus field's value. +func (s *ListMonitorsInput) SetMonitorStatus(v string) *ListMonitorsInput { + s.MonitorStatus = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListMonitorsInput) SetNextToken(v string) *ListMonitorsInput { + s.NextToken = &v + return s +} + +type ListMonitorsOutput struct { + _ struct{} `type:"structure"` + + // A list of monitors. + // + // Monitors is a required field + Monitors []*Monitor `type:"list" required:"true"` + + // The token for the next set of results. You receive this token from a previous + // call. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMonitorsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMonitorsOutput) GoString() string { + return s.String() +} + +// SetMonitors sets the Monitors field's value. +func (s *ListMonitorsOutput) SetMonitors(v []*Monitor) *ListMonitorsOutput { + s.Monitors = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListMonitorsOutput) SetNextToken(v string) *ListMonitorsOutput { + s.NextToken = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) for a resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // Tags for a resource. + Tags map[string]*string `type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// The description of and information about a monitor in Amazon CloudWatch Internet +// Monitor. +type Monitor struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the monitor. + // + // MonitorArn is a required field + MonitorArn *string `min:"20" type:"string" required:"true"` + + // The name of the monitor. + // + // MonitorName is a required field + MonitorName *string `min:"1" type:"string" required:"true"` + + // The health of data processing for the monitor. + ProcessingStatus *string `type:"string" enum:"MonitorProcessingStatusCode"` + + // The status of a monitor. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"MonitorConfigState"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Monitor) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Monitor) GoString() string { + return s.String() +} + +// SetMonitorArn sets the MonitorArn field's value. +func (s *Monitor) SetMonitorArn(v string) *Monitor { + s.MonitorArn = &v + return s +} + +// SetMonitorName sets the MonitorName field's value. +func (s *Monitor) SetMonitorName(v string) *Monitor { + s.MonitorName = &v + return s +} + +// SetProcessingStatus sets the ProcessingStatus field's value. +func (s *Monitor) SetProcessingStatus(v string) *Monitor { + s.ProcessingStatus = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Monitor) SetStatus(v string) *Monitor { + s.Status = &v + return s +} + +// An internet service provider (ISP) or network in Amazon CloudWatch Internet +// Monitor. +type Network struct { + _ struct{} `type:"structure"` + + // The internet provider name or network name. + // + // ASName is a required field + ASName *string `type:"string" required:"true"` + + // The Autonomous System Number (ASN) of the internet provider or network. + // + // ASNumber is a required field + ASNumber *int64 `type:"long" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Network) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Network) GoString() string { + return s.String() +} + +// SetASName sets the ASName field's value. +func (s *Network) SetASName(v string) *Network { + s.ASName = &v + return s +} + +// SetASNumber sets the ASNumber field's value. +func (s *Network) SetASNumber(v int64) *Network { + s.ASNumber = &v + return s +} + +// Information about the network impairment for a specific network measured +// by Amazon CloudWatch Internet Monitor. +type NetworkImpairment struct { + _ struct{} `type:"structure"` + + // The combination of the Autonomous System Number (ASN) of the network and + // the name of the network. + // + // AsPath is a required field + AsPath []*Network `type:"list" required:"true"` + + // Type of network impairment. + // + // NetworkEventType is a required field + NetworkEventType *string `type:"string" required:"true" enum:"TriangulationEventType"` + + // The networks that could be impacted by a network impairment event. + // + // Networks is a required field + Networks []*Network `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkImpairment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NetworkImpairment) GoString() string { + return s.String() +} + +// SetAsPath sets the AsPath field's value. +func (s *NetworkImpairment) SetAsPath(v []*Network) *NetworkImpairment { + s.AsPath = v + return s +} + +// SetNetworkEventType sets the NetworkEventType field's value. +func (s *NetworkImpairment) SetNetworkEventType(v string) *NetworkImpairment { + s.NetworkEventType = &v + return s +} + +// SetNetworks sets the Networks field's value. +func (s *NetworkImpairment) SetNetworks(v []*Network) *NetworkImpairment { + s.Networks = v + return s +} + +// The request specifies something that doesn't exist. +type NotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NotFoundException) GoString() string { + return s.String() +} + +func newErrorNotFoundException(v protocol.ResponseMetadata) error { + return &NotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *NotFoundException) Code() string { + return "NotFoundException" +} + +// Message returns the exception's message. +func (s *NotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *NotFoundException) OrigErr() error { + return nil +} + +func (s *NotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *NotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *NotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Measurements about the performance for your application on the internet calculated +// by Amazon CloudWatch Internet Monitor. Amazon Web Services has substantial +// historical data about internet performance and availability between Amazon +// Web Services services and different network providers and geographies. By +// applying statistical analysis to the data, Internet Monitor can detect when +// the performance and availability for your application has dropped, compared +// to an estimated baseline that's already calculated. To make it easier to +// see those drops, we report that information to you in the form of health +// scores: a performance score and an availability score. +// +// Performance in Internet Monitor represents the estimated percentage of traffic +// that is not seeing a performance drop. For example, a performance score of +// 99% for an end user and service location pair is equivalent to 1% of the +// traffic experiencing a performance drop for that pair. +// +// For more information, see How Internet Monitor calculates performance and +// availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores) +// in the Amazon CloudWatch Internet Monitor section of the Amazon CloudWatch +// User Guide. +type PerformanceMeasurement struct { + _ struct{} `type:"structure"` + + // Experience scores, or health scores, are calculated for different geographic + // and network provider combinations (that is, different granularities) and + // also totaled into global scores. If you view performance or availability + // scores without filtering for any specific geography or service provider, + // Amazon CloudWatch Internet Monitor provides global health scores. + // + // The Amazon CloudWatch Internet Monitor chapter in the CloudWatch User Guide + // includes detailed information about how Internet Monitor calculates health + // scores, including performance and availability scores, and when it creates + // and resolves health events. For more information, see How Amazon Web Services + // calculates performance and availability scores (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMExperienceScores) + // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User + // Guide. + ExperienceScore *float64 `type:"double"` + + // How much performance impact was caused by a health event at a client location. + // For performance, this is the percentage of how much latency increased during + // the event compared to typical performance for traffic, from this client location + // to an Amazon Web Services location, using a specific client network. + // + // For more information, see When Amazon Web Services creates and resolves health + // events (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMHealthEventStartStop) + // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User + // Guide. + PercentOfClientLocationImpacted *float64 `type:"double"` + + // How much performance impact was caused by a health event for total traffic + // globally. For performance, this is the percentage of how much latency increased + // during the event compared to typical performance for your application traffic + // globally. + // + // For more information, see When Amazon Web Services creates and resolves health + // events (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMHealthEventStartStop) + // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User + // Guide. + PercentOfTotalTrafficImpacted *float64 `type:"double"` + + // This is the percentage of how much round-trip time increased during the event + // compared to typical round-trip time for your application for traffic. + // + // For more information, see When Amazon Web Services creates and resolves health + // events (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-IM-inside-internet-monitor.html#IMHealthEventStartStop) + // in the Amazon CloudWatch Internet Monitor section of the CloudWatch User + // Guide. + RoundTripTime *RoundTripTime `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PerformanceMeasurement) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PerformanceMeasurement) GoString() string { + return s.String() +} + +// SetExperienceScore sets the ExperienceScore field's value. +func (s *PerformanceMeasurement) SetExperienceScore(v float64) *PerformanceMeasurement { + s.ExperienceScore = &v + return s +} + +// SetPercentOfClientLocationImpacted sets the PercentOfClientLocationImpacted field's value. +func (s *PerformanceMeasurement) SetPercentOfClientLocationImpacted(v float64) *PerformanceMeasurement { + s.PercentOfClientLocationImpacted = &v + return s +} + +// SetPercentOfTotalTrafficImpacted sets the PercentOfTotalTrafficImpacted field's value. +func (s *PerformanceMeasurement) SetPercentOfTotalTrafficImpacted(v float64) *PerformanceMeasurement { + s.PercentOfTotalTrafficImpacted = &v + return s +} + +// SetRoundTripTime sets the RoundTripTime field's value. +func (s *PerformanceMeasurement) SetRoundTripTime(v *RoundTripTime) *PerformanceMeasurement { + s.RoundTripTime = v + return s +} + +// The request specifies a resource that doesn't exist. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Round-trip time (RTT) is how long it takes for a request from the user to +// return a response to the user. Amazon CloudWatch Internet Monitor calculates +// RTT at different percentiles: p50, p90, and p95. +type RoundTripTime struct { + _ struct{} `type:"structure"` + + // RTT at the 50th percentile (p50). + P50 *float64 `type:"double"` + + // RTT at the 90th percentile (p90). + P90 *float64 `type:"double"` + + // RTT at the 95th percentile (p95). + P95 *float64 `type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RoundTripTime) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RoundTripTime) GoString() string { + return s.String() +} + +// SetP50 sets the P50 field's value. +func (s *RoundTripTime) SetP50(v float64) *RoundTripTime { + s.P50 = &v + return s +} + +// SetP90 sets the P90 field's value. +func (s *RoundTripTime) SetP90(v float64) *RoundTripTime { + s.P90 = &v + return s +} + +// SetP95 sets the P95 field's value. +func (s *RoundTripTime) SetP95(v float64) *RoundTripTime { + s.P95 = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for a tag that you add to a resource. Tags + // are supported only for monitors in Amazon CloudWatch Internet Monitor. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"` + + // Tags that you add to a resource. You can add a maximum of 50 tags in Internet + // Monitor. + // + // Tags is a required field + Tags map[string]*string `type:"map" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// The request was denied due to request throttling. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// There were too many requests. +type TooManyRequestsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TooManyRequestsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TooManyRequestsException) GoString() string { + return s.String() +} + +func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error { + return &TooManyRequestsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *TooManyRequestsException) Code() string { + return "TooManyRequestsException" +} + +// Message returns the exception's message. +func (s *TooManyRequestsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TooManyRequestsException) OrigErr() error { + return nil +} + +func (s *TooManyRequestsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *TooManyRequestsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *TooManyRequestsException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) for a tag you remove a resource from. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"ResourceArn" min:"20" type:"string" required:"true"` + + // Tag keys that you remove from a resource. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateMonitorInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive string of up to 64 ASCII characters that you specify + // to make an idempotent API request. You should not reuse the same client token + // for other API requests. + ClientToken *string `type:"string" idempotencyToken:"true"` + + // The maximum number of city-network combinations (that is, combinations of + // a city location and network, such as an ISP) to be monitored for your resources. + MaxCityNetworksToMonitor *int64 `min:"1" type:"integer"` + + // The name of the monitor. + // + // MonitorName is a required field + MonitorName *string `location:"uri" locationName:"MonitorName" min:"1" type:"string" required:"true"` + + // The resources to include in a monitor, which you provide as a set of Amazon + // Resource Names (ARNs). + // + // You can add a combination of Amazon Virtual Private Clouds (VPCs) and Amazon + // CloudFront distributions, or you can add Amazon WorkSpaces directories. You + // can't add all three types of resources. + // + // If you add only VPC resources, at least one VPC must have an Internet Gateway + // attached to it, to make sure that it has internet connectivity. + ResourcesToAdd []*string `type:"list"` + + // The resources to remove from a monitor, which you provide as a set of Amazon + // Resource Names (ARNs). + ResourcesToRemove []*string `type:"list"` + + // The status for a monitor. The accepted values for Status with the UpdateMonitor + // API call are the following: ACTIVE and INACTIVE. The following values are + // not accepted: PENDING, and ERROR. + Status *string `type:"string" enum:"MonitorConfigState"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateMonitorInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateMonitorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateMonitorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateMonitorInput"} + if s.MaxCityNetworksToMonitor != nil && *s.MaxCityNetworksToMonitor < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxCityNetworksToMonitor", 1)) + } + if s.MonitorName == nil { + invalidParams.Add(request.NewErrParamRequired("MonitorName")) + } + if s.MonitorName != nil && len(*s.MonitorName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MonitorName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateMonitorInput) SetClientToken(v string) *UpdateMonitorInput { + s.ClientToken = &v + return s +} + +// SetMaxCityNetworksToMonitor sets the MaxCityNetworksToMonitor field's value. +func (s *UpdateMonitorInput) SetMaxCityNetworksToMonitor(v int64) *UpdateMonitorInput { + s.MaxCityNetworksToMonitor = &v + return s +} + +// SetMonitorName sets the MonitorName field's value. +func (s *UpdateMonitorInput) SetMonitorName(v string) *UpdateMonitorInput { + s.MonitorName = &v + return s +} + +// SetResourcesToAdd sets the ResourcesToAdd field's value. +func (s *UpdateMonitorInput) SetResourcesToAdd(v []*string) *UpdateMonitorInput { + s.ResourcesToAdd = v + return s +} + +// SetResourcesToRemove sets the ResourcesToRemove field's value. +func (s *UpdateMonitorInput) SetResourcesToRemove(v []*string) *UpdateMonitorInput { + s.ResourcesToRemove = v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateMonitorInput) SetStatus(v string) *UpdateMonitorInput { + s.Status = &v + return s +} + +type UpdateMonitorOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the monitor. + // + // MonitorArn is a required field + MonitorArn *string `min:"20" type:"string" required:"true"` + + // The status of a monitor. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"MonitorConfigState"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateMonitorOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateMonitorOutput) GoString() string { + return s.String() +} + +// SetMonitorArn sets the MonitorArn field's value. +func (s *UpdateMonitorOutput) SetMonitorArn(v string) *UpdateMonitorOutput { + s.MonitorArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateMonitorOutput) SetStatus(v string) *UpdateMonitorOutput { + s.Status = &v + return s +} + +// Invalid request. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +const ( + // HealthEventImpactTypeAvailability is a HealthEventImpactType enum value + HealthEventImpactTypeAvailability = "AVAILABILITY" + + // HealthEventImpactTypePerformance is a HealthEventImpactType enum value + HealthEventImpactTypePerformance = "PERFORMANCE" +) + +// HealthEventImpactType_Values returns all elements of the HealthEventImpactType enum +func HealthEventImpactType_Values() []string { + return []string{ + HealthEventImpactTypeAvailability, + HealthEventImpactTypePerformance, + } +} + +const ( + // HealthEventStatusActive is a HealthEventStatus enum value + HealthEventStatusActive = "ACTIVE" + + // HealthEventStatusResolved is a HealthEventStatus enum value + HealthEventStatusResolved = "RESOLVED" +) + +// HealthEventStatus_Values returns all elements of the HealthEventStatus enum +func HealthEventStatus_Values() []string { + return []string{ + HealthEventStatusActive, + HealthEventStatusResolved, + } +} + +const ( + // MonitorConfigStatePending is a MonitorConfigState enum value + MonitorConfigStatePending = "PENDING" + + // MonitorConfigStateActive is a MonitorConfigState enum value + MonitorConfigStateActive = "ACTIVE" + + // MonitorConfigStateInactive is a MonitorConfigState enum value + MonitorConfigStateInactive = "INACTIVE" + + // MonitorConfigStateError is a MonitorConfigState enum value + MonitorConfigStateError = "ERROR" +) + +// MonitorConfigState_Values returns all elements of the MonitorConfigState enum +func MonitorConfigState_Values() []string { + return []string{ + MonitorConfigStatePending, + MonitorConfigStateActive, + MonitorConfigStateInactive, + MonitorConfigStateError, + } +} + +const ( + // MonitorProcessingStatusCodeOk is a MonitorProcessingStatusCode enum value + MonitorProcessingStatusCodeOk = "OK" + + // MonitorProcessingStatusCodeInactive is a MonitorProcessingStatusCode enum value + MonitorProcessingStatusCodeInactive = "INACTIVE" + + // MonitorProcessingStatusCodeCollectingData is a MonitorProcessingStatusCode enum value + MonitorProcessingStatusCodeCollectingData = "COLLECTING_DATA" + + // MonitorProcessingStatusCodeInsufficientData is a MonitorProcessingStatusCode enum value + MonitorProcessingStatusCodeInsufficientData = "INSUFFICIENT_DATA" + + // MonitorProcessingStatusCodeFaultService is a MonitorProcessingStatusCode enum value + MonitorProcessingStatusCodeFaultService = "FAULT_SERVICE" + + // MonitorProcessingStatusCodeFaultAccessCloudwatch is a MonitorProcessingStatusCode enum value + MonitorProcessingStatusCodeFaultAccessCloudwatch = "FAULT_ACCESS_CLOUDWATCH" +) + +// MonitorProcessingStatusCode_Values returns all elements of the MonitorProcessingStatusCode enum +func MonitorProcessingStatusCode_Values() []string { + return []string{ + MonitorProcessingStatusCodeOk, + MonitorProcessingStatusCodeInactive, + MonitorProcessingStatusCodeCollectingData, + MonitorProcessingStatusCodeInsufficientData, + MonitorProcessingStatusCodeFaultService, + MonitorProcessingStatusCodeFaultAccessCloudwatch, + } +} + +const ( + // TriangulationEventTypeAws is a TriangulationEventType enum value + TriangulationEventTypeAws = "AWS" + + // TriangulationEventTypeInternet is a TriangulationEventType enum value + TriangulationEventTypeInternet = "Internet" +) + +// TriangulationEventType_Values returns all elements of the TriangulationEventType enum +func TriangulationEventType_Values() []string { + return []string{ + TriangulationEventTypeAws, + TriangulationEventTypeInternet, + } +} diff --git a/service/internetmonitor/doc.go b/service/internetmonitor/doc.go new file mode 100644 index 00000000000..9a06cbda0eb --- /dev/null +++ b/service/internetmonitor/doc.go @@ -0,0 +1,54 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package internetmonitor provides the client and types for making API +// requests to Amazon CloudWatch Internet Monitor. +// +// Amazon CloudWatch Internet Monitor provides visibility into how internet +// issues impact the performance and availability between your applications +// hosted on Amazon Web Services and your end users, reducing the time it takes +// for you to diagnose these issues, from days to minutes. You can explore internet +// measurements for different time frames and at different geographic granularities, +// and quickly visualize the impact of issues, and then take action to improve +// your end users' experience, for example, by switching to other Amazon Web +// Services services or rerouting traffic to your workload through differentAmazon +// Web Services Regions. +// +// If the issue is caused by the Amazon Web Services network, you'll automatically +// receive an Amazon Web Services Health Dashboard notification with the steps +// that Amazon Web Services is taking to mitigate the problem. To support integrating +// health information for geographies and networks specific to your application, +// Internet Monitor delivers measurements to CloudWatch Logs and CloudWatch +// Metrics. Internet Monitor also sends health events to Amazon EventBridge, +// so you can set up notifications. Internet Monitor monitors internet connectivity +// for your application through Amazon Virtual Private Clouds (VPCs), Amazon +// CloudFront distributions, and Amazon WorkSpaces directories. +// +// To use Internet Monitor, you create a monitor and add resources to it, Virtual +// Private Clouds (VPCs), Amazon CloudFront distributions, or WorkSpaces directories +// that show where your application's internet traffic is. Internet Monitor +// then provides internet measurements from Amazon Web Services that are specific +// to the locations and networks that communicate with your application. For +// more information, see Using Amazon CloudWatch Internet Monitor (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-InternetMonitor.html) +// in the Amazon CloudWatch User Guide. +// +// See https://docs.aws.amazon.com/goto/WebAPI/internetmonitor-2021-06-03 for more information on this service. +// +// See internetmonitor package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/internetmonitor/ +// +// # Using the Client +// +// To contact Amazon CloudWatch Internet Monitor with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the Amazon CloudWatch Internet Monitor client InternetMonitor for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/internetmonitor/#New +package internetmonitor diff --git a/service/internetmonitor/errors.go b/service/internetmonitor/errors.go new file mode 100644 index 00000000000..e6e6492d3a7 --- /dev/null +++ b/service/internetmonitor/errors.go @@ -0,0 +1,90 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package internetmonitor + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // You don't have sufficient permission to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeBadRequestException for service response error code + // "BadRequestException". + // + // A bad request was received. + ErrCodeBadRequestException = "BadRequestException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The requested resource is in use. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerErrorException for service response error code + // "InternalServerErrorException". + // + // There was an internal server error. + ErrCodeInternalServerErrorException = "InternalServerErrorException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // An internal error occurred. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeLimitExceededException for service response error code + // "LimitExceededException". + // + // The request exceeded a service quota. + ErrCodeLimitExceededException = "LimitExceededException" + + // ErrCodeNotFoundException for service response error code + // "NotFoundException". + // + // The request specifies something that doesn't exist. + ErrCodeNotFoundException = "NotFoundException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The request specifies a resource that doesn't exist. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // The request was denied due to request throttling. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeTooManyRequestsException for service response error code + // "TooManyRequestsException". + // + // There were too many requests. + ErrCodeTooManyRequestsException = "TooManyRequestsException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // Invalid request. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "BadRequestException": newErrorBadRequestException, + "ConflictException": newErrorConflictException, + "InternalServerErrorException": newErrorInternalServerErrorException, + "InternalServerException": newErrorInternalServerException, + "LimitExceededException": newErrorLimitExceededException, + "NotFoundException": newErrorNotFoundException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ThrottlingException": newErrorThrottlingException, + "TooManyRequestsException": newErrorTooManyRequestsException, + "ValidationException": newErrorValidationException, +} diff --git a/service/internetmonitor/internetmonitoriface/interface.go b/service/internetmonitor/internetmonitoriface/interface.go new file mode 100644 index 00000000000..d267bc917a3 --- /dev/null +++ b/service/internetmonitor/internetmonitoriface/interface.go @@ -0,0 +1,110 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package internetmonitoriface provides an interface to enable mocking the Amazon CloudWatch Internet Monitor service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package internetmonitoriface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/internetmonitor" +) + +// InternetMonitorAPI provides an interface to enable mocking the +// internetmonitor.InternetMonitor service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // Amazon CloudWatch Internet Monitor. +// func myFunc(svc internetmonitoriface.InternetMonitorAPI) bool { +// // Make svc.CreateMonitor request +// } +// +// func main() { +// sess := session.New() +// svc := internetmonitor.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockInternetMonitorClient struct { +// internetmonitoriface.InternetMonitorAPI +// } +// func (m *mockInternetMonitorClient) CreateMonitor(input *internetmonitor.CreateMonitorInput) (*internetmonitor.CreateMonitorOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockInternetMonitorClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type InternetMonitorAPI interface { + CreateMonitor(*internetmonitor.CreateMonitorInput) (*internetmonitor.CreateMonitorOutput, error) + CreateMonitorWithContext(aws.Context, *internetmonitor.CreateMonitorInput, ...request.Option) (*internetmonitor.CreateMonitorOutput, error) + CreateMonitorRequest(*internetmonitor.CreateMonitorInput) (*request.Request, *internetmonitor.CreateMonitorOutput) + + DeleteMonitor(*internetmonitor.DeleteMonitorInput) (*internetmonitor.DeleteMonitorOutput, error) + DeleteMonitorWithContext(aws.Context, *internetmonitor.DeleteMonitorInput, ...request.Option) (*internetmonitor.DeleteMonitorOutput, error) + DeleteMonitorRequest(*internetmonitor.DeleteMonitorInput) (*request.Request, *internetmonitor.DeleteMonitorOutput) + + GetHealthEvent(*internetmonitor.GetHealthEventInput) (*internetmonitor.GetHealthEventOutput, error) + GetHealthEventWithContext(aws.Context, *internetmonitor.GetHealthEventInput, ...request.Option) (*internetmonitor.GetHealthEventOutput, error) + GetHealthEventRequest(*internetmonitor.GetHealthEventInput) (*request.Request, *internetmonitor.GetHealthEventOutput) + + GetMonitor(*internetmonitor.GetMonitorInput) (*internetmonitor.GetMonitorOutput, error) + GetMonitorWithContext(aws.Context, *internetmonitor.GetMonitorInput, ...request.Option) (*internetmonitor.GetMonitorOutput, error) + GetMonitorRequest(*internetmonitor.GetMonitorInput) (*request.Request, *internetmonitor.GetMonitorOutput) + + ListHealthEvents(*internetmonitor.ListHealthEventsInput) (*internetmonitor.ListHealthEventsOutput, error) + ListHealthEventsWithContext(aws.Context, *internetmonitor.ListHealthEventsInput, ...request.Option) (*internetmonitor.ListHealthEventsOutput, error) + ListHealthEventsRequest(*internetmonitor.ListHealthEventsInput) (*request.Request, *internetmonitor.ListHealthEventsOutput) + + ListHealthEventsPages(*internetmonitor.ListHealthEventsInput, func(*internetmonitor.ListHealthEventsOutput, bool) bool) error + ListHealthEventsPagesWithContext(aws.Context, *internetmonitor.ListHealthEventsInput, func(*internetmonitor.ListHealthEventsOutput, bool) bool, ...request.Option) error + + ListMonitors(*internetmonitor.ListMonitorsInput) (*internetmonitor.ListMonitorsOutput, error) + ListMonitorsWithContext(aws.Context, *internetmonitor.ListMonitorsInput, ...request.Option) (*internetmonitor.ListMonitorsOutput, error) + ListMonitorsRequest(*internetmonitor.ListMonitorsInput) (*request.Request, *internetmonitor.ListMonitorsOutput) + + ListMonitorsPages(*internetmonitor.ListMonitorsInput, func(*internetmonitor.ListMonitorsOutput, bool) bool) error + ListMonitorsPagesWithContext(aws.Context, *internetmonitor.ListMonitorsInput, func(*internetmonitor.ListMonitorsOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*internetmonitor.ListTagsForResourceInput) (*internetmonitor.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *internetmonitor.ListTagsForResourceInput, ...request.Option) (*internetmonitor.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*internetmonitor.ListTagsForResourceInput) (*request.Request, *internetmonitor.ListTagsForResourceOutput) + + TagResource(*internetmonitor.TagResourceInput) (*internetmonitor.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *internetmonitor.TagResourceInput, ...request.Option) (*internetmonitor.TagResourceOutput, error) + TagResourceRequest(*internetmonitor.TagResourceInput) (*request.Request, *internetmonitor.TagResourceOutput) + + UntagResource(*internetmonitor.UntagResourceInput) (*internetmonitor.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *internetmonitor.UntagResourceInput, ...request.Option) (*internetmonitor.UntagResourceOutput, error) + UntagResourceRequest(*internetmonitor.UntagResourceInput) (*request.Request, *internetmonitor.UntagResourceOutput) + + UpdateMonitor(*internetmonitor.UpdateMonitorInput) (*internetmonitor.UpdateMonitorOutput, error) + UpdateMonitorWithContext(aws.Context, *internetmonitor.UpdateMonitorInput, ...request.Option) (*internetmonitor.UpdateMonitorOutput, error) + UpdateMonitorRequest(*internetmonitor.UpdateMonitorInput) (*request.Request, *internetmonitor.UpdateMonitorOutput) +} + +var _ InternetMonitorAPI = (*internetmonitor.InternetMonitor)(nil) diff --git a/service/internetmonitor/service.go b/service/internetmonitor/service.go new file mode 100644 index 00000000000..bf3544fdd21 --- /dev/null +++ b/service/internetmonitor/service.go @@ -0,0 +1,106 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package internetmonitor + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// InternetMonitor provides the API operation methods for making requests to +// Amazon CloudWatch Internet Monitor. See this package's package overview docs +// for details on the service. +// +// InternetMonitor methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type InternetMonitor struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "InternetMonitor" // Name of service. + EndpointsID = "internetmonitor" // ID to lookup a service endpoint with. + ServiceID = "InternetMonitor" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the InternetMonitor client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// +// mySession := session.Must(session.NewSession()) +// +// // Create a InternetMonitor client from just a session. +// svc := internetmonitor.New(mySession) +// +// // Create a InternetMonitor client with additional configuration +// svc := internetmonitor.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *InternetMonitor { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "internetmonitor" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *InternetMonitor { + svc := &InternetMonitor{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2021-06-03", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a InternetMonitor operation and runs any +// custom request initialization. +func (c *InternetMonitor) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/lambda/api.go b/service/lambda/api.go index d1f54bdb281..a6f791bea78 100644 --- a/service/lambda/api.go +++ b/service/lambda/api.go @@ -7404,9 +7404,9 @@ type AddPermissionInput struct { FunctionName *string `location:"uri" locationName:"FunctionName" min:"1" type:"string" required:"true"` // The type of authentication that your function URL uses. Set to AWS_IAM if - // you want to restrict access to authenticated IAM users only. Set to NONE - // if you want to bypass IAM authentication to create a public endpoint. For - // more information, see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + // you want to restrict access to authenticated users only. Set to NONE if you + // want to bypass IAM authentication to create a public endpoint. For more information, + // see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). FunctionUrlAuthType *string `type:"string" enum:"FunctionUrlAuthType"` // The Amazon Web Service or Amazon Web Services account that invokes the function. @@ -8478,6 +8478,9 @@ type CreateEventSourceMappingInput struct { // records. DestinationConfig *DestinationConfig `type:"structure"` + // Specific configuration settings for a DocumentDB event source. + DocumentDBEventSourceConfig *DocumentDBEventSourceConfig `type:"structure"` + // When true, the event source mapping is active. When false, Lambda pauses // polling and invocation. // @@ -8637,6 +8640,11 @@ func (s *CreateEventSourceMappingInput) Validate() error { invalidParams.AddNested("AmazonManagedKafkaEventSourceConfig", err.(request.ErrInvalidParams)) } } + if s.DocumentDBEventSourceConfig != nil { + if err := s.DocumentDBEventSourceConfig.Validate(); err != nil { + invalidParams.AddNested("DocumentDBEventSourceConfig", err.(request.ErrInvalidParams)) + } + } if s.ScalingConfig != nil { if err := s.ScalingConfig.Validate(); err != nil { invalidParams.AddNested("ScalingConfig", err.(request.ErrInvalidParams)) @@ -8693,6 +8701,12 @@ func (s *CreateEventSourceMappingInput) SetDestinationConfig(v *DestinationConfi return s } +// SetDocumentDBEventSourceConfig sets the DocumentDBEventSourceConfig field's value. +func (s *CreateEventSourceMappingInput) SetDocumentDBEventSourceConfig(v *DocumentDBEventSourceConfig) *CreateEventSourceMappingInput { + s.DocumentDBEventSourceConfig = v + return s +} + // SetEnabled sets the Enabled field's value. func (s *CreateEventSourceMappingInput) SetEnabled(v bool) *CreateEventSourceMappingInput { s.Enabled = &v @@ -8864,9 +8878,12 @@ type CreateFunctionInput struct { // that override the values in the container image Dockerfile. ImageConfig *ImageConfig `type:"structure"` - // The ARN of the Key Management Service (KMS) key that's used to encrypt your - // function's environment variables. If it's not provided, Lambda uses a default - // service key. + // The ARN of the Key Management Service (KMS) customer managed key that's used + // to encrypt your function's environment variables (https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption). + // When Lambda SnapStart (https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) + // is activated, this key is also used to encrypt your function's snapshot. + // If you don't provide a customer managed key, Lambda uses a default service + // key. KMSKeyArn *string `type:"string"` // A list of function layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) @@ -8893,6 +8910,9 @@ type CreateFunctionInput struct { // The identifier of the function's runtime (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). // Runtime is required if the deployment package is a .zip file archive. + // + // The following list includes deprecated runtimes. For more information, see + // Runtime deprecation policy (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). Runtime *string `type:"string" enum:"Runtime"` // The function's SnapStart (https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) @@ -9131,9 +9151,9 @@ type CreateFunctionUrlConfigInput struct { _ struct{} `type:"structure"` // The type of authentication that your function URL uses. Set to AWS_IAM if - // you want to restrict access to authenticated IAM users only. Set to NONE - // if you want to bypass IAM authentication to create a public endpoint. For - // more information, see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + // you want to restrict access to authenticated users only. Set to NONE if you + // want to bypass IAM authentication to create a public endpoint. For more information, + // see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). // // AuthType is a required field AuthType *string `type:"string" required:"true" enum:"FunctionUrlAuthType"` @@ -9230,9 +9250,9 @@ type CreateFunctionUrlConfigOutput struct { _ struct{} `type:"structure"` // The type of authentication that your function URL uses. Set to AWS_IAM if - // you want to restrict access to authenticated IAM users only. Set to NONE - // if you want to bypass IAM authentication to create a public endpoint. For - // more information, see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + // you want to restrict access to authenticated users only. Set to NONE if you + // want to bypass IAM authentication to create a public endpoint. For more information, + // see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). // // AuthType is a required field AuthType *string `type:"string" required:"true" enum:"FunctionUrlAuthType"` @@ -10232,6 +10252,76 @@ func (s *DestinationConfig) SetOnSuccess(v *OnSuccess) *DestinationConfig { return s } +// Specific configuration settings for a DocumentDB event source. +type DocumentDBEventSourceConfig struct { + _ struct{} `type:"structure"` + + // The name of the collection to consume within the database. If you do not + // specify a collection, Lambda consumes all collections. + CollectionName *string `min:"1" type:"string"` + + // The name of the database to consume within the DocumentDB cluster. + DatabaseName *string `min:"1" type:"string"` + + // Determines what DocumentDB sends to your event stream during document update + // operations. If set to UpdateLookup, DocumentDB sends a delta describing the + // changes, along with a copy of the entire document. Otherwise, DocumentDB + // sends only a partial document that contains the changes. + FullDocument *string `type:"string" enum:"FullDocument"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DocumentDBEventSourceConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DocumentDBEventSourceConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DocumentDBEventSourceConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DocumentDBEventSourceConfig"} + if s.CollectionName != nil && len(*s.CollectionName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CollectionName", 1)) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCollectionName sets the CollectionName field's value. +func (s *DocumentDBEventSourceConfig) SetCollectionName(v string) *DocumentDBEventSourceConfig { + s.CollectionName = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DocumentDBEventSourceConfig) SetDatabaseName(v string) *DocumentDBEventSourceConfig { + s.DatabaseName = &v + return s +} + +// SetFullDocument sets the FullDocument field's value. +func (s *DocumentDBEventSourceConfig) SetFullDocument(v string) *DocumentDBEventSourceConfig { + s.FullDocument = &v + return s +} + // Need additional permissions to configure VPC settings. type EC2AccessDeniedException struct { _ struct{} `type:"structure"` @@ -10981,6 +11071,9 @@ type EventSourceMappingConfiguration struct { // records. DestinationConfig *DestinationConfig `type:"structure"` + // Specific configuration settings for a DocumentDB event source. + DocumentDBEventSourceConfig *DocumentDBEventSourceConfig `type:"structure"` + // The Amazon Resource Name (ARN) of the event source. EventSourceArn *string `type:"string"` @@ -11122,6 +11215,12 @@ func (s *EventSourceMappingConfiguration) SetDestinationConfig(v *DestinationCon return s } +// SetDocumentDBEventSourceConfig sets the DocumentDBEventSourceConfig field's value. +func (s *EventSourceMappingConfiguration) SetDocumentDBEventSourceConfig(v *DocumentDBEventSourceConfig) *EventSourceMappingConfiguration { + s.DocumentDBEventSourceConfig = v + return s +} + // SetEventSourceArn sets the EventSourceArn field's value. func (s *EventSourceMappingConfiguration) SetEventSourceArn(v string) *EventSourceMappingConfiguration { s.EventSourceArn = &v @@ -11584,8 +11683,10 @@ type FunctionConfiguration struct { // The function's image configuration values. ImageConfigResponse *ImageConfigResponse `type:"structure"` - // The KMS key that's used to encrypt the function's environment variables. - // This key is returned only if you've configured a customer managed key. + // The KMS key that's used to encrypt the function's environment variables (https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption). + // When Lambda SnapStart (https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) + // is activated, this key is also used to encrypt the function's snapshot. This + // key is returned only if you've configured a customer managed key. KMSKeyArn *string `type:"string"` // The date and time that the function was last updated, in ISO-8601 format @@ -11973,9 +12074,9 @@ type FunctionUrlConfig struct { _ struct{} `type:"structure"` // The type of authentication that your function URL uses. Set to AWS_IAM if - // you want to restrict access to authenticated IAM users only. Set to NONE - // if you want to bypass IAM authentication to create a public endpoint. For - // more information, see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + // you want to restrict access to authenticated users only. Set to NONE if you + // want to bypass IAM authentication to create a public endpoint. For more information, + // see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). // // AuthType is a required field AuthType *string `type:"string" required:"true" enum:"FunctionUrlAuthType"` @@ -12969,9 +13070,9 @@ type GetFunctionUrlConfigOutput struct { _ struct{} `type:"structure"` // The type of authentication that your function URL uses. Set to AWS_IAM if - // you want to restrict access to authenticated IAM users only. Set to NONE - // if you want to bypass IAM authentication to create a public endpoint. For - // more information, see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + // you want to restrict access to authenticated users only. Set to NONE if you + // want to bypass IAM authentication to create a public endpoint. For more information, + // see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). // // AuthType is a required field AuthType *string `type:"string" required:"true" enum:"FunctionUrlAuthType"` @@ -13827,6 +13928,9 @@ func (s *GetRuntimeManagementConfigInput) SetQualifier(v string) *GetRuntimeMana type GetRuntimeManagementConfigOutput struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of your function. + FunctionArn *string `type:"string"` + // The ARN of the runtime the function is configured to use. If the runtime // update mode is Manual, the ARN is returned, otherwise null is returned. RuntimeVersionArn *string `min:"26" type:"string"` @@ -13853,6 +13957,12 @@ func (s GetRuntimeManagementConfigOutput) GoString() string { return s.String() } +// SetFunctionArn sets the FunctionArn field's value. +func (s *GetRuntimeManagementConfigOutput) SetFunctionArn(v string) *GetRuntimeManagementConfigOutput { + s.FunctionArn = &v + return s +} + // SetRuntimeVersionArn sets the RuntimeVersionArn field's value. func (s *GetRuntimeManagementConfigOutput) SetRuntimeVersionArn(v string) *GetRuntimeManagementConfigOutput { s.RuntimeVersionArn = &v @@ -20205,6 +20315,9 @@ type UpdateEventSourceMappingInput struct { // records. DestinationConfig *DestinationConfig `type:"structure"` + // Specific configuration settings for a DocumentDB event source. + DocumentDBEventSourceConfig *DocumentDBEventSourceConfig `type:"structure"` + // When true, the event source mapping is active. When false, Lambda pauses // polling and invocation. // @@ -20326,6 +20439,11 @@ func (s *UpdateEventSourceMappingInput) Validate() error { if s.UUID != nil && len(*s.UUID) < 1 { invalidParams.Add(request.NewErrParamMinLen("UUID", 1)) } + if s.DocumentDBEventSourceConfig != nil { + if err := s.DocumentDBEventSourceConfig.Validate(); err != nil { + invalidParams.AddNested("DocumentDBEventSourceConfig", err.(request.ErrInvalidParams)) + } + } if s.ScalingConfig != nil { if err := s.ScalingConfig.Validate(); err != nil { invalidParams.AddNested("ScalingConfig", err.(request.ErrInvalidParams)) @@ -20366,6 +20484,12 @@ func (s *UpdateEventSourceMappingInput) SetDestinationConfig(v *DestinationConfi return s } +// SetDocumentDBEventSourceConfig sets the DocumentDBEventSourceConfig field's value. +func (s *UpdateEventSourceMappingInput) SetDocumentDBEventSourceConfig(v *DocumentDBEventSourceConfig) *UpdateEventSourceMappingInput { + s.DocumentDBEventSourceConfig = v + return s +} + // SetEnabled sets the Enabled field's value. func (s *UpdateEventSourceMappingInput) SetEnabled(v bool) *UpdateEventSourceMappingInput { s.Enabled = &v @@ -20657,9 +20781,12 @@ type UpdateFunctionConfigurationInput struct { // that override the values in the container image Docker file. ImageConfig *ImageConfig `type:"structure"` - // The ARN of the Key Management Service (KMS) key that's used to encrypt your - // function's environment variables. If it's not provided, Lambda uses a default - // service key. + // The ARN of the Key Management Service (KMS) customer managed key that's used + // to encrypt your function's environment variables (https://docs.aws.amazon.com/lambda/latest/dg/configuration-envvars.html#configuration-envvars-encryption). + // When Lambda SnapStart (https://docs.aws.amazon.com/lambda/latest/dg/snapstart-security.html) + // is activated, this key is also used to encrypt your function's snapshot. + // If you don't provide a customer managed key, Lambda uses a default service + // key. KMSKeyArn *string `type:"string"` // A list of function layers (https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) @@ -20682,6 +20809,9 @@ type UpdateFunctionConfigurationInput struct { // The identifier of the function's runtime (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html). // Runtime is required if the deployment package is a .zip file archive. + // + // The following list includes deprecated runtimes. For more information, see + // Runtime deprecation policy (https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html#runtime-support-policy). Runtime *string `type:"string" enum:"Runtime"` // The function's SnapStart (https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html) @@ -21062,9 +21192,9 @@ type UpdateFunctionUrlConfigInput struct { _ struct{} `type:"structure"` // The type of authentication that your function URL uses. Set to AWS_IAM if - // you want to restrict access to authenticated IAM users only. Set to NONE - // if you want to bypass IAM authentication to create a public endpoint. For - // more information, see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + // you want to restrict access to authenticated users only. Set to NONE if you + // want to bypass IAM authentication to create a public endpoint. For more information, + // see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). AuthType *string `type:"string" enum:"FunctionUrlAuthType"` // The cross-origin resource sharing (CORS) (https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) @@ -21156,9 +21286,9 @@ type UpdateFunctionUrlConfigOutput struct { _ struct{} `type:"structure"` // The type of authentication that your function URL uses. Set to AWS_IAM if - // you want to restrict access to authenticated IAM users only. Set to NONE - // if you want to bypass IAM authentication to create a public endpoint. For - // more information, see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + // you want to restrict access to authenticated users only. Set to NONE if you + // want to bypass IAM authentication to create a public endpoint. For more information, + // see Security and auth model for Lambda function URLs (https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). // // AuthType is a required field AuthType *string `type:"string" required:"true" enum:"FunctionUrlAuthType"` @@ -21401,6 +21531,22 @@ func EventSourcePosition_Values() []string { } } +const ( + // FullDocumentUpdateLookup is a FullDocument enum value + FullDocumentUpdateLookup = "UpdateLookup" + + // FullDocumentDefault is a FullDocument enum value + FullDocumentDefault = "Default" +) + +// FullDocument_Values returns all elements of the FullDocument enum +func FullDocument_Values() []string { + return []string{ + FullDocumentUpdateLookup, + FullDocumentDefault, + } +} + const ( // FunctionResponseTypeReportBatchItemFailures is a FunctionResponseType enum value FunctionResponseTypeReportBatchItemFailures = "ReportBatchItemFailures" diff --git a/service/mediaconvert/api.go b/service/mediaconvert/api.go index 1e702efd73a..674272be66b 100644 --- a/service/mediaconvert/api.go +++ b/service/mediaconvert/api.go @@ -5201,6 +5201,65 @@ func (s *BadRequestException) RequestID() string { return s.RespMetadata.RequestID } +// The Bandwidth reduction filter increases the video quality of your output +// relative to its bitrate. Use to lower the bitrate of your constant quality +// QVBR output, with little or no perceptual decrease in quality. Or, use to +// increase the video quality of outputs with other rate control modes relative +// to the bitrate that you specify. Bandwidth reduction increases further when +// your input is low quality or noisy.Outputs that use this feature incur pro-tier +// pricing.When you include Bandwidth reduction filter, you cannot include the +// Noise reducer preprocessor. +type BandwidthReductionFilter struct { + _ struct{} `type:"structure"` + + // Optionally specify the level of sharpening to apply when you use the Bandwidth + // reduction filter. Sharpening adds contrast to the edges of your video content + // and can reduce softness. Keep the default value Off to apply no sharpening. + // Set Sharpening strength to Low to apply a minimal amount of sharpening, or + // High to apply a maximum amount of sharpening. + Sharpening *string `locationName:"sharpening" type:"string" enum:"BandwidthReductionFilterSharpening"` + + // Specify the strength of the Bandwidth reduction filter. For most workflows, + // we recommend that you choose Auto. Your output bandwidth will be reduced + // by at least 8 percent with no perceptual decrease in video quality. If your + // output bandwidth isn't constrained, set Filter strength to Low or Medium. + // Low results in minimal to no impact in perceptual quality. For more bandwidth + // reduction, choose High. The filter helps equalize quality between all scenes + // and increases video softness. We recommend that you choose High for low bitrate + // outputs. + Strength *string `locationName:"strength" type:"string" enum:"BandwidthReductionFilterStrength"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BandwidthReductionFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BandwidthReductionFilter) GoString() string { + return s.String() +} + +// SetSharpening sets the Sharpening field's value. +func (s *BandwidthReductionFilter) SetSharpening(v string) *BandwidthReductionFilter { + s.Sharpening = &v + return s +} + +// SetStrength sets the Strength field's value. +func (s *BandwidthReductionFilter) SetStrength(v string) *BandwidthReductionFilter { + s.Strength = &v + return s +} + // Burn-in is a captions delivery method, rather than a captions format. Burn-in // writes the captions directly on your video frames, replacing pixels of video // content with the captions. Set up burn-in captions in the same output as @@ -7226,14 +7285,14 @@ type CmfcSettings struct { TimedMetadataBoxVersion *string `locationName:"timedMetadataBoxVersion" type:"string" enum:"CmfcTimedMetadataBoxVersion"` // Specify the event message box (eMSG) scheme ID URI (scheme_id_uri) for ID3 - // timed metadata in your output. For more informaiton, see ISO/IEC 23009-1:2022 + // timed metadata in your output. For more information, see ISO/IEC 23009-1:2022 // section 5.10.3.3.4 Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 // When you specify a value for ID3 metadata scheme ID URI, you must also set // ID3 metadata (timedMetadata) to Passthrough. TimedMetadataSchemeIdUri *string `locationName:"timedMetadataSchemeIdUri" type:"string"` // Specify the event message box (eMSG) value for ID3 timed metadata in your - // output. For more informaiton, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 + // output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 // Semantics. When you specify a value for ID3 Metadata Value, you must also // set ID3 metadata (timedMetadata) to Passthrough. TimedMetadataValue *string `locationName:"timedMetadataValue" type:"string"` @@ -7380,6 +7439,20 @@ type ColorCorrector struct { // see https://docs.aws.amazon.com/console/mediaconvert/hdr. Hdr10Metadata *Hdr10Metadata `locationName:"hdr10Metadata" type:"structure"` + // Specify how MediaConvert maps brightness and colors from your HDR input to + // your SDR output. The mode that you select represents a creative choice, with + // different tradeoffs in the details and tones of your output. To maintain + // details in bright or saturated areas of your output: Choose Preserve details. + // For some sources, your SDR output may look less bright and less saturated + // when compared to your HDR source. MediaConvert automatically applies this + // mode for HLG sources, regardless of your choice. For a bright and saturated + // output: Choose Vibrant. We recommend that you choose this mode when any of + // your source content is HDR10, and for the best results when it is mastered + // for 1000 nits. You may notice loss of details in bright or saturated areas + // of your output. HDR to SDR tone mapping has no effect when your input is + // SDR. + HdrToSdrToneMapper *string `locationName:"hdrToSdrToneMapper" type:"string" enum:"HDRToSDRToneMapper"` + // Hue in degrees. Hue *int64 `locationName:"hue" type:"integer"` @@ -7492,6 +7565,12 @@ func (s *ColorCorrector) SetHdr10Metadata(v *Hdr10Metadata) *ColorCorrector { return s } +// SetHdrToSdrToneMapper sets the HdrToSdrToneMapper field's value. +func (s *ColorCorrector) SetHdrToSdrToneMapper(v string) *ColorCorrector { + s.HdrToSdrToneMapper = &v + return s +} + // SetHue sets the Hue field's value. func (s *ColorCorrector) SetHue(v int64) *ColorCorrector { s.Hue = &v @@ -11228,9 +11307,9 @@ func (s *EsamSignalProcessingNotification) SetSccXml(v string) *EsamSignalProces type ExtendedDataServices struct { _ struct{} `type:"structure"` - // The action to take on content advisory XDS packets. If you select PASSTHROUGH, - // packets will not be changed. If you select STRIP, any packets will be removed - // in output captions. + // The action to take on copy and redistribution control XDS packets. If you + // select PASSTHROUGH, packets will not be changed. If you select STRIP, any + // packets will be removed in output captions. CopyProtectionAction *string `locationName:"copyProtectionAction" type:"string" enum:"CopyProtectionAction"` // The action to take on content advisory XDS packets. If you select PASSTHROUGH, @@ -12189,6 +12268,16 @@ type H264Settings struct { // H264FlickerAdaptiveQuantization, H264SpatialAdaptiveQuantization, and H264TemporalAdaptiveQuantization. AdaptiveQuantization *string `locationName:"adaptiveQuantization" type:"string" enum:"H264AdaptiveQuantization"` + // The Bandwidth reduction filter increases the video quality of your output + // relative to its bitrate. Use to lower the bitrate of your constant quality + // QVBR output, with little or no perceptual decrease in quality. Or, use to + // increase the video quality of outputs with other rate control modes relative + // to the bitrate that you specify. Bandwidth reduction increases further when + // your input is low quality or noisy.Outputs that use this feature incur pro-tier + // pricing.When you include Bandwidth reduction filter, you cannot include the + // Noise reducer preprocessor. + BandwidthReductionFilter *BandwidthReductionFilter `locationName:"bandwidthReductionFilter" type:"structure"` + // Specify the average bitrate in bits per second. Required for VBR and CBR. // For MS Smooth outputs, bitrates must be unique when rounded down to the nearest // multiple of 1000. @@ -12592,6 +12681,12 @@ func (s *H264Settings) SetAdaptiveQuantization(v string) *H264Settings { return s } +// SetBandwidthReductionFilter sets the BandwidthReductionFilter field's value. +func (s *H264Settings) SetBandwidthReductionFilter(v *BandwidthReductionFilter) *H264Settings { + s.BandwidthReductionFilter = v + return s +} + // SetBitrate sets the Bitrate field's value. func (s *H264Settings) SetBitrate(v int64) *H264Settings { s.Bitrate = &v @@ -19438,14 +19533,14 @@ type MpdSettings struct { TimedMetadataBoxVersion *string `locationName:"timedMetadataBoxVersion" type:"string" enum:"MpdTimedMetadataBoxVersion"` // Specify the event message box (eMSG) scheme ID URI (scheme_id_uri) for ID3 - // timed metadata in your output. For more informaiton, see ISO/IEC 23009-1:2022 + // timed metadata in your output. For more information, see ISO/IEC 23009-1:2022 // section 5.10.3.3.4 Semantics. Leave blank to use the default value: https://aomedia.org/emsg/ID3 // When you specify a value for ID3 metadata scheme ID URI, you must also set // ID3 metadata (timedMetadata) to Passthrough. TimedMetadataSchemeIdUri *string `locationName:"timedMetadataSchemeIdUri" type:"string"` // Specify the event message box (eMSG) value for ID3 timed metadata in your - // output. For more informaiton, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 + // output. For more information, see ISO/IEC 23009-1:2022 section 5.10.3.3.4 // Semantics. When you specify a value for ID3 Metadata Value, you must also // set ID3 metadata (timedMetadata) to Passthrough. TimedMetadataValue *string `locationName:"timedMetadataValue" type:"string"` @@ -20722,11 +20817,11 @@ func (s *NielsenNonLinearWatermarkSettings) SetUniqueTicPerAudioTrack(v string) return s } -// Enable the Noise reducer (NoiseReducer) feature to remove noise from your -// video output if necessary. Enable or disable this feature for each output -// individually. This setting is disabled by default. When you enable Noise -// reducer (NoiseReducer), you must also select a value for Noise reducer filter -// (NoiseReducerFilter). +// Enable the Noise reducer feature to remove noise from your video output if +// necessary. Enable or disable this feature for each output individually. This +// setting is disabled by default. When you enable Noise reducer, you must also +// select a value for Noise reducer filter. For AVC outputs, when you include +// Noise reducer, you cannot include the Bandwidth reduction filter. type NoiseReducer struct { _ struct{} `type:"structure"` @@ -25170,9 +25265,11 @@ type VideoPreprocessor struct { // This setting is disabled by default. ImageInserter *ImageInserter `locationName:"imageInserter" type:"structure"` - // Enable the Noise reducer (NoiseReducer) feature to remove noise from your - // video output if necessary. Enable or disable this feature for each output - // individually. This setting is disabled by default. + // Enable the Noise reducer feature to remove noise from your video output if + // necessary. Enable or disable this feature for each output individually. This + // setting is disabled by default. When you enable Noise reducer, you must also + // select a value for Noise reducer filter. For AVC outputs, when you include + // Noise reducer, you cannot include the Bandwidth reduction filter. NoiseReducer *NoiseReducer `locationName:"noiseReducer" type:"structure"` // If you work with a third party video watermarking partner, use the group @@ -28147,6 +28244,71 @@ func AvcIntraUhdQualityTuningLevel_Values() []string { } } +// Optionally specify the level of sharpening to apply when you use the Bandwidth +// reduction filter. Sharpening adds contrast to the edges of your video content +// and can reduce softness. Keep the default value Off to apply no sharpening. +// Set Sharpening strength to Low to apply a minimal amount of sharpening, or +// High to apply a maximum amount of sharpening. +const ( + // BandwidthReductionFilterSharpeningLow is a BandwidthReductionFilterSharpening enum value + BandwidthReductionFilterSharpeningLow = "LOW" + + // BandwidthReductionFilterSharpeningMedium is a BandwidthReductionFilterSharpening enum value + BandwidthReductionFilterSharpeningMedium = "MEDIUM" + + // BandwidthReductionFilterSharpeningHigh is a BandwidthReductionFilterSharpening enum value + BandwidthReductionFilterSharpeningHigh = "HIGH" + + // BandwidthReductionFilterSharpeningOff is a BandwidthReductionFilterSharpening enum value + BandwidthReductionFilterSharpeningOff = "OFF" +) + +// BandwidthReductionFilterSharpening_Values returns all elements of the BandwidthReductionFilterSharpening enum +func BandwidthReductionFilterSharpening_Values() []string { + return []string{ + BandwidthReductionFilterSharpeningLow, + BandwidthReductionFilterSharpeningMedium, + BandwidthReductionFilterSharpeningHigh, + BandwidthReductionFilterSharpeningOff, + } +} + +// Specify the strength of the Bandwidth reduction filter. For most workflows, +// we recommend that you choose Auto. Your output bandwidth will be reduced +// by at least 8 percent with no perceptual decrease in video quality. If your +// output bandwidth isn't constrained, set Filter strength to Low or Medium. +// Low results in minimal to no impact in perceptual quality. For more bandwidth +// reduction, choose High. The filter helps equalize quality between all scenes +// and increases video softness. We recommend that you choose High for low bitrate +// outputs. +const ( + // BandwidthReductionFilterStrengthLow is a BandwidthReductionFilterStrength enum value + BandwidthReductionFilterStrengthLow = "LOW" + + // BandwidthReductionFilterStrengthMedium is a BandwidthReductionFilterStrength enum value + BandwidthReductionFilterStrengthMedium = "MEDIUM" + + // BandwidthReductionFilterStrengthHigh is a BandwidthReductionFilterStrength enum value + BandwidthReductionFilterStrengthHigh = "HIGH" + + // BandwidthReductionFilterStrengthAuto is a BandwidthReductionFilterStrength enum value + BandwidthReductionFilterStrengthAuto = "AUTO" + + // BandwidthReductionFilterStrengthOff is a BandwidthReductionFilterStrength enum value + BandwidthReductionFilterStrengthOff = "OFF" +) + +// BandwidthReductionFilterStrength_Values returns all elements of the BandwidthReductionFilterStrength enum +func BandwidthReductionFilterStrength_Values() []string { + return []string{ + BandwidthReductionFilterStrengthLow, + BandwidthReductionFilterStrengthMedium, + BandwidthReductionFilterStrengthHigh, + BandwidthReductionFilterStrengthAuto, + BandwidthReductionFilterStrengthOff, + } +} + // The tag type that AWS Billing and Cost Management will use to sort your AWS // Elemental MediaConvert costs on any billing report that you set up. const ( @@ -29428,9 +29590,9 @@ func ContainerType_Values() []string { } } -// The action to take on content advisory XDS packets. If you select PASSTHROUGH, -// packets will not be changed. If you select STRIP, any packets will be removed -// in output captions. +// The action to take on copy and redistribution control XDS packets. If you +// select PASSTHROUGH, packets will not be changed. If you select STRIP, any +// packets will be removed in output captions. const ( // CopyProtectionActionPassthrough is a CopyProtectionAction enum value CopyProtectionActionPassthrough = "PASSTHROUGH" @@ -32419,6 +32581,34 @@ func H265WriteMp4PackagingType_Values() []string { } } +// Specify how MediaConvert maps brightness and colors from your HDR input to +// your SDR output. The mode that you select represents a creative choice, with +// different tradeoffs in the details and tones of your output. To maintain +// details in bright or saturated areas of your output: Choose Preserve details. +// For some sources, your SDR output may look less bright and less saturated +// when compared to your HDR source. MediaConvert automatically applies this +// mode for HLG sources, regardless of your choice. For a bright and saturated +// output: Choose Vibrant. We recommend that you choose this mode when any of +// your source content is HDR10, and for the best results when it is mastered +// for 1000 nits. You may notice loss of details in bright or saturated areas +// of your output. HDR to SDR tone mapping has no effect when your input is +// SDR. +const ( + // HDRToSDRToneMapperPreserveDetails is a HDRToSDRToneMapper enum value + HDRToSDRToneMapperPreserveDetails = "PRESERVE_DETAILS" + + // HDRToSDRToneMapperVibrant is a HDRToSDRToneMapper enum value + HDRToSDRToneMapperVibrant = "VIBRANT" +) + +// HDRToSDRToneMapper_Values returns all elements of the HDRToSDRToneMapper enum +func HDRToSDRToneMapper_Values() []string { + return []string{ + HDRToSDRToneMapperPreserveDetails, + HDRToSDRToneMapperVibrant, + } +} + // Ad marker for Apple HLS manifest. const ( // HlsAdMarkersElemental is a HlsAdMarkers enum value diff --git a/service/timestreamwrite/api.go b/service/timestreamwrite/api.go index b185b9e3fba..68066f33a98 100644 --- a/service/timestreamwrite/api.go +++ b/service/timestreamwrite/api.go @@ -16,6 +16,141 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" ) +const opCreateBatchLoadTask = "CreateBatchLoadTask" + +// CreateBatchLoadTaskRequest generates a "aws/request.Request" representing the +// client's request for the CreateBatchLoadTask operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateBatchLoadTask for more information on using the CreateBatchLoadTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateBatchLoadTaskRequest method. +// req, resp := client.CreateBatchLoadTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/CreateBatchLoadTask +func (c *TimestreamWrite) CreateBatchLoadTaskRequest(input *CreateBatchLoadTaskInput) (req *request.Request, output *CreateBatchLoadTaskOutput) { + op := &request.Operation{ + Name: opCreateBatchLoadTask, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateBatchLoadTaskInput{} + } + + output = &CreateBatchLoadTaskOutput{} + req = c.newRequest(op, input, output) + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { + de := discovererDescribeEndpoints{ + Required: true, + EndpointCache: c.endpointCache, + Params: map[string]*string{ + "op": aws.String(req.Operation.Name), + }, + Client: c, + } + + for k, v := range de.Params { + if v == nil { + delete(de.Params, k) + } + } + + req.Handlers.Build.PushFrontNamed(request.NamedHandler{ + Name: "crr.endpointdiscovery", + Fn: de.Handler, + }) + } + return +} + +// CreateBatchLoadTask API operation for Amazon Timestream Write. +// +// Creates a new Timestream batch load task. A batch load task processes data +// from a CSV source in an S3 location and writes to a Timestream table. A mapping +// from source to target is defined in a batch load task. Errors and events +// are written to a report at an S3 location. For the report, if the KMS key +// is not specified, the batch load task will be encrypted with a Timestream +// managed KMS key located in your account. For more information, see Amazon +// Web Services managed keys (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk). +// Service quotas apply (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html). +// For details, see code sample (https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.create-batch-load.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Timestream Write's +// API operation CreateBatchLoadTask for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// Timestream was unable to fully process this request because of an internal +// server error. +// +// - ThrottlingException +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. +// +// - AccessDeniedException +// You are not authorized to perform this action. +// +// - ValidationException +// An invalid or malformed request. +// +// - ConflictException +// Timestream was unable to process this request because it contains resource +// that already exists. +// +// - ResourceNotFoundException +// The operation tried to access a nonexistent resource. The resource might +// not be specified correctly, or its status might not be ACTIVE. +// +// - ServiceQuotaExceededException +// The instance quota of resource exceeded for this account. +// +// - InvalidEndpointException +// The requested endpoint was not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/CreateBatchLoadTask +func (c *TimestreamWrite) CreateBatchLoadTask(input *CreateBatchLoadTaskInput) (*CreateBatchLoadTaskOutput, error) { + req, out := c.CreateBatchLoadTaskRequest(input) + return out, req.Send() +} + +// CreateBatchLoadTaskWithContext is the same as CreateBatchLoadTask with the addition of +// the ability to pass a context and additional request options. +// +// See CreateBatchLoadTask for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *TimestreamWrite) CreateBatchLoadTaskWithContext(ctx aws.Context, input *CreateBatchLoadTaskInput, opts ...request.Option) (*CreateBatchLoadTaskOutput, error) { + req, out := c.CreateBatchLoadTaskRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDatabase = "CreateDatabase" // CreateDatabaseRequest generates a "aws/request.Request" representing the @@ -84,10 +219,9 @@ func (c *TimestreamWrite) CreateDatabaseRequest(input *CreateDatabaseInput) (req // // Creates a new Timestream database. If the KMS key is not specified, the database // will be encrypted with a Timestream managed KMS key located in your account. -// Refer to Amazon Web Services managed KMS keys (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) -// for more info. Service quotas apply (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html). -// See code sample (https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.create-db.html) -// for details. +// For more information, see Amazon Web Services managed keys (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk). +// Service quotas apply (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html). +// For details, see code sample (https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.create-db.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -103,27 +237,27 @@ func (c *TimestreamWrite) CreateDatabaseRequest(input *CreateDatabaseInput) (req // that already exists. // // - ValidationException -// Invalid or malformed request. +// An invalid or malformed request. // // - AccessDeniedException // You are not authorized to perform this action. // // - ServiceQuotaExceededException -// Instance quota of resource exceeded for this account. +// The instance quota of resource exceeded for this account. // // - ThrottlingException -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // // - InternalServerException // Timestream was unable to fully process this request because of an internal // server error. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/CreateDatabase func (c *TimestreamWrite) CreateDatabase(input *CreateDatabaseInput) (*CreateDatabaseOutput, error) { @@ -213,12 +347,12 @@ func (c *TimestreamWrite) CreateTableRequest(input *CreateTableInput) (req *requ // CreateTable API operation for Amazon Timestream Write. // -// The CreateTable operation adds a new table to an existing database in your -// account. In an Amazon Web Services account, table names must be at least -// unique within each Region if they are in the same database. You may have -// identical table names in the same Region if the tables are in separate databases. -// While creating the table, you must specify the table name, database name, -// and the retention properties. Service quotas apply (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html). +// Adds a new table to an existing database in your account. In an Amazon Web +// Services account, table names must be at least unique within each Region +// if they are in the same database. You might have identical table names in +// the same Region if the tables are in separate databases. While creating the +// table, you must specify the table name, database name, and the retention +// properties. Service quotas apply (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html). // See code sample (https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.create-table.html) // for details. // @@ -236,7 +370,7 @@ func (c *TimestreamWrite) CreateTableRequest(input *CreateTableInput) (req *requ // that already exists. // // - ValidationException -// Invalid or malformed request. +// An invalid or malformed request. // // - AccessDeniedException // You are not authorized to perform this action. @@ -246,21 +380,21 @@ func (c *TimestreamWrite) CreateTableRequest(input *CreateTableInput) (req *requ // not be specified correctly, or its status might not be ACTIVE. // // - ServiceQuotaExceededException -// Instance quota of resource exceeded for this account. +// The instance quota of resource exceeded for this account. // // - ThrottlingException -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // // - InternalServerException // Timestream was unable to fully process this request because of an internal // server error. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/CreateTable func (c *TimestreamWrite) CreateTable(input *CreateTableInput) (*CreateTableOutput, error) { @@ -352,7 +486,7 @@ func (c *TimestreamWrite) DeleteDatabaseRequest(input *DeleteDatabaseInput) (req // DeleteDatabase API operation for Amazon Timestream Write. // // Deletes a given Timestream database. This is an irreversible operation. After -// a database is deleted, the time series data from its tables cannot be recovered. +// a database is deleted, the time-series data from its tables cannot be recovered. // // All tables in the database must be deleted first, or a ValidationException // error will be thrown. @@ -377,21 +511,21 @@ func (c *TimestreamWrite) DeleteDatabaseRequest(input *DeleteDatabaseInput) (req // server error. // // - ThrottlingException -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. // // - ResourceNotFoundException // The operation tried to access a nonexistent resource. The resource might // not be specified correctly, or its status might not be ACTIVE. // // - ValidationException -// Invalid or malformed request. +// An invalid or malformed request. // // - AccessDeniedException // You are not authorized to perform this action. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/DeleteDatabase func (c *TimestreamWrite) DeleteDatabase(input *DeleteDatabaseInput) (*DeleteDatabaseOutput, error) { @@ -483,7 +617,7 @@ func (c *TimestreamWrite) DeleteTableRequest(input *DeleteTableInput) (req *requ // DeleteTable API operation for Amazon Timestream Write. // // Deletes a given Timestream table. This is an irreversible operation. After -// a Timestream database table is deleted, the time series data stored in the +// a Timestream database table is deleted, the time-series data stored in the // table cannot be recovered. // // Due to the nature of distributed retries, the operation can return either @@ -506,11 +640,11 @@ func (c *TimestreamWrite) DeleteTableRequest(input *DeleteTableInput) (req *requ // server error. // // - ThrottlingException -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. // // - ValidationException -// Invalid or malformed request. +// An invalid or malformed request. // // - ResourceNotFoundException // The operation tried to access a nonexistent resource. The resource might @@ -520,7 +654,7 @@ func (c *TimestreamWrite) DeleteTableRequest(input *DeleteTableInput) (req *requ // You are not authorized to perform this action. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/DeleteTable func (c *TimestreamWrite) DeleteTable(input *DeleteTableInput) (*DeleteTableOutput, error) { @@ -544,6 +678,126 @@ func (c *TimestreamWrite) DeleteTableWithContext(ctx aws.Context, input *DeleteT return out, req.Send() } +const opDescribeBatchLoadTask = "DescribeBatchLoadTask" + +// DescribeBatchLoadTaskRequest generates a "aws/request.Request" representing the +// client's request for the DescribeBatchLoadTask operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeBatchLoadTask for more information on using the DescribeBatchLoadTask +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeBatchLoadTaskRequest method. +// req, resp := client.DescribeBatchLoadTaskRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/DescribeBatchLoadTask +func (c *TimestreamWrite) DescribeBatchLoadTaskRequest(input *DescribeBatchLoadTaskInput) (req *request.Request, output *DescribeBatchLoadTaskOutput) { + op := &request.Operation{ + Name: opDescribeBatchLoadTask, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeBatchLoadTaskInput{} + } + + output = &DescribeBatchLoadTaskOutput{} + req = c.newRequest(op, input, output) + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { + de := discovererDescribeEndpoints{ + Required: true, + EndpointCache: c.endpointCache, + Params: map[string]*string{ + "op": aws.String(req.Operation.Name), + }, + Client: c, + } + + for k, v := range de.Params { + if v == nil { + delete(de.Params, k) + } + } + + req.Handlers.Build.PushFrontNamed(request.NamedHandler{ + Name: "crr.endpointdiscovery", + Fn: de.Handler, + }) + } + return +} + +// DescribeBatchLoadTask API operation for Amazon Timestream Write. +// +// Returns information about the batch load task, including configurations, +// mappings, progress, and other details. Service quotas apply (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html). +// See code sample (https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.describe-batch-load.html) +// for details. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Timestream Write's +// API operation DescribeBatchLoadTask for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// Timestream was unable to fully process this request because of an internal +// server error. +// +// - ThrottlingException +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. +// +// - AccessDeniedException +// You are not authorized to perform this action. +// +// - ResourceNotFoundException +// The operation tried to access a nonexistent resource. The resource might +// not be specified correctly, or its status might not be ACTIVE. +// +// - InvalidEndpointException +// The requested endpoint was not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/DescribeBatchLoadTask +func (c *TimestreamWrite) DescribeBatchLoadTask(input *DescribeBatchLoadTaskInput) (*DescribeBatchLoadTaskOutput, error) { + req, out := c.DescribeBatchLoadTaskRequest(input) + return out, req.Send() +} + +// DescribeBatchLoadTaskWithContext is the same as DescribeBatchLoadTask with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeBatchLoadTask for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *TimestreamWrite) DescribeBatchLoadTaskWithContext(ctx aws.Context, input *DescribeBatchLoadTaskInput, opts ...request.Option) (*DescribeBatchLoadTaskOutput, error) { + req, out := c.DescribeBatchLoadTaskRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeDatabase = "DescribeDatabase" // DescribeDatabaseRequest generates a "aws/request.Request" representing the @@ -630,21 +884,21 @@ func (c *TimestreamWrite) DescribeDatabaseRequest(input *DescribeDatabaseInput) // not be specified correctly, or its status might not be ACTIVE. // // - ValidationException -// Invalid or malformed request. +// An invalid or malformed request. // // - AccessDeniedException // You are not authorized to perform this action. // // - ThrottlingException -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. // // - InternalServerException // Timestream was unable to fully process this request because of an internal // server error. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/DescribeDatabase func (c *TimestreamWrite) DescribeDatabase(input *DescribeDatabaseInput) (*DescribeDatabaseOutput, error) { @@ -711,12 +965,12 @@ func (c *TimestreamWrite) DescribeEndpointsRequest(input *DescribeEndpointsInput // DescribeEndpoints API operation for Amazon Timestream Write. // -// DescribeEndpoints returns a list of available endpoints to make Timestream -// API calls against. This API is available through both Write and Query. +// Returns a list of available endpoints to make Timestream API calls against. +// This API operation is available through both the Write and Query APIs. // // Because the Timestream SDKs are designed to transparently work with the service’s // architecture, including the management and mapping of the service endpoints, -// it is not recommended that you use this API unless: +// we don't recommend that you use this API operation unless: // // - You are using VPC endpoints (Amazon Web Services PrivateLink) with Timestream // (https://docs.aws.amazon.com/timestream/latest/developerguide/VPCEndpoints) @@ -743,11 +997,11 @@ func (c *TimestreamWrite) DescribeEndpointsRequest(input *DescribeEndpointsInput // server error. // // - ValidationException -// Invalid or malformed request. +// An invalid or malformed request. // // - ThrottlingException -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. // // See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/DescribeEndpoints func (c *TimestreamWrite) DescribeEndpoints(input *DescribeEndpointsInput) (*DescribeEndpointsOutput, error) { @@ -929,21 +1183,21 @@ func (c *TimestreamWrite) DescribeTableRequest(input *DescribeTableInput) (req * // not be specified correctly, or its status might not be ACTIVE. // // - ValidationException -// Invalid or malformed request. +// An invalid or malformed request. // // - AccessDeniedException // You are not authorized to perform this action. // // - ThrottlingException -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. // // - InternalServerException // Timestream was unable to fully process this request because of an internal // server error. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/DescribeTable func (c *TimestreamWrite) DescribeTable(input *DescribeTableInput) (*DescribeTableOutput, error) { @@ -967,34 +1221,34 @@ func (c *TimestreamWrite) DescribeTableWithContext(ctx aws.Context, input *Descr return out, req.Send() } -const opListDatabases = "ListDatabases" +const opListBatchLoadTasks = "ListBatchLoadTasks" -// ListDatabasesRequest generates a "aws/request.Request" representing the -// client's request for the ListDatabases operation. The "output" return +// ListBatchLoadTasksRequest generates a "aws/request.Request" representing the +// client's request for the ListBatchLoadTasks operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListDatabases for more information on using the ListDatabases +// See ListBatchLoadTasks for more information on using the ListBatchLoadTasks // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListDatabasesRequest method. -// req, resp := client.ListDatabasesRequest(params) +// // Example sending a request using the ListBatchLoadTasksRequest method. +// req, resp := client.ListBatchLoadTasksRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListDatabases -func (c *TimestreamWrite) ListDatabasesRequest(input *ListDatabasesInput) (req *request.Request, output *ListDatabasesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListBatchLoadTasks +func (c *TimestreamWrite) ListBatchLoadTasksRequest(input *ListBatchLoadTasksInput) (req *request.Request, output *ListBatchLoadTasksOutput) { op := &request.Operation{ - Name: opListDatabases, + Name: opListBatchLoadTasks, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -1006,10 +1260,10 @@ func (c *TimestreamWrite) ListDatabasesRequest(input *ListDatabasesInput) (req * } if input == nil { - input = &ListDatabasesInput{} + input = &ListBatchLoadTasksInput{} } - output = &ListDatabasesOutput{} + output = &ListBatchLoadTasksOutput{} req = c.newRequest(op, input, output) // if custom endpoint for the request is set to a non empty string, // we skip the endpoint discovery workflow. @@ -1037,10 +1291,10 @@ func (c *TimestreamWrite) ListDatabasesRequest(input *ListDatabasesInput) (req * return } -// ListDatabases API operation for Amazon Timestream Write. +// ListBatchLoadTasks API operation for Amazon Timestream Write. // -// Returns a list of your Timestream databases. Service quotas apply (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html). -// See code sample (https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.list-db.html) +// Provides a list of batch load tasks, along with the name, status, when the +// task is resumable until, and other details. See code sample (https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.list-batch-load-tasks.html) // for details. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1048,7 +1302,7 @@ func (c *TimestreamWrite) ListDatabasesRequest(input *ListDatabasesInput) (req * // the error. // // See the AWS API reference guide for Amazon Timestream Write's -// API operation ListDatabases for usage and error information. +// API operation ListBatchLoadTasks for usage and error information. // // Returned Error Types: // @@ -1056,77 +1310,77 @@ func (c *TimestreamWrite) ListDatabasesRequest(input *ListDatabasesInput) (req * // Timestream was unable to fully process this request because of an internal // server error. // +// - AccessDeniedException +// You are not authorized to perform this action. +// // - ThrottlingException -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. // // - ValidationException -// Invalid or malformed request. -// -// - AccessDeniedException -// You are not authorized to perform this action. +// An invalid or malformed request. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListDatabases -func (c *TimestreamWrite) ListDatabases(input *ListDatabasesInput) (*ListDatabasesOutput, error) { - req, out := c.ListDatabasesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListBatchLoadTasks +func (c *TimestreamWrite) ListBatchLoadTasks(input *ListBatchLoadTasksInput) (*ListBatchLoadTasksOutput, error) { + req, out := c.ListBatchLoadTasksRequest(input) return out, req.Send() } -// ListDatabasesWithContext is the same as ListDatabases with the addition of +// ListBatchLoadTasksWithContext is the same as ListBatchLoadTasks with the addition of // the ability to pass a context and additional request options. // -// See ListDatabases for details on how to use this API operation. +// See ListBatchLoadTasks for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *TimestreamWrite) ListDatabasesWithContext(ctx aws.Context, input *ListDatabasesInput, opts ...request.Option) (*ListDatabasesOutput, error) { - req, out := c.ListDatabasesRequest(input) +func (c *TimestreamWrite) ListBatchLoadTasksWithContext(ctx aws.Context, input *ListBatchLoadTasksInput, opts ...request.Option) (*ListBatchLoadTasksOutput, error) { + req, out := c.ListBatchLoadTasksRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListDatabasesPages iterates over the pages of a ListDatabases operation, +// ListBatchLoadTasksPages iterates over the pages of a ListBatchLoadTasks operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListDatabases method for more information on how to use this operation. +// See ListBatchLoadTasks 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 ListDatabases operation. +// // Example iterating over at most 3 pages of a ListBatchLoadTasks operation. // pageNum := 0 -// err := client.ListDatabasesPages(params, -// func(page *timestreamwrite.ListDatabasesOutput, lastPage bool) bool { +// err := client.ListBatchLoadTasksPages(params, +// func(page *timestreamwrite.ListBatchLoadTasksOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *TimestreamWrite) ListDatabasesPages(input *ListDatabasesInput, fn func(*ListDatabasesOutput, bool) bool) error { - return c.ListDatabasesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *TimestreamWrite) ListBatchLoadTasksPages(input *ListBatchLoadTasksInput, fn func(*ListBatchLoadTasksOutput, bool) bool) error { + return c.ListBatchLoadTasksPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListDatabasesPagesWithContext same as ListDatabasesPages except +// ListBatchLoadTasksPagesWithContext same as ListBatchLoadTasksPages 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 *TimestreamWrite) ListDatabasesPagesWithContext(ctx aws.Context, input *ListDatabasesInput, fn func(*ListDatabasesOutput, bool) bool, opts ...request.Option) error { +func (c *TimestreamWrite) ListBatchLoadTasksPagesWithContext(ctx aws.Context, input *ListBatchLoadTasksInput, fn func(*ListBatchLoadTasksOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListDatabasesInput + var inCpy *ListBatchLoadTasksInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListDatabasesRequest(inCpy) + req, _ := c.ListBatchLoadTasksRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1134,7 +1388,7 @@ func (c *TimestreamWrite) ListDatabasesPagesWithContext(ctx aws.Context, input * } for p.Next() { - if !fn(p.Page().(*ListDatabasesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListBatchLoadTasksOutput), !p.HasNextPage()) { break } } @@ -1142,34 +1396,34 @@ func (c *TimestreamWrite) ListDatabasesPagesWithContext(ctx aws.Context, input * return p.Err() } -const opListTables = "ListTables" +const opListDatabases = "ListDatabases" -// ListTablesRequest generates a "aws/request.Request" representing the -// client's request for the ListTables operation. The "output" return +// ListDatabasesRequest generates a "aws/request.Request" representing the +// client's request for the ListDatabases operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListTables for more information on using the ListTables +// See ListDatabases for more information on using the ListDatabases // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListTablesRequest method. -// req, resp := client.ListTablesRequest(params) +// // Example sending a request using the ListDatabasesRequest method. +// req, resp := client.ListDatabasesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListTables -func (c *TimestreamWrite) ListTablesRequest(input *ListTablesInput) (req *request.Request, output *ListTablesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListDatabases +func (c *TimestreamWrite) ListDatabasesRequest(input *ListDatabasesInput) (req *request.Request, output *ListDatabasesOutput) { op := &request.Operation{ - Name: opListTables, + Name: opListDatabases, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -1181,7 +1435,182 @@ func (c *TimestreamWrite) ListTablesRequest(input *ListTablesInput) (req *reques } if input == nil { - input = &ListTablesInput{} + input = &ListDatabasesInput{} + } + + output = &ListDatabasesOutput{} + req = c.newRequest(op, input, output) + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { + de := discovererDescribeEndpoints{ + Required: true, + EndpointCache: c.endpointCache, + Params: map[string]*string{ + "op": aws.String(req.Operation.Name), + }, + Client: c, + } + + for k, v := range de.Params { + if v == nil { + delete(de.Params, k) + } + } + + req.Handlers.Build.PushFrontNamed(request.NamedHandler{ + Name: "crr.endpointdiscovery", + Fn: de.Handler, + }) + } + return +} + +// ListDatabases API operation for Amazon Timestream Write. +// +// Returns a list of your Timestream databases. Service quotas apply (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html). +// See code sample (https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.list-db.html) +// for details. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Timestream Write's +// API operation ListDatabases for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// Timestream was unable to fully process this request because of an internal +// server error. +// +// - ThrottlingException +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. +// +// - ValidationException +// An invalid or malformed request. +// +// - AccessDeniedException +// You are not authorized to perform this action. +// +// - InvalidEndpointException +// The requested endpoint was not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListDatabases +func (c *TimestreamWrite) ListDatabases(input *ListDatabasesInput) (*ListDatabasesOutput, error) { + req, out := c.ListDatabasesRequest(input) + return out, req.Send() +} + +// ListDatabasesWithContext is the same as ListDatabases with the addition of +// the ability to pass a context and additional request options. +// +// See ListDatabases for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *TimestreamWrite) ListDatabasesWithContext(ctx aws.Context, input *ListDatabasesInput, opts ...request.Option) (*ListDatabasesOutput, error) { + req, out := c.ListDatabasesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDatabasesPages iterates over the pages of a ListDatabases operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDatabases method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListDatabases operation. +// pageNum := 0 +// err := client.ListDatabasesPages(params, +// func(page *timestreamwrite.ListDatabasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *TimestreamWrite) ListDatabasesPages(input *ListDatabasesInput, fn func(*ListDatabasesOutput, bool) bool) error { + return c.ListDatabasesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDatabasesPagesWithContext same as ListDatabasesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *TimestreamWrite) ListDatabasesPagesWithContext(ctx aws.Context, input *ListDatabasesInput, fn func(*ListDatabasesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDatabasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDatabasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDatabasesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTables = "ListTables" + +// ListTablesRequest generates a "aws/request.Request" representing the +// client's request for the ListTables operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTables for more information on using the ListTables +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListTablesRequest method. +// req, resp := client.ListTablesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListTables +func (c *TimestreamWrite) ListTablesRequest(input *ListTablesInput) (req *request.Request, output *ListTablesOutput) { + op := &request.Operation{ + Name: opListTables, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTablesInput{} } output = &ListTablesOutput{} @@ -1214,8 +1643,8 @@ func (c *TimestreamWrite) ListTablesRequest(input *ListTablesInput) (req *reques // ListTables API operation for Amazon Timestream Write. // -// A list of tables, along with the name, status and retention properties of -// each table. See code sample (https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.list-table.html) +// Provides a list of tables, along with the name, status, and retention properties +// of each table. See code sample (https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.list-table.html) // for details. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1232,11 +1661,11 @@ func (c *TimestreamWrite) ListTablesRequest(input *ListTablesInput) (req *reques // server error. // // - ThrottlingException -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. // // - ValidationException -// Invalid or malformed request. +// An invalid or malformed request. // // - ResourceNotFoundException // The operation tried to access a nonexistent resource. The resource might @@ -1246,7 +1675,7 @@ func (c *TimestreamWrite) ListTablesRequest(input *ListTablesInput) (req *reques // You are not authorized to perform this action. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListTables func (c *TimestreamWrite) ListTables(input *ListTablesInput) (*ListTablesOutput, error) { @@ -1387,7 +1816,7 @@ func (c *TimestreamWrite) ListTagsForResourceRequest(input *ListTagsForResourceI // ListTagsForResource API operation for Amazon Timestream Write. // -// List all tags on a Timestream resource. +// Lists all tags on a Timestream 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 @@ -1403,14 +1832,14 @@ func (c *TimestreamWrite) ListTagsForResourceRequest(input *ListTagsForResourceI // not be specified correctly, or its status might not be ACTIVE. // // - ThrottlingException -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. // // - ValidationException -// Invalid or malformed request. +// An invalid or malformed request. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ListTagsForResource func (c *TimestreamWrite) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { @@ -1434,43 +1863,43 @@ func (c *TimestreamWrite) ListTagsForResourceWithContext(ctx aws.Context, input return out, req.Send() } -const opTagResource = "TagResource" +const opResumeBatchLoadTask = "ResumeBatchLoadTask" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// ResumeBatchLoadTaskRequest generates a "aws/request.Request" representing the +// client's request for the ResumeBatchLoadTask operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the 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 ResumeBatchLoadTask for more information on using the ResumeBatchLoadTask // API call, and error handling. // // This method is useful when you want to 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 ResumeBatchLoadTaskRequest method. +// req, resp := client.ResumeBatchLoadTaskRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/TagResource -func (c *TimestreamWrite) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ResumeBatchLoadTask +func (c *TimestreamWrite) ResumeBatchLoadTaskRequest(input *ResumeBatchLoadTaskInput) (req *request.Request, output *ResumeBatchLoadTaskOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opResumeBatchLoadTask, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &TagResourceInput{} + input = &ResumeBatchLoadTaskInput{} } - output = &TagResourceOutput{} + output = &ResumeBatchLoadTaskOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) // if custom endpoint for the request is set to a non empty string, @@ -1499,97 +1928,97 @@ func (c *TimestreamWrite) TagResourceRequest(input *TagResourceInput) (req *requ return } -// TagResource API operation for Amazon Timestream Write. -// -// Associate a set of tags with a Timestream resource. You can then activate -// these user-defined tags so that they appear on the Billing and Cost Management -// console for cost allocation tracking. +// ResumeBatchLoadTask API operation for Amazon Timestream Write. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Timestream Write's -// API operation TagResource for usage and error information. +// API operation ResumeBatchLoadTask for usage and error information. // // Returned Error Types: // -// - ResourceNotFoundException -// The operation tried to access a nonexistent resource. The resource might -// not be specified correctly, or its status might not be ACTIVE. -// -// - ServiceQuotaExceededException -// Instance quota of resource exceeded for this account. +// - InternalServerException +// Timestream was unable to fully process this request because of an internal +// server error. // // - ThrottlingException -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. +// +// - AccessDeniedException +// You are not authorized to perform this action. // // - ValidationException -// Invalid or malformed request. +// An invalid or malformed request. +// +// - ResourceNotFoundException +// The operation tried to access a nonexistent resource. The resource might +// not be specified correctly, or its status might not be ACTIVE. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/TagResource -func (c *TimestreamWrite) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/ResumeBatchLoadTask +func (c *TimestreamWrite) ResumeBatchLoadTask(input *ResumeBatchLoadTaskInput) (*ResumeBatchLoadTaskOutput, error) { + req, out := c.ResumeBatchLoadTaskRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// ResumeBatchLoadTaskWithContext is the same as ResumeBatchLoadTask 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 ResumeBatchLoadTask for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *TimestreamWrite) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *TimestreamWrite) ResumeBatchLoadTaskWithContext(ctx aws.Context, input *ResumeBatchLoadTaskInput, opts ...request.Option) (*ResumeBatchLoadTaskOutput, error) { + req, out := c.ResumeBatchLoadTaskRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opTagResource = "TagResource" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UntagResource for more information on using the UntagResource +// 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 UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/UntagResource -func (c *TimestreamWrite) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/TagResource +func (c *TimestreamWrite) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ - Name: opUntagResource, + Name: opTagResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UntagResourceInput{} + input = &TagResourceInput{} } - output = &UntagResourceOutput{} + output = &TagResourceOutput{} req = c.newRequest(op, input, output) req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) // if custom endpoint for the request is set to a non empty string, @@ -1618,46 +2047,165 @@ func (c *TimestreamWrite) UntagResourceRequest(input *UntagResourceInput) (req * return } -// UntagResource API operation for Amazon Timestream Write. +// TagResource API operation for Amazon Timestream Write. // -// Removes the association of tags from a Timestream resource. +// Associates a set of tags with a Timestream resource. You can then activate +// these user-defined tags so that they appear on the Billing and Cost Management +// console for cost allocation tracking. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon Timestream Write's -// API operation UntagResource for usage and error information. +// API operation TagResource for usage and error information. // // Returned Error Types: // -// - ValidationException -// Invalid or malformed request. +// - ResourceNotFoundException +// The operation tried to access a nonexistent resource. The resource might +// not be specified correctly, or its status might not be ACTIVE. // // - ServiceQuotaExceededException -// Instance quota of resource exceeded for this account. +// The instance quota of resource exceeded for this account. // // - ThrottlingException -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. // -// - ResourceNotFoundException -// The operation tried to access a nonexistent resource. The resource might -// not be specified correctly, or its status might not be ACTIVE. +// - ValidationException +// An invalid or malformed request. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/UntagResource -func (c *TimestreamWrite) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/TagResource +func (c *TimestreamWrite) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// TagResourceWithContext is the same as TagResource with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *TimestreamWrite) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/UntagResource +func (c *TimestreamWrite) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + // if custom endpoint for the request is set to a non empty string, + // we skip the endpoint discovery workflow. + if req.Config.Endpoint == nil || *req.Config.Endpoint == "" { + de := discovererDescribeEndpoints{ + Required: true, + EndpointCache: c.endpointCache, + Params: map[string]*string{ + "op": aws.String(req.Operation.Name), + }, + Client: c, + } + + for k, v := range de.Params { + if v == nil { + delete(de.Params, k) + } + } + + req.Handlers.Build.PushFrontNamed(request.NamedHandler{ + Name: "crr.endpointdiscovery", + Fn: de.Handler, + }) + } + return +} + +// UntagResource API operation for Amazon Timestream Write. +// +// Removes the association of tags from a Timestream resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Timestream Write's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// An invalid or malformed request. +// +// - ServiceQuotaExceededException +// The instance quota of resource exceeded for this account. +// +// - ThrottlingException +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. +// +// - ResourceNotFoundException +// The operation tried to access a nonexistent resource. The resource might +// not be specified correctly, or its status might not be ACTIVE. +// +// - InvalidEndpointException +// The requested endpoint was not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/UntagResource +func (c *TimestreamWrite) 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 @@ -1754,7 +2302,7 @@ func (c *TimestreamWrite) UpdateDatabaseRequest(input *UpdateDatabaseInput) (req // Returned Error Types: // // - ValidationException -// Invalid or malformed request. +// An invalid or malformed request. // // - AccessDeniedException // You are not authorized to perform this action. @@ -1764,18 +2312,18 @@ func (c *TimestreamWrite) UpdateDatabaseRequest(input *UpdateDatabaseInput) (req // not be specified correctly, or its status might not be ACTIVE. // // - ServiceQuotaExceededException -// Instance quota of resource exceeded for this account. +// The instance quota of resource exceeded for this account. // // - ThrottlingException -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. // // - InternalServerException // Timestream was unable to fully process this request because of an internal // server error. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/UpdateDatabase func (c *TimestreamWrite) UpdateDatabase(input *UpdateDatabaseInput) (*UpdateDatabaseOutput, error) { @@ -1890,11 +2438,11 @@ func (c *TimestreamWrite) UpdateTableRequest(input *UpdateTableInput) (req *requ // server error. // // - ThrottlingException -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. // // - ValidationException -// Invalid or malformed request. +// An invalid or malformed request. // // - ResourceNotFoundException // The operation tried to access a nonexistent resource. The resource might @@ -1904,7 +2452,7 @@ func (c *TimestreamWrite) UpdateTableRequest(input *UpdateTableInput) (req *requ // You are not authorized to perform this action. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/UpdateTable func (c *TimestreamWrite) UpdateTable(input *UpdateTableInput) (*UpdateTableOutput, error) { @@ -1994,17 +2542,18 @@ func (c *TimestreamWrite) WriteRecordsRequest(input *WriteRecordsInput) (req *re // WriteRecords API operation for Amazon Timestream Write. // -// The WriteRecords operation enables you to write your time series data into -// Timestream. You can specify a single data point or a batch of data points -// to be inserted into the system. Timestream offers you with a flexible schema -// that auto detects the column names and data types for your Timestream tables -// based on the dimension names and data types of the data points you specify -// when invoking writes into the database. Timestream support eventual consistency -// read semantics. This means that when you query data immediately after writing -// a batch of data into Timestream, the query results might not reflect the -// results of a recently completed write operation. The results may also include -// some stale data. If you repeat the query request after a short time, the -// results should return the latest data. Service quotas apply (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html). +// Enables you to write your time-series data into Timestream. You can specify +// a single data point or a batch of data points to be inserted into the system. +// Timestream offers you a flexible schema that auto detects the column names +// and data types for your Timestream tables based on the dimension names and +// data types of the data points you specify when invoking writes into the database. +// +// Timestream supports eventual consistency read semantics. This means that +// when you query data immediately after writing a batch of data into Timestream, +// the query results might not reflect the results of a recently completed write +// operation. The results may also include some stale data. If you repeat the +// query request after a short time, the results should return the latest data. +// Service quotas apply (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html). // // See code sample (https://docs.aws.amazon.com/timestream/latest/developerguide/code-samples.write.html) // for details. @@ -2013,27 +2562,29 @@ func (c *TimestreamWrite) WriteRecordsRequest(input *WriteRecordsInput) (req *re // // You can use the Version parameter in a WriteRecords request to update data // points. Timestream tracks a version number with each record. Version defaults -// to 1 when not specified for the record in the request. Timestream will update -// an existing record’s measure value along with its Version upon receiving -// a write request with a higher Version number for that record. Upon receiving +// to 1 when it's not specified for the record in the request. Timestream updates +// an existing record’s measure value along with its Version when it receives +// a write request with a higher Version number for that record. When it receives // an update request where the measure value is the same as that of the existing // record, Timestream still updates Version, if it is greater than the existing // value of Version. You can update a data point as many times as desired, as // long as the value of Version continuously increases. // // For example, suppose you write a new record without indicating Version in -// the request. Timestream will store this record, and set Version to 1. Now, -// suppose you try to update this record with a WriteRecords request of the -// same record with a different measure value but, like before, do not provide -// Version. In this case, Timestream will reject this update with a RejectedRecordsException +// the request. Timestream stores this record, and set Version to 1. Now, suppose +// you try to update this record with a WriteRecords request of the same record +// with a different measure value but, like before, do not provide Version. +// In this case, Timestream will reject this update with a RejectedRecordsException // since the updated record’s version is not greater than the existing value -// of Version. However, if you were to resend the update request with Version -// set to 2, Timestream would then succeed in updating the record’s value, -// and the Version would be set to 2. Next, suppose you sent a WriteRecords -// request with this same record and an identical measure value, but with Version -// set to 3. In this case, Timestream would only update Version to 3. Any further -// updates would need to send a version number greater than 3, or the update -// requests would receive a RejectedRecordsException. +// of Version. +// +// However, if you were to resend the update request with Version set to 2, +// Timestream would then succeed in updating the record’s value, and the Version +// would be set to 2. Next, suppose you sent a WriteRecords request with this +// same record and an identical measure value, but with Version set to 3. In +// this case, Timestream would only update Version to 3. Any further updates +// would need to send a version number greater than 3, or the update requests +// would receive a RejectedRecordsException. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2049,11 +2600,11 @@ func (c *TimestreamWrite) WriteRecordsRequest(input *WriteRecordsInput) (req *re // server error. // // - ThrottlingException -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. // // - ValidationException -// Invalid or malformed request. +// An invalid or malformed request. // // - ResourceNotFoundException // The operation tried to access a nonexistent resource. The resource might @@ -2075,16 +2626,16 @@ func (c *TimestreamWrite) WriteRecordsRequest(input *WriteRecordsInput) (req *re // greater than the ExistingVersion. // // - Records with timestamps that lie outside the retention duration of the -// memory store +// memory store. // // - Records with dimensions or measures that exceed the Timestream defined // limits. // // For more information, see Quotas (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html) -// in the Timestream Developer Guide. +// in the Amazon Timestream Developer Guide. // // - InvalidEndpointException -// The requested endpoint was invalid. +// The requested endpoint was not valid. // // See also, https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01/WriteRecords func (c *TimestreamWrite) WriteRecords(input *WriteRecordsInput) (*WriteRecordsOutput, error) { @@ -2172,13 +2723,21 @@ func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } -// Timestream was unable to process this request because it contains resource -// that already exists. -type ConflictException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// Details about the progress of a batch load task. +type BatchLoadProgressReport struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + BytesMetered *int64 `type:"long"` + + FileFailures *int64 `type:"long"` + + ParseFailures *int64 `type:"long"` + + RecordIngestionFailures *int64 `type:"long"` + + RecordsIngested *int64 `type:"long"` + + RecordsProcessed *int64 `type:"long"` } // String returns the string representation. @@ -2186,7 +2745,7 @@ type ConflictException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) String() string { +func (s BatchLoadProgressReport) String() string { return awsutil.Prettify(s) } @@ -2195,64 +2754,69 @@ func (s ConflictException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) GoString() string { +func (s BatchLoadProgressReport) GoString() string { return s.String() } -func newErrorConflictException(v protocol.ResponseMetadata) error { - return &ConflictException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *ConflictException) Code() string { - return "ConflictException" +// SetBytesMetered sets the BytesMetered field's value. +func (s *BatchLoadProgressReport) SetBytesMetered(v int64) *BatchLoadProgressReport { + s.BytesMetered = &v + return s } -// Message returns the exception's message. -func (s *ConflictException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetFileFailures sets the FileFailures field's value. +func (s *BatchLoadProgressReport) SetFileFailures(v int64) *BatchLoadProgressReport { + s.FileFailures = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConflictException) OrigErr() error { - return nil +// SetParseFailures sets the ParseFailures field's value. +func (s *BatchLoadProgressReport) SetParseFailures(v int64) *BatchLoadProgressReport { + s.ParseFailures = &v + return s } -func (s *ConflictException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetRecordIngestionFailures sets the RecordIngestionFailures field's value. +func (s *BatchLoadProgressReport) SetRecordIngestionFailures(v int64) *BatchLoadProgressReport { + s.RecordIngestionFailures = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ConflictException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetRecordsIngested sets the RecordsIngested field's value. +func (s *BatchLoadProgressReport) SetRecordsIngested(v int64) *BatchLoadProgressReport { + s.RecordsIngested = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ConflictException) RequestID() string { - return s.RespMetadata.RequestID +// SetRecordsProcessed sets the RecordsProcessed field's value. +func (s *BatchLoadProgressReport) SetRecordsProcessed(v int64) *BatchLoadProgressReport { + s.RecordsProcessed = &v + return s } -type CreateDatabaseInput struct { +// Details about a batch load task. +type BatchLoadTask struct { _ struct{} `type:"structure"` - // The name of the Timestream database. - // - // DatabaseName is a required field - DatabaseName *string `type:"string" required:"true"` + // The time when the Timestream batch load task was created. + CreationTime *time.Time `type:"timestamp"` - // The KMS key for the database. If the KMS key is not specified, the database - // will be encrypted with a Timestream managed KMS key located in your account. - // Refer to Amazon Web Services managed KMS keys (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) - // for more info. - KmsKeyId *string `min:"1" type:"string"` + // Database name for the database into which a batch load task loads data. + DatabaseName *string `type:"string"` - // A list of key-value pairs to label the table. - Tags []*Tag `type:"list"` + // The time when the Timestream batch load task was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + ResumableUntil *time.Time `type:"timestamp"` + + // Table name for the table into which a batch load task loads data. + TableName *string `type:"string"` + + // The ID of the batch load task. + TaskId *string `min:"3" type:"string"` + + // Status of the batch load task. + TaskStatus *string `type:"string" enum:"BatchLoadStatus"` } // String returns the string representation. @@ -2260,7 +2824,7 @@ type CreateDatabaseInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateDatabaseInput) String() string { +func (s BatchLoadTask) String() string { return awsutil.Prettify(s) } @@ -2269,59 +2833,91 @@ func (s CreateDatabaseInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateDatabaseInput) GoString() string { +func (s BatchLoadTask) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDatabaseInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDatabaseInput"} - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) - } - if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCreationTime sets the CreationTime field's value. +func (s *BatchLoadTask) SetCreationTime(v time.Time) *BatchLoadTask { + s.CreationTime = &v + return s } // SetDatabaseName sets the DatabaseName field's value. -func (s *CreateDatabaseInput) SetDatabaseName(v string) *CreateDatabaseInput { +func (s *BatchLoadTask) SetDatabaseName(v string) *BatchLoadTask { s.DatabaseName = &v return s } -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *CreateDatabaseInput) SetKmsKeyId(v string) *CreateDatabaseInput { - s.KmsKeyId = &v +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *BatchLoadTask) SetLastUpdatedTime(v time.Time) *BatchLoadTask { + s.LastUpdatedTime = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateDatabaseInput) SetTags(v []*Tag) *CreateDatabaseInput { - s.Tags = v +// SetResumableUntil sets the ResumableUntil field's value. +func (s *BatchLoadTask) SetResumableUntil(v time.Time) *BatchLoadTask { + s.ResumableUntil = &v return s } -type CreateDatabaseOutput struct { +// SetTableName sets the TableName field's value. +func (s *BatchLoadTask) SetTableName(v string) *BatchLoadTask { + s.TableName = &v + return s +} + +// SetTaskId sets the TaskId field's value. +func (s *BatchLoadTask) SetTaskId(v string) *BatchLoadTask { + s.TaskId = &v + return s +} + +// SetTaskStatus sets the TaskStatus field's value. +func (s *BatchLoadTask) SetTaskStatus(v string) *BatchLoadTask { + s.TaskStatus = &v + return s +} + +// Details about a batch load task. +type BatchLoadTaskDescription struct { _ struct{} `type:"structure"` - // The newly created Timestream database. - Database *Database `type:"structure"` + // The time when the Timestream batch load task was created. + CreationTime *time.Time `type:"timestamp"` + + // Data model configuration for a batch load task. This contains details about + // where a data model for a batch load task is stored. + DataModelConfiguration *DataModelConfiguration `type:"structure"` + + // Configuration details about the data source for a batch load task. + DataSourceConfiguration *DataSourceConfiguration `type:"structure"` + + ErrorMessage *string `min:"1" type:"string"` + + // The time when the Timestream batch load task was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // Details about the progress of a batch load task. + ProgressReport *BatchLoadProgressReport `type:"structure"` + + RecordVersion *int64 `type:"long"` + + // Report configuration for a batch load task. This contains details about where + // error reports are stored. + ReportConfiguration *ReportConfiguration `type:"structure"` + + ResumableUntil *time.Time `type:"timestamp"` + + TargetDatabaseName *string `type:"string"` + + TargetTableName *string `type:"string"` + + // The ID of the batch load task. + TaskId *string `min:"3" type:"string"` + + // Status of the batch load task. + TaskStatus *string `type:"string" enum:"BatchLoadStatus"` } // String returns the string representation. @@ -2329,7 +2925,7 @@ type CreateDatabaseOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateDatabaseOutput) String() string { +func (s BatchLoadTaskDescription) String() string { return awsutil.Prettify(s) } @@ -2338,38 +2934,185 @@ func (s CreateDatabaseOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateDatabaseOutput) GoString() string { +func (s BatchLoadTaskDescription) GoString() string { return s.String() } -// SetDatabase sets the Database field's value. -func (s *CreateDatabaseOutput) SetDatabase(v *Database) *CreateDatabaseOutput { - s.Database = v +// SetCreationTime sets the CreationTime field's value. +func (s *BatchLoadTaskDescription) SetCreationTime(v time.Time) *BatchLoadTaskDescription { + s.CreationTime = &v return s } -type CreateTableInput struct { - _ struct{} `type:"structure"` +// SetDataModelConfiguration sets the DataModelConfiguration field's value. +func (s *BatchLoadTaskDescription) SetDataModelConfiguration(v *DataModelConfiguration) *BatchLoadTaskDescription { + s.DataModelConfiguration = v + return s +} - // The name of the Timestream database. +// SetDataSourceConfiguration sets the DataSourceConfiguration field's value. +func (s *BatchLoadTaskDescription) SetDataSourceConfiguration(v *DataSourceConfiguration) *BatchLoadTaskDescription { + s.DataSourceConfiguration = v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *BatchLoadTaskDescription) SetErrorMessage(v string) *BatchLoadTaskDescription { + s.ErrorMessage = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *BatchLoadTaskDescription) SetLastUpdatedTime(v time.Time) *BatchLoadTaskDescription { + s.LastUpdatedTime = &v + return s +} + +// SetProgressReport sets the ProgressReport field's value. +func (s *BatchLoadTaskDescription) SetProgressReport(v *BatchLoadProgressReport) *BatchLoadTaskDescription { + s.ProgressReport = v + return s +} + +// SetRecordVersion sets the RecordVersion field's value. +func (s *BatchLoadTaskDescription) SetRecordVersion(v int64) *BatchLoadTaskDescription { + s.RecordVersion = &v + return s +} + +// SetReportConfiguration sets the ReportConfiguration field's value. +func (s *BatchLoadTaskDescription) SetReportConfiguration(v *ReportConfiguration) *BatchLoadTaskDescription { + s.ReportConfiguration = v + return s +} + +// SetResumableUntil sets the ResumableUntil field's value. +func (s *BatchLoadTaskDescription) SetResumableUntil(v time.Time) *BatchLoadTaskDescription { + s.ResumableUntil = &v + return s +} + +// SetTargetDatabaseName sets the TargetDatabaseName field's value. +func (s *BatchLoadTaskDescription) SetTargetDatabaseName(v string) *BatchLoadTaskDescription { + s.TargetDatabaseName = &v + return s +} + +// SetTargetTableName sets the TargetTableName field's value. +func (s *BatchLoadTaskDescription) SetTargetTableName(v string) *BatchLoadTaskDescription { + s.TargetTableName = &v + return s +} + +// SetTaskId sets the TaskId field's value. +func (s *BatchLoadTaskDescription) SetTaskId(v string) *BatchLoadTaskDescription { + s.TaskId = &v + return s +} + +// SetTaskStatus sets the TaskStatus field's value. +func (s *BatchLoadTaskDescription) SetTaskStatus(v string) *BatchLoadTaskDescription { + s.TaskStatus = &v + return s +} + +// Timestream was unable to process this request because it contains resource +// that already exists. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateBatchLoadTaskInput struct { + _ struct{} `type:"structure"` + + // ClientToken is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateBatchLoadTaskInput's + // String and GoString methods. + ClientToken *string `min:"1" type:"string" idempotencyToken:"true" sensitive:"true"` + + DataModelConfiguration *DataModelConfiguration `type:"structure"` + + // Defines configuration details about the data source for a batch load task. // - // DatabaseName is a required field - DatabaseName *string `type:"string" required:"true"` + // DataSourceConfiguration is a required field + DataSourceConfiguration *DataSourceConfiguration `type:"structure" required:"true"` - // Contains properties to set on the table when enabling magnetic store writes. - MagneticStoreWriteProperties *MagneticStoreWriteProperties `type:"structure"` + RecordVersion *int64 `type:"long"` - // The duration for which your time series data must be stored in the memory - // store and the magnetic store. - RetentionProperties *RetentionProperties `type:"structure"` + // Report configuration for a batch load task. This contains details about where + // error reports are stored. + // + // ReportConfiguration is a required field + ReportConfiguration *ReportConfiguration `type:"structure" required:"true"` - // The name of the Timestream table. + // Target Timestream database for a batch load task. // - // TableName is a required field - TableName *string `type:"string" required:"true"` + // TargetDatabaseName is a required field + TargetDatabaseName *string `type:"string" required:"true"` - // A list of key-value pairs to label the table. - Tags []*Tag `type:"list"` + // Target Timestream table for a batch load task. + // + // TargetTableName is a required field + TargetTableName *string `type:"string" required:"true"` } // String returns the string representation. @@ -2377,7 +3120,7 @@ type CreateTableInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateTableInput) String() string { +func (s CreateBatchLoadTaskInput) String() string { return awsutil.Prettify(s) } @@ -2386,29 +3129,169 @@ func (s CreateTableInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateTableInput) GoString() string { +func (s CreateBatchLoadTaskInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateTableInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateTableInput"} - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) +func (s *CreateBatchLoadTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateBatchLoadTaskInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) } - if s.TableName == nil { - invalidParams.Add(request.NewErrParamRequired("TableName")) + if s.DataSourceConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceConfiguration")) } - if s.MagneticStoreWriteProperties != nil { - if err := s.MagneticStoreWriteProperties.Validate(); err != nil { - invalidParams.AddNested("MagneticStoreWriteProperties", err.(request.ErrInvalidParams)) + if s.ReportConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("ReportConfiguration")) + } + if s.TargetDatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("TargetDatabaseName")) + } + if s.TargetTableName == nil { + invalidParams.Add(request.NewErrParamRequired("TargetTableName")) + } + if s.DataModelConfiguration != nil { + if err := s.DataModelConfiguration.Validate(); err != nil { + invalidParams.AddNested("DataModelConfiguration", err.(request.ErrInvalidParams)) } } - if s.RetentionProperties != nil { - if err := s.RetentionProperties.Validate(); err != nil { - invalidParams.AddNested("RetentionProperties", err.(request.ErrInvalidParams)) + if s.DataSourceConfiguration != nil { + if err := s.DataSourceConfiguration.Validate(); err != nil { + invalidParams.AddNested("DataSourceConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.ReportConfiguration != nil { + if err := s.ReportConfiguration.Validate(); err != nil { + invalidParams.AddNested("ReportConfiguration", err.(request.ErrInvalidParams)) } } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateBatchLoadTaskInput) SetClientToken(v string) *CreateBatchLoadTaskInput { + s.ClientToken = &v + return s +} + +// SetDataModelConfiguration sets the DataModelConfiguration field's value. +func (s *CreateBatchLoadTaskInput) SetDataModelConfiguration(v *DataModelConfiguration) *CreateBatchLoadTaskInput { + s.DataModelConfiguration = v + return s +} + +// SetDataSourceConfiguration sets the DataSourceConfiguration field's value. +func (s *CreateBatchLoadTaskInput) SetDataSourceConfiguration(v *DataSourceConfiguration) *CreateBatchLoadTaskInput { + s.DataSourceConfiguration = v + return s +} + +// SetRecordVersion sets the RecordVersion field's value. +func (s *CreateBatchLoadTaskInput) SetRecordVersion(v int64) *CreateBatchLoadTaskInput { + s.RecordVersion = &v + return s +} + +// SetReportConfiguration sets the ReportConfiguration field's value. +func (s *CreateBatchLoadTaskInput) SetReportConfiguration(v *ReportConfiguration) *CreateBatchLoadTaskInput { + s.ReportConfiguration = v + return s +} + +// SetTargetDatabaseName sets the TargetDatabaseName field's value. +func (s *CreateBatchLoadTaskInput) SetTargetDatabaseName(v string) *CreateBatchLoadTaskInput { + s.TargetDatabaseName = &v + return s +} + +// SetTargetTableName sets the TargetTableName field's value. +func (s *CreateBatchLoadTaskInput) SetTargetTableName(v string) *CreateBatchLoadTaskInput { + s.TargetTableName = &v + return s +} + +type CreateBatchLoadTaskOutput struct { + _ struct{} `type:"structure"` + + // The ID of the batch load task. + // + // TaskId is a required field + TaskId *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateBatchLoadTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateBatchLoadTaskOutput) GoString() string { + return s.String() +} + +// SetTaskId sets the TaskId field's value. +func (s *CreateBatchLoadTaskOutput) SetTaskId(v string) *CreateBatchLoadTaskOutput { + s.TaskId = &v + return s +} + +type CreateDatabaseInput struct { + _ struct{} `type:"structure"` + + // The name of the Timestream database. + // + // DatabaseName is a required field + DatabaseName *string `type:"string" required:"true"` + + // The KMS key for the database. If the KMS key is not specified, the database + // will be encrypted with a Timestream managed KMS key located in your account. + // For more information, see Amazon Web Services managed keys (https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk). + KmsKeyId *string `min:"1" type:"string"` + + // A list of key-value pairs to label the table. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateDatabaseInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateDatabaseInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDatabaseInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDatabaseInput"} + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -2427,40 +3310,618 @@ func (s *CreateTableInput) Validate() error { } // SetDatabaseName sets the DatabaseName field's value. -func (s *CreateTableInput) SetDatabaseName(v string) *CreateTableInput { +func (s *CreateDatabaseInput) SetDatabaseName(v string) *CreateDatabaseInput { s.DatabaseName = &v return s } -// SetMagneticStoreWriteProperties sets the MagneticStoreWriteProperties field's value. -func (s *CreateTableInput) SetMagneticStoreWriteProperties(v *MagneticStoreWriteProperties) *CreateTableInput { - s.MagneticStoreWriteProperties = v +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateDatabaseInput) SetKmsKeyId(v string) *CreateDatabaseInput { + s.KmsKeyId = &v return s } -// SetRetentionProperties sets the RetentionProperties field's value. -func (s *CreateTableInput) SetRetentionProperties(v *RetentionProperties) *CreateTableInput { - s.RetentionProperties = v +// SetTags sets the Tags field's value. +func (s *CreateDatabaseInput) SetTags(v []*Tag) *CreateDatabaseInput { + s.Tags = v + return s +} + +type CreateDatabaseOutput struct { + _ struct{} `type:"structure"` + + // The newly created Timestream database. + Database *Database `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateDatabaseOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateDatabaseOutput) GoString() string { + return s.String() +} + +// SetDatabase sets the Database field's value. +func (s *CreateDatabaseOutput) SetDatabase(v *Database) *CreateDatabaseOutput { + s.Database = v + return s +} + +type CreateTableInput struct { + _ struct{} `type:"structure"` + + // The name of the Timestream database. + // + // DatabaseName is a required field + DatabaseName *string `type:"string" required:"true"` + + // Contains properties to set on the table when enabling magnetic store writes. + MagneticStoreWriteProperties *MagneticStoreWriteProperties `type:"structure"` + + // The duration for which your time-series data must be stored in the memory + // store and the magnetic store. + RetentionProperties *RetentionProperties `type:"structure"` + + // The name of the Timestream table. + // + // TableName is a required field + TableName *string `type:"string" required:"true"` + + // A list of key-value pairs to label the table. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTableInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTableInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTableInput"} + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.MagneticStoreWriteProperties != nil { + if err := s.MagneticStoreWriteProperties.Validate(); err != nil { + invalidParams.AddNested("MagneticStoreWriteProperties", err.(request.ErrInvalidParams)) + } + } + if s.RetentionProperties != nil { + if err := s.RetentionProperties.Validate(); err != nil { + invalidParams.AddNested("RetentionProperties", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *CreateTableInput) SetDatabaseName(v string) *CreateTableInput { + s.DatabaseName = &v + return s +} + +// SetMagneticStoreWriteProperties sets the MagneticStoreWriteProperties field's value. +func (s *CreateTableInput) SetMagneticStoreWriteProperties(v *MagneticStoreWriteProperties) *CreateTableInput { + s.MagneticStoreWriteProperties = v + return s +} + +// SetRetentionProperties sets the RetentionProperties field's value. +func (s *CreateTableInput) SetRetentionProperties(v *RetentionProperties) *CreateTableInput { + s.RetentionProperties = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *CreateTableInput) SetTableName(v string) *CreateTableInput { + s.TableName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateTableInput) SetTags(v []*Tag) *CreateTableInput { + s.Tags = v + return s +} + +type CreateTableOutput struct { + _ struct{} `type:"structure"` + + // The newly created Timestream table. + Table *Table `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTableOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTableOutput) GoString() string { + return s.String() +} + +// SetTable sets the Table field's value. +func (s *CreateTableOutput) SetTable(v *Table) *CreateTableOutput { + s.Table = v + return s +} + +// A delimited data format where the column separator can be a comma and the +// record separator is a newline character. +type CsvConfiguration struct { + _ struct{} `type:"structure"` + + // Column separator can be one of comma (','), pipe ('|), semicolon (';'), tab('/t'), + // or blank space (' '). + ColumnSeparator *string `min:"1" type:"string"` + + // Escape character can be one of + EscapeChar *string `min:"1" type:"string"` + + // Can be blank space (' '). + NullValue *string `min:"1" type:"string"` + + // Can be single quote (') or double quote ("). + QuoteChar *string `min:"1" type:"string"` + + // Specifies to trim leading and trailing white space. + TrimWhiteSpace *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CsvConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CsvConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CsvConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CsvConfiguration"} + if s.ColumnSeparator != nil && len(*s.ColumnSeparator) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnSeparator", 1)) + } + if s.EscapeChar != nil && len(*s.EscapeChar) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EscapeChar", 1)) + } + if s.NullValue != nil && len(*s.NullValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NullValue", 1)) + } + if s.QuoteChar != nil && len(*s.QuoteChar) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QuoteChar", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumnSeparator sets the ColumnSeparator field's value. +func (s *CsvConfiguration) SetColumnSeparator(v string) *CsvConfiguration { + s.ColumnSeparator = &v + return s +} + +// SetEscapeChar sets the EscapeChar field's value. +func (s *CsvConfiguration) SetEscapeChar(v string) *CsvConfiguration { + s.EscapeChar = &v + return s +} + +// SetNullValue sets the NullValue field's value. +func (s *CsvConfiguration) SetNullValue(v string) *CsvConfiguration { + s.NullValue = &v + return s +} + +// SetQuoteChar sets the QuoteChar field's value. +func (s *CsvConfiguration) SetQuoteChar(v string) *CsvConfiguration { + s.QuoteChar = &v + return s +} + +// SetTrimWhiteSpace sets the TrimWhiteSpace field's value. +func (s *CsvConfiguration) SetTrimWhiteSpace(v bool) *CsvConfiguration { + s.TrimWhiteSpace = &v + return s +} + +// Data model for a batch load task. +type DataModel struct { + _ struct{} `type:"structure"` + + // Source to target mappings for dimensions. + // + // DimensionMappings is a required field + DimensionMappings []*DimensionMapping `min:"1" type:"list" required:"true"` + + MeasureNameColumn *string `min:"1" type:"string"` + + // Source to target mappings for measures. + MixedMeasureMappings []*MixedMeasureMapping `min:"1" type:"list"` + + // Source to target mappings for multi-measure records. + MultiMeasureMappings *MultiMeasureMappings `type:"structure"` + + // Source column to be mapped to time. + TimeColumn *string `min:"1" type:"string"` + + // The granularity of the timestamp unit. It indicates if the time value is + // in seconds, milliseconds, nanoseconds, or other supported values. Default + // is MILLISECONDS. + TimeUnit *string `type:"string" enum:"TimeUnit"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataModel) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataModel) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataModel) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataModel"} + if s.DimensionMappings == nil { + invalidParams.Add(request.NewErrParamRequired("DimensionMappings")) + } + if s.DimensionMappings != nil && len(s.DimensionMappings) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DimensionMappings", 1)) + } + if s.MeasureNameColumn != nil && len(*s.MeasureNameColumn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeasureNameColumn", 1)) + } + if s.MixedMeasureMappings != nil && len(s.MixedMeasureMappings) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MixedMeasureMappings", 1)) + } + if s.TimeColumn != nil && len(*s.TimeColumn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TimeColumn", 1)) + } + if s.DimensionMappings != nil { + for i, v := range s.DimensionMappings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DimensionMappings", i), err.(request.ErrInvalidParams)) + } + } + } + if s.MixedMeasureMappings != nil { + for i, v := range s.MixedMeasureMappings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MixedMeasureMappings", i), err.(request.ErrInvalidParams)) + } + } + } + if s.MultiMeasureMappings != nil { + if err := s.MultiMeasureMappings.Validate(); err != nil { + invalidParams.AddNested("MultiMeasureMappings", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDimensionMappings sets the DimensionMappings field's value. +func (s *DataModel) SetDimensionMappings(v []*DimensionMapping) *DataModel { + s.DimensionMappings = v + return s +} + +// SetMeasureNameColumn sets the MeasureNameColumn field's value. +func (s *DataModel) SetMeasureNameColumn(v string) *DataModel { + s.MeasureNameColumn = &v + return s +} + +// SetMixedMeasureMappings sets the MixedMeasureMappings field's value. +func (s *DataModel) SetMixedMeasureMappings(v []*MixedMeasureMapping) *DataModel { + s.MixedMeasureMappings = v + return s +} + +// SetMultiMeasureMappings sets the MultiMeasureMappings field's value. +func (s *DataModel) SetMultiMeasureMappings(v *MultiMeasureMappings) *DataModel { + s.MultiMeasureMappings = v + return s +} + +// SetTimeColumn sets the TimeColumn field's value. +func (s *DataModel) SetTimeColumn(v string) *DataModel { + s.TimeColumn = &v + return s +} + +// SetTimeUnit sets the TimeUnit field's value. +func (s *DataModel) SetTimeUnit(v string) *DataModel { + s.TimeUnit = &v + return s +} + +type DataModelConfiguration struct { + _ struct{} `type:"structure"` + + // Data model for a batch load task. + DataModel *DataModel `type:"structure"` + + DataModelS3Configuration *DataModelS3Configuration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataModelConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataModelConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataModelConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataModelConfiguration"} + if s.DataModel != nil { + if err := s.DataModel.Validate(); err != nil { + invalidParams.AddNested("DataModel", err.(request.ErrInvalidParams)) + } + } + if s.DataModelS3Configuration != nil { + if err := s.DataModelS3Configuration.Validate(); err != nil { + invalidParams.AddNested("DataModelS3Configuration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataModel sets the DataModel field's value. +func (s *DataModelConfiguration) SetDataModel(v *DataModel) *DataModelConfiguration { + s.DataModel = v + return s +} + +// SetDataModelS3Configuration sets the DataModelS3Configuration field's value. +func (s *DataModelConfiguration) SetDataModelS3Configuration(v *DataModelS3Configuration) *DataModelConfiguration { + s.DataModelS3Configuration = v + return s +} + +type DataModelS3Configuration struct { + _ struct{} `type:"structure"` + + BucketName *string `min:"3" type:"string"` + + ObjectKey *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataModelS3Configuration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataModelS3Configuration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataModelS3Configuration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataModelS3Configuration"} + if s.BucketName != nil && len(*s.BucketName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("BucketName", 3)) + } + if s.ObjectKey != nil && len(*s.ObjectKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ObjectKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucketName sets the BucketName field's value. +func (s *DataModelS3Configuration) SetBucketName(v string) *DataModelS3Configuration { + s.BucketName = &v + return s +} + +// SetObjectKey sets the ObjectKey field's value. +func (s *DataModelS3Configuration) SetObjectKey(v string) *DataModelS3Configuration { + s.ObjectKey = &v + return s +} + +// Defines configuration details about the data source. +type DataSourceConfiguration struct { + _ struct{} `type:"structure"` + + // A delimited data format where the column separator can be a comma and the + // record separator is a newline character. + CsvConfiguration *CsvConfiguration `type:"structure"` + + // This is currently CSV. + // + // DataFormat is a required field + DataFormat *string `type:"string" required:"true" enum:"BatchLoadDataFormat"` + + // Configuration of an S3 location for a file which contains data to load. + // + // DataSourceS3Configuration is a required field + DataSourceS3Configuration *DataSourceS3Configuration `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataSourceConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataSourceConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataSourceConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataSourceConfiguration"} + if s.DataFormat == nil { + invalidParams.Add(request.NewErrParamRequired("DataFormat")) + } + if s.DataSourceS3Configuration == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceS3Configuration")) + } + if s.CsvConfiguration != nil { + if err := s.CsvConfiguration.Validate(); err != nil { + invalidParams.AddNested("CsvConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.DataSourceS3Configuration != nil { + if err := s.DataSourceS3Configuration.Validate(); err != nil { + invalidParams.AddNested("DataSourceS3Configuration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCsvConfiguration sets the CsvConfiguration field's value. +func (s *DataSourceConfiguration) SetCsvConfiguration(v *CsvConfiguration) *DataSourceConfiguration { + s.CsvConfiguration = v return s } -// SetTableName sets the TableName field's value. -func (s *CreateTableInput) SetTableName(v string) *CreateTableInput { - s.TableName = &v +// SetDataFormat sets the DataFormat field's value. +func (s *DataSourceConfiguration) SetDataFormat(v string) *DataSourceConfiguration { + s.DataFormat = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateTableInput) SetTags(v []*Tag) *CreateTableInput { - s.Tags = v +// SetDataSourceS3Configuration sets the DataSourceS3Configuration field's value. +func (s *DataSourceConfiguration) SetDataSourceS3Configuration(v *DataSourceS3Configuration) *DataSourceConfiguration { + s.DataSourceS3Configuration = v return s } -type CreateTableOutput struct { +type DataSourceS3Configuration struct { _ struct{} `type:"structure"` - // The newly created Timestream table. - Table *Table `type:"structure"` + // The bucket name of the customer S3 bucket. + // + // BucketName is a required field + BucketName *string `min:"3" type:"string" required:"true"` + + ObjectKeyPrefix *string `min:"1" type:"string"` } // String returns the string representation. @@ -2468,7 +3929,7 @@ type CreateTableOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateTableOutput) String() string { +func (s DataSourceS3Configuration) String() string { return awsutil.Prettify(s) } @@ -2477,17 +3938,42 @@ func (s CreateTableOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateTableOutput) GoString() string { +func (s DataSourceS3Configuration) GoString() string { return s.String() } -// SetTable sets the Table field's value. -func (s *CreateTableOutput) SetTable(v *Table) *CreateTableOutput { - s.Table = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataSourceS3Configuration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataSourceS3Configuration"} + if s.BucketName == nil { + invalidParams.Add(request.NewErrParamRequired("BucketName")) + } + if s.BucketName != nil && len(*s.BucketName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("BucketName", 3)) + } + if s.ObjectKeyPrefix != nil && len(*s.ObjectKeyPrefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ObjectKeyPrefix", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucketName sets the BucketName field's value. +func (s *DataSourceS3Configuration) SetBucketName(v string) *DataSourceS3Configuration { + s.BucketName = &v + return s +} + +// SetObjectKeyPrefix sets the ObjectKeyPrefix field's value. +func (s *DataSourceS3Configuration) SetObjectKeyPrefix(v string) *DataSourceS3Configuration { + s.ObjectKeyPrefix = &v return s } -// A top level container for a table. Databases and tables are the fundamental +// A top-level container for a table. Databases and tables are the fundamental // management concepts in Amazon Timestream. All tables in a database are encrypted // with the same KMS key. type Database struct { @@ -2716,6 +4202,88 @@ func (s DeleteTableOutput) GoString() string { return s.String() } +type DescribeBatchLoadTaskInput struct { + _ struct{} `type:"structure"` + + // The ID of the batch load task. + // + // TaskId is a required field + TaskId *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeBatchLoadTaskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeBatchLoadTaskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeBatchLoadTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBatchLoadTaskInput"} + if s.TaskId == nil { + invalidParams.Add(request.NewErrParamRequired("TaskId")) + } + if s.TaskId != nil && len(*s.TaskId) < 3 { + invalidParams.Add(request.NewErrParamMinLen("TaskId", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTaskId sets the TaskId field's value. +func (s *DescribeBatchLoadTaskInput) SetTaskId(v string) *DescribeBatchLoadTaskInput { + s.TaskId = &v + return s +} + +type DescribeBatchLoadTaskOutput struct { + _ struct{} `type:"structure"` + + // Description of the batch load task. + // + // BatchLoadTaskDescription is a required field + BatchLoadTaskDescription *BatchLoadTaskDescription `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeBatchLoadTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeBatchLoadTaskOutput) GoString() string { + return s.String() +} + +// SetBatchLoadTaskDescription sets the BatchLoadTaskDescription field's value. +func (s *DescribeBatchLoadTaskOutput) SetBatchLoadTaskDescription(v *BatchLoadTaskDescription) *DescribeBatchLoadTaskOutput { + s.BatchLoadTaskDescription = v + return s +} + type DescribeDatabaseInput struct { _ struct{} `type:"structure"` @@ -2939,20 +4507,20 @@ func (s *DescribeTableOutput) SetTable(v *Table) *DescribeTableOutput { return s } -// Dimension represents the meta data attributes of the time series. For example, -// the name and availability zone of an EC2 instance or the name of the manufacturer +// Represents the metadata attributes of the time series. For example, the name +// and Availability Zone of an EC2 instance or the name of the manufacturer // of a wind turbine are dimensions. type Dimension struct { _ struct{} `type:"structure"` - // The data type of the dimension for the time series data point. + // The data type of the dimension for the time-series data point. DimensionValueType *string `type:"string" enum:"DimensionValueType"` - // Dimension represents the meta data attributes of the time series. For example, - // the name and availability zone of an EC2 instance or the name of the manufacturer + // Dimension represents the metadata attributes of the time series. For example, + // the name and Availability Zone of an EC2 instance or the name of the manufacturer // of a wind turbine are dimensions. // - // For constraints on Dimension names, see Naming Constraints (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html#limits.naming). + // For constraints on dimension names, see Naming Constraints (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html#limits.naming). // // Name is a required field Name *string `min:"1" type:"string" required:"true"` @@ -3018,7 +4586,61 @@ func (s *Dimension) SetValue(v string) *Dimension { return s } -// Represents an available endpoint against which to make API calls agaisnt, +type DimensionMapping struct { + _ struct{} `type:"structure"` + + DestinationColumn *string `min:"1" type:"string"` + + SourceColumn *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DimensionMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DimensionMapping) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DimensionMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DimensionMapping"} + if s.DestinationColumn != nil && len(*s.DestinationColumn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DestinationColumn", 1)) + } + if s.SourceColumn != nil && len(*s.SourceColumn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceColumn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationColumn sets the DestinationColumn field's value. +func (s *DimensionMapping) SetDestinationColumn(v string) *DimensionMapping { + s.DestinationColumn = &v + return s +} + +// SetSourceColumn sets the SourceColumn field's value. +func (s *DimensionMapping) SetSourceColumn(v string) *DimensionMapping { + s.SourceColumn = &v + return s +} + +// Represents an available endpoint against which to make API calls against, // as well as the TTL for that endpoint. type Endpoint struct { _ struct{} `type:"structure"` @@ -3124,17 +4746,149 @@ func (s *InternalServerException) StatusCode() int { return s.RespMetadata.StatusCode } -// RequestID returns the service's response RequestID for request. -func (s *InternalServerException) RequestID() string { - return s.RespMetadata.RequestID +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The requested endpoint was not valid. +type InvalidEndpointException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidEndpointException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidEndpointException) GoString() string { + return s.String() +} + +func newErrorInvalidEndpointException(v protocol.ResponseMetadata) error { + return &InvalidEndpointException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidEndpointException) Code() string { + return "InvalidEndpointException" +} + +// Message returns the exception's message. +func (s *InvalidEndpointException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidEndpointException) OrigErr() error { + return nil +} + +func (s *InvalidEndpointException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidEndpointException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidEndpointException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListBatchLoadTasksInput struct { + _ struct{} `type:"structure"` + + // The total number of items to return in the output. If the total number of + // items available is more than the value specified, a NextToken is provided + // in the output. To resume pagination, provide the NextToken value as argument + // of a subsequent API invocation. + MaxResults *int64 `min:"1" type:"integer"` + + // A token to specify where to start paginating. This is the NextToken from + // a previously truncated response. + NextToken *string `type:"string"` + + // Status of the batch load task. + TaskStatus *string `type:"string" enum:"BatchLoadStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListBatchLoadTasksInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListBatchLoadTasksInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListBatchLoadTasksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBatchLoadTasksInput"} + 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 *ListBatchLoadTasksInput) SetMaxResults(v int64) *ListBatchLoadTasksInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBatchLoadTasksInput) SetNextToken(v string) *ListBatchLoadTasksInput { + s.NextToken = &v + return s +} + +// SetTaskStatus sets the TaskStatus field's value. +func (s *ListBatchLoadTasksInput) SetTaskStatus(v string) *ListBatchLoadTasksInput { + s.TaskStatus = &v + return s } -// The requested endpoint was invalid. -type InvalidEndpointException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListBatchLoadTasksOutput struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" type:"string"` + // A list of batch load task details. + BatchLoadTasks []*BatchLoadTask `type:"list"` + + // A token to specify where to start paginating. Provide the next ListBatchLoadTasksRequest. + NextToken *string `type:"string"` } // String returns the string representation. @@ -3142,7 +4896,7 @@ type InvalidEndpointException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InvalidEndpointException) String() string { +func (s ListBatchLoadTasksOutput) String() string { return awsutil.Prettify(s) } @@ -3151,46 +4905,20 @@ func (s InvalidEndpointException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InvalidEndpointException) GoString() string { +func (s ListBatchLoadTasksOutput) GoString() string { return s.String() } -func newErrorInvalidEndpointException(v protocol.ResponseMetadata) error { - return &InvalidEndpointException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *InvalidEndpointException) Code() string { - return "InvalidEndpointException" -} - -// Message returns the exception's message. -func (s *InvalidEndpointException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidEndpointException) OrigErr() error { - return nil -} - -func (s *InvalidEndpointException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidEndpointException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetBatchLoadTasks sets the BatchLoadTasks field's value. +func (s *ListBatchLoadTasksOutput) SetBatchLoadTasks(v []*BatchLoadTask) *ListBatchLoadTasksOutput { + s.BatchLoadTasks = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidEndpointException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListBatchLoadTasksOutput) SetNextToken(v string) *ListBatchLoadTasksOutput { + s.NextToken = &v + return s } type ListDatabasesInput struct { @@ -3536,9 +5264,256 @@ type MagneticStoreWriteProperties struct { // EnableMagneticStoreWrites is a required field EnableMagneticStoreWrites *bool `type:"boolean" required:"true"` - // The location to write error reports for records rejected asynchronously during - // magnetic store writes. - MagneticStoreRejectedDataLocation *MagneticStoreRejectedDataLocation `type:"structure"` + // The location to write error reports for records rejected asynchronously during + // magnetic store writes. + MagneticStoreRejectedDataLocation *MagneticStoreRejectedDataLocation `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MagneticStoreWriteProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MagneticStoreWriteProperties) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MagneticStoreWriteProperties) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MagneticStoreWriteProperties"} + if s.EnableMagneticStoreWrites == nil { + invalidParams.Add(request.NewErrParamRequired("EnableMagneticStoreWrites")) + } + if s.MagneticStoreRejectedDataLocation != nil { + if err := s.MagneticStoreRejectedDataLocation.Validate(); err != nil { + invalidParams.AddNested("MagneticStoreRejectedDataLocation", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnableMagneticStoreWrites sets the EnableMagneticStoreWrites field's value. +func (s *MagneticStoreWriteProperties) SetEnableMagneticStoreWrites(v bool) *MagneticStoreWriteProperties { + s.EnableMagneticStoreWrites = &v + return s +} + +// SetMagneticStoreRejectedDataLocation sets the MagneticStoreRejectedDataLocation field's value. +func (s *MagneticStoreWriteProperties) SetMagneticStoreRejectedDataLocation(v *MagneticStoreRejectedDataLocation) *MagneticStoreWriteProperties { + s.MagneticStoreRejectedDataLocation = v + return s +} + +// Represents the data attribute of the time series. For example, the CPU utilization +// of an EC2 instance or the RPM of a wind turbine are measures. MeasureValue +// has both name and value. +// +// MeasureValue is only allowed for type MULTI. Using MULTI type, you can pass +// multiple data attributes associated with the same time series in a single +// record +type MeasureValue struct { + _ struct{} `type:"structure"` + + // The name of the MeasureValue. + // + // For constraints on MeasureValue names, see Naming Constraints (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html#limits.naming) + // in the Amazon Timestream Developer Guide. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Contains the data type of the MeasureValue for the time-series data point. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"MeasureValueType"` + + // The value for the MeasureValue. + // + // Value is a required field + Value *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MeasureValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MeasureValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MeasureValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MeasureValue"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *MeasureValue) SetName(v string) *MeasureValue { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *MeasureValue) SetType(v string) *MeasureValue { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *MeasureValue) SetValue(v string) *MeasureValue { + s.Value = &v + return s +} + +type MixedMeasureMapping struct { + _ struct{} `type:"structure"` + + MeasureName *string `min:"1" type:"string"` + + // MeasureValueType is a required field + MeasureValueType *string `type:"string" required:"true" enum:"MeasureValueType"` + + MultiMeasureAttributeMappings []*MultiMeasureAttributeMapping `min:"1" type:"list"` + + SourceColumn *string `min:"1" type:"string"` + + TargetMeasureName *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MixedMeasureMapping) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MixedMeasureMapping) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *MixedMeasureMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MixedMeasureMapping"} + if s.MeasureName != nil && len(*s.MeasureName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MeasureName", 1)) + } + if s.MeasureValueType == nil { + invalidParams.Add(request.NewErrParamRequired("MeasureValueType")) + } + if s.MultiMeasureAttributeMappings != nil && len(s.MultiMeasureAttributeMappings) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiMeasureAttributeMappings", 1)) + } + if s.SourceColumn != nil && len(*s.SourceColumn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceColumn", 1)) + } + if s.TargetMeasureName != nil && len(*s.TargetMeasureName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetMeasureName", 1)) + } + if s.MultiMeasureAttributeMappings != nil { + for i, v := range s.MultiMeasureAttributeMappings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MultiMeasureAttributeMappings", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMeasureName sets the MeasureName field's value. +func (s *MixedMeasureMapping) SetMeasureName(v string) *MixedMeasureMapping { + s.MeasureName = &v + return s +} + +// SetMeasureValueType sets the MeasureValueType field's value. +func (s *MixedMeasureMapping) SetMeasureValueType(v string) *MixedMeasureMapping { + s.MeasureValueType = &v + return s +} + +// SetMultiMeasureAttributeMappings sets the MultiMeasureAttributeMappings field's value. +func (s *MixedMeasureMapping) SetMultiMeasureAttributeMappings(v []*MultiMeasureAttributeMapping) *MixedMeasureMapping { + s.MultiMeasureAttributeMappings = v + return s +} + +// SetSourceColumn sets the SourceColumn field's value. +func (s *MixedMeasureMapping) SetSourceColumn(v string) *MixedMeasureMapping { + s.SourceColumn = &v + return s +} + +// SetTargetMeasureName sets the TargetMeasureName field's value. +func (s *MixedMeasureMapping) SetTargetMeasureName(v string) *MixedMeasureMapping { + s.TargetMeasureName = &v + return s +} + +type MultiMeasureAttributeMapping struct { + _ struct{} `type:"structure"` + + MeasureValueType *string `type:"string" enum:"ScalarMeasureValueType"` + + // SourceColumn is a required field + SourceColumn *string `min:"1" type:"string" required:"true"` + + TargetMultiMeasureAttributeName *string `min:"1" type:"string"` } // String returns the string representation. @@ -3546,7 +5521,7 @@ type MagneticStoreWriteProperties struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MagneticStoreWriteProperties) String() string { +func (s MultiMeasureAttributeMapping) String() string { return awsutil.Prettify(s) } @@ -3555,20 +5530,21 @@ func (s MagneticStoreWriteProperties) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MagneticStoreWriteProperties) GoString() string { +func (s MultiMeasureAttributeMapping) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *MagneticStoreWriteProperties) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MagneticStoreWriteProperties"} - if s.EnableMagneticStoreWrites == nil { - invalidParams.Add(request.NewErrParamRequired("EnableMagneticStoreWrites")) +func (s *MultiMeasureAttributeMapping) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiMeasureAttributeMapping"} + if s.SourceColumn == nil { + invalidParams.Add(request.NewErrParamRequired("SourceColumn")) } - if s.MagneticStoreRejectedDataLocation != nil { - if err := s.MagneticStoreRejectedDataLocation.Validate(); err != nil { - invalidParams.AddNested("MagneticStoreRejectedDataLocation", err.(request.ErrInvalidParams)) - } + if s.SourceColumn != nil && len(*s.SourceColumn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceColumn", 1)) + } + if s.TargetMultiMeasureAttributeName != nil && len(*s.TargetMultiMeasureAttributeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetMultiMeasureAttributeName", 1)) } if invalidParams.Len() > 0 { @@ -3577,45 +5553,31 @@ func (s *MagneticStoreWriteProperties) Validate() error { return nil } -// SetEnableMagneticStoreWrites sets the EnableMagneticStoreWrites field's value. -func (s *MagneticStoreWriteProperties) SetEnableMagneticStoreWrites(v bool) *MagneticStoreWriteProperties { - s.EnableMagneticStoreWrites = &v +// SetMeasureValueType sets the MeasureValueType field's value. +func (s *MultiMeasureAttributeMapping) SetMeasureValueType(v string) *MultiMeasureAttributeMapping { + s.MeasureValueType = &v return s } -// SetMagneticStoreRejectedDataLocation sets the MagneticStoreRejectedDataLocation field's value. -func (s *MagneticStoreWriteProperties) SetMagneticStoreRejectedDataLocation(v *MagneticStoreRejectedDataLocation) *MagneticStoreWriteProperties { - s.MagneticStoreRejectedDataLocation = v +// SetSourceColumn sets the SourceColumn field's value. +func (s *MultiMeasureAttributeMapping) SetSourceColumn(v string) *MultiMeasureAttributeMapping { + s.SourceColumn = &v return s } -// MeasureValue represents the data attribute of the time series. For example, -// the CPU utilization of an EC2 instance or the RPM of a wind turbine are measures. -// MeasureValue has both name and value. -// -// MeasureValue is only allowed for type MULTI. Using MULTI type, you can pass -// multiple data attributes associated with the same time series in a single -// record -type MeasureValue struct { - _ struct{} `type:"structure"` +// SetTargetMultiMeasureAttributeName sets the TargetMultiMeasureAttributeName field's value. +func (s *MultiMeasureAttributeMapping) SetTargetMultiMeasureAttributeName(v string) *MultiMeasureAttributeMapping { + s.TargetMultiMeasureAttributeName = &v + return s +} - // Name of the MeasureValue. - // - // For constraints on MeasureValue names, refer to Naming Constraints (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html#limits.naming) - // in the Timestream developer guide. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` +type MultiMeasureMappings struct { + _ struct{} `type:"structure"` - // Contains the data type of the MeasureValue for the time series data point. - // - // Type is a required field - Type *string `type:"string" required:"true" enum:"MeasureValueType"` + // MultiMeasureAttributeMappings is a required field + MultiMeasureAttributeMappings []*MultiMeasureAttributeMapping `min:"1" type:"list" required:"true"` - // Value for the MeasureValue. - // - // Value is a required field - Value *string `min:"1" type:"string" required:"true"` + TargetMultiMeasureName *string `min:"1" type:"string"` } // String returns the string representation. @@ -3623,7 +5585,7 @@ type MeasureValue struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MeasureValue) String() string { +func (s MultiMeasureMappings) String() string { return awsutil.Prettify(s) } @@ -3632,27 +5594,31 @@ func (s MeasureValue) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MeasureValue) GoString() string { +func (s MultiMeasureMappings) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *MeasureValue) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MeasureValue"} - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *MultiMeasureMappings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MultiMeasureMappings"} + if s.MultiMeasureAttributeMappings == nil { + invalidParams.Add(request.NewErrParamRequired("MultiMeasureAttributeMappings")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) + if s.MultiMeasureAttributeMappings != nil && len(s.MultiMeasureAttributeMappings) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MultiMeasureAttributeMappings", 1)) } - if s.Value == nil { - invalidParams.Add(request.NewErrParamRequired("Value")) + if s.TargetMultiMeasureName != nil && len(*s.TargetMultiMeasureName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetMultiMeasureName", 1)) } - if s.Value != nil && len(*s.Value) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + if s.MultiMeasureAttributeMappings != nil { + for i, v := range s.MultiMeasureAttributeMappings { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MultiMeasureAttributeMappings", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -3661,33 +5627,27 @@ func (s *MeasureValue) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *MeasureValue) SetName(v string) *MeasureValue { - s.Name = &v - return s -} - -// SetType sets the Type field's value. -func (s *MeasureValue) SetType(v string) *MeasureValue { - s.Type = &v +// SetMultiMeasureAttributeMappings sets the MultiMeasureAttributeMappings field's value. +func (s *MultiMeasureMappings) SetMultiMeasureAttributeMappings(v []*MultiMeasureAttributeMapping) *MultiMeasureMappings { + s.MultiMeasureAttributeMappings = v return s } -// SetValue sets the Value field's value. -func (s *MeasureValue) SetValue(v string) *MeasureValue { - s.Value = &v +// SetTargetMultiMeasureName sets the TargetMultiMeasureName field's value. +func (s *MultiMeasureMappings) SetTargetMultiMeasureName(v string) *MultiMeasureMappings { + s.TargetMultiMeasureName = &v return s } -// Record represents a time series data point being written into Timestream. -// Each record contains an array of dimensions. Dimensions represent the meta -// data attributes of a time series data point such as the instance name or -// availability zone of an EC2 instance. A record also contains the measure -// name which is the name of the measure being collected for example the CPU -// utilization of an EC2 instance. A record also contains the measure value -// and the value type which is the data type of the measure value. In addition, -// the record contains the timestamp when the measure was collected that the -// timestamp unit which represents the granularity of the timestamp. +// Represents a time-series data point being written into Timestream. Each record +// contains an array of dimensions. Dimensions represent the metadata attributes +// of a time-series data point, such as the instance name or Availability Zone +// of an EC2 instance. A record also contains the measure name, which is the +// name of the measure being collected (for example, the CPU utilization of +// an EC2 instance). Additionally, a record contains the measure value and the +// value type, which is the data type of the measure value. Also, the record +// contains the timestamp of when the measure was collected and the timestamp +// unit, which represents the granularity of the timestamp. // // Records have a Version field, which is a 64-bit long that you can use for // updating data points. Writes of a duplicate record with the same dimension, @@ -3698,24 +5658,24 @@ func (s *MeasureValue) SetValue(v string) *MeasureValue { type Record struct { _ struct{} `type:"structure"` - // Contains the list of dimensions for time series data points. + // Contains the list of dimensions for time-series data points. Dimensions []*Dimension `type:"list"` // Measure represents the data attribute of the time series. For example, the // CPU utilization of an EC2 instance or the RPM of a wind turbine are measures. MeasureName *string `min:"1" type:"string"` - // Contains the measure value for the time series data point. + // Contains the measure value for the time-series data point. MeasureValue *string `min:"1" type:"string"` - // Contains the data type of the measure value for the time series data point. + // Contains the data type of the measure value for the time-series data point. // Default type is DOUBLE. MeasureValueType *string `type:"string" enum:"MeasureValueType"` - // Contains the list of MeasureValue for time series data points. + // Contains the list of MeasureValue for time-series data points. // // This is only allowed for type MULTI. For scalar values, use MeasureValue - // attribute of the Record directly. + // attribute of the record directly. MeasureValues []*MeasureValue `type:"list"` // Contains the time at which the measure value for the data point was collected. @@ -3725,14 +5685,14 @@ type Record struct { Time *string `min:"1" type:"string"` // The granularity of the timestamp unit. It indicates if the time value is - // in seconds, milliseconds, nanoseconds or other supported values. Default + // in seconds, milliseconds, nanoseconds, or other supported values. Default // is MILLISECONDS. TimeUnit *string `type:"string" enum:"TimeUnit"` // 64-bit attribute used for record updates. Write requests for duplicate data // with a higher version number will update the existing measure value and version. - // In cases where the measure value is the same, Version will still be updated - // . Default value is 1. + // In cases where the measure value is the same, Version will still be updated. + // Default value is 1. // // Version must be 1 or greater, or you will receive a ValidationException error. Version *int64 `type:"long"` @@ -3893,9 +5853,9 @@ func (s *RecordsIngested) SetTotal(v int64) *RecordsIngested { return s } -// Records that were not successfully inserted into Timestream due to data validation -// issues that must be resolved prior to reinserting time series data into the -// system. +// Represents records that were not successfully inserted into Timestream due +// to data validation issues that must be resolved before reinserting time-series +// data into the system. type RejectedRecord struct { _ struct{} `type:"structure"` @@ -3909,7 +5869,7 @@ type RejectedRecord struct { // // * Records with duplicate data where there are multiple records with the // same dimensions, timestamps, and measure names but: Measure values are - // different Version is not present in the request or the value of version + // different Version is not present in the request, or the value of version // in the new record is equal to or lower than the existing value If Timestream // rejects data for this case, the ExistingVersion field in the RejectedRecords // response will indicate the current record’s version. To force an update, @@ -3917,7 +5877,7 @@ type RejectedRecord struct { // greater than the ExistingVersion. // // * Records with timestamps that lie outside the retention duration of the - // memory store When the retention window is updated, you will receive a + // memory store. When the retention window is updated, you will receive a // RejectedRecords exception if you immediately try to ingest data within // the new window. To avoid a RejectedRecords exception, wait until the duration // of the new window to ingest new data. For further information, see Best @@ -3984,13 +5944,13 @@ func (s *RejectedRecord) SetRecordIndex(v int64) *RejectedRecord { // greater than the ExistingVersion. // // - Records with timestamps that lie outside the retention duration of the -// memory store +// memory store. // // - Records with dimensions or measures that exceed the Timestream defined // limits. // // For more information, see Quotas (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html) -// in the Timestream Developer Guide. +// in the Amazon Timestream Developer Guide. type RejectedRecordsException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -4056,6 +6016,132 @@ func (s *RejectedRecordsException) RequestID() string { return s.RespMetadata.RequestID } +// Report configuration for a batch load task. This contains details about where +// error reports are stored. +type ReportConfiguration struct { + _ struct{} `type:"structure"` + + // Configuration of an S3 location to write error reports and events for a batch + // load. + ReportS3Configuration *ReportS3Configuration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReportConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReportConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReportConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReportConfiguration"} + if s.ReportS3Configuration != nil { + if err := s.ReportS3Configuration.Validate(); err != nil { + invalidParams.AddNested("ReportS3Configuration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetReportS3Configuration sets the ReportS3Configuration field's value. +func (s *ReportConfiguration) SetReportS3Configuration(v *ReportS3Configuration) *ReportConfiguration { + s.ReportS3Configuration = v + return s +} + +type ReportS3Configuration struct { + _ struct{} `type:"structure"` + + // BucketName is a required field + BucketName *string `min:"3" type:"string" required:"true"` + + EncryptionOption *string `type:"string" enum:"S3EncryptionOption"` + + KmsKeyId *string `min:"1" type:"string"` + + ObjectKeyPrefix *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReportS3Configuration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ReportS3Configuration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReportS3Configuration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReportS3Configuration"} + if s.BucketName == nil { + invalidParams.Add(request.NewErrParamRequired("BucketName")) + } + if s.BucketName != nil && len(*s.BucketName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("BucketName", 3)) + } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } + if s.ObjectKeyPrefix != nil && len(*s.ObjectKeyPrefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ObjectKeyPrefix", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBucketName sets the BucketName field's value. +func (s *ReportS3Configuration) SetBucketName(v string) *ReportS3Configuration { + s.BucketName = &v + return s +} + +// SetEncryptionOption sets the EncryptionOption field's value. +func (s *ReportS3Configuration) SetEncryptionOption(v string) *ReportS3Configuration { + s.EncryptionOption = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *ReportS3Configuration) SetKmsKeyId(v string) *ReportS3Configuration { + s.KmsKeyId = &v + return s +} + +// SetObjectKeyPrefix sets the ObjectKeyPrefix field's value. +func (s *ReportS3Configuration) SetObjectKeyPrefix(v string) *ReportS3Configuration { + s.ObjectKeyPrefix = &v + return s +} + // The operation tried to access a nonexistent resource. The resource might // not be specified correctly, or its status might not be ACTIVE. type ResourceNotFoundException struct { @@ -4121,7 +6207,78 @@ func (s *ResourceNotFoundException) RequestID() string { return s.RespMetadata.RequestID } -// Retention properties contain the duration for which your time series data +type ResumeBatchLoadTaskInput struct { + _ struct{} `type:"structure"` + + // The ID of the batch load task to resume. + // + // TaskId is a required field + TaskId *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResumeBatchLoadTaskInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResumeBatchLoadTaskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResumeBatchLoadTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResumeBatchLoadTaskInput"} + if s.TaskId == nil { + invalidParams.Add(request.NewErrParamRequired("TaskId")) + } + if s.TaskId != nil && len(*s.TaskId) < 3 { + invalidParams.Add(request.NewErrParamMinLen("TaskId", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTaskId sets the TaskId field's value. +func (s *ResumeBatchLoadTaskInput) SetTaskId(v string) *ResumeBatchLoadTaskInput { + s.TaskId = &v + return s +} + +type ResumeBatchLoadTaskOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResumeBatchLoadTaskOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResumeBatchLoadTaskOutput) GoString() string { + return s.String() +} + +// Retention properties contain the duration for which your time-series data // must be stored in the magnetic store and the memory store. type RetentionProperties struct { _ struct{} `type:"structure"` @@ -4189,22 +6346,22 @@ func (s *RetentionProperties) SetMemoryStoreRetentionPeriodInHours(v int64) *Ret return s } -// Configuration specifing an S3 location. +// The configuration that specifies an S3 location. type S3Configuration struct { _ struct{} `type:"structure"` - // >Bucket name of the customer S3 bucket. + // The bucket name of the customer S3 bucket. BucketName *string `min:"3" type:"string"` - // Encryption option for the customer s3 location. Options are S3 server side - // encryption with an S3-managed key or KMS managed key. + // The encryption option for the customer S3 location. Options are S3 server-side + // encryption with an S3 managed key or Amazon Web Services managed key. EncryptionOption *string `type:"string" enum:"S3EncryptionOption"` - // KMS key id for the customer s3 location when encrypting with a KMS managed - // key. + // The KMS key ID for the customer S3 location when encrypting with an Amazon + // Web Services managed key. KmsKeyId *string `min:"1" type:"string"` - // Object key preview for the customer S3 location. + // The object key preview for the customer S3 location. ObjectKeyPrefix *string `min:"1" type:"string"` } @@ -4269,7 +6426,7 @@ func (s *S3Configuration) SetObjectKeyPrefix(v string) *S3Configuration { return s } -// Instance quota of resource exceeded for this account. +// The instance quota of resource exceeded for this account. type ServiceQuotaExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -4333,9 +6490,9 @@ func (s *ServiceQuotaExceededException) RequestID() string { return s.RespMetadata.RequestID } -// Table represents a database table in Timestream. Tables contain one or more -// related time series. You can modify the retention duration of the memory -// store and the magnetic store for a table. +// Represents a database table in Timestream. Tables contain one or more related +// time series. You can modify the retention duration of the memory store and +// the magnetic store for a table. type Table struct { _ struct{} `type:"structure"` @@ -4435,8 +6592,8 @@ func (s *Table) SetTableStatus(v string) *Table { } // A tag is a label that you assign to a Timestream database and/or table. Each -// tag consists of a key and an optional value, both of which you define. Tags -// enable you to categorize databases and/or tables, for example, by purpose, +// tag consists of a key and an optional value, both of which you define. With +// tags, you can categorize databases and/or tables, for example, by purpose, // owner, or environment. type Tag struct { _ struct{} `type:"structure"` @@ -4597,8 +6754,8 @@ func (s TagResourceOutput) GoString() string { return s.String() } -// Too many requests were made by a user exceeding service quotas. The request -// was throttled. +// Too many requests were made by a user and they exceeded the service quotas. +// The request was throttled. type ThrottlingException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -4827,7 +6984,7 @@ func (s *UpdateDatabaseInput) SetKmsKeyId(v string) *UpdateDatabaseInput { type UpdateDatabaseOutput struct { _ struct{} `type:"structure"` - // A top level container for a table. Databases and tables are the fundamental + // A top-level container for a table. Databases and tables are the fundamental // management concepts in Amazon Timestream. All tables in a database are encrypted // with the same KMS key. Database *Database `type:"structure"` @@ -4976,7 +7133,7 @@ func (s *UpdateTableOutput) SetTable(v *Table) *UpdateTableOutput { return s } -// Invalid or malformed request. +// An invalid or malformed request. type ValidationException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -5043,7 +7200,7 @@ func (s *ValidationException) RequestID() string { type WriteRecordsInput struct { _ struct{} `type:"structure"` - // A record containing the common measure, dimension, time, and version attributes + // A record that contains the common measure, dimension, time, and version attributes // shared across all the records in the request. The measure and dimension attributes // specified will be merged with the measure and dimension attributes in the // records object when the data is written into Timestream. Dimensions may not @@ -5056,8 +7213,8 @@ type WriteRecordsInput struct { // DatabaseName is a required field DatabaseName *string `type:"string" required:"true"` - // An array of records containing the unique measure, dimension, time, and version - // attributes for each time series data point. + // An array of records that contain the unique measure, dimension, time, and + // version attributes for each time-series data point. // // Records is a required field Records []*Record `min:"1" type:"list" required:"true"` @@ -5178,6 +7335,50 @@ func (s *WriteRecordsOutput) SetRecordsIngested(v *RecordsIngested) *WriteRecord return s } +const ( + // BatchLoadDataFormatCsv is a BatchLoadDataFormat enum value + BatchLoadDataFormatCsv = "CSV" +) + +// BatchLoadDataFormat_Values returns all elements of the BatchLoadDataFormat enum +func BatchLoadDataFormat_Values() []string { + return []string{ + BatchLoadDataFormatCsv, + } +} + +const ( + // BatchLoadStatusCreated is a BatchLoadStatus enum value + BatchLoadStatusCreated = "CREATED" + + // BatchLoadStatusInProgress is a BatchLoadStatus enum value + BatchLoadStatusInProgress = "IN_PROGRESS" + + // BatchLoadStatusFailed is a BatchLoadStatus enum value + BatchLoadStatusFailed = "FAILED" + + // BatchLoadStatusSucceeded is a BatchLoadStatus enum value + BatchLoadStatusSucceeded = "SUCCEEDED" + + // BatchLoadStatusProgressStopped is a BatchLoadStatus enum value + BatchLoadStatusProgressStopped = "PROGRESS_STOPPED" + + // BatchLoadStatusPendingResume is a BatchLoadStatus enum value + BatchLoadStatusPendingResume = "PENDING_RESUME" +) + +// BatchLoadStatus_Values returns all elements of the BatchLoadStatus enum +func BatchLoadStatus_Values() []string { + return []string{ + BatchLoadStatusCreated, + BatchLoadStatusInProgress, + BatchLoadStatusFailed, + BatchLoadStatusSucceeded, + BatchLoadStatusProgressStopped, + BatchLoadStatusPendingResume, + } +} + const ( // DimensionValueTypeVarchar is a DimensionValueType enum value DimensionValueTypeVarchar = "VARCHAR" @@ -5238,12 +7439,43 @@ func S3EncryptionOption_Values() []string { } } +const ( + // ScalarMeasureValueTypeDouble is a ScalarMeasureValueType enum value + ScalarMeasureValueTypeDouble = "DOUBLE" + + // ScalarMeasureValueTypeBigint is a ScalarMeasureValueType enum value + ScalarMeasureValueTypeBigint = "BIGINT" + + // ScalarMeasureValueTypeBoolean is a ScalarMeasureValueType enum value + ScalarMeasureValueTypeBoolean = "BOOLEAN" + + // ScalarMeasureValueTypeVarchar is a ScalarMeasureValueType enum value + ScalarMeasureValueTypeVarchar = "VARCHAR" + + // ScalarMeasureValueTypeTimestamp is a ScalarMeasureValueType enum value + ScalarMeasureValueTypeTimestamp = "TIMESTAMP" +) + +// ScalarMeasureValueType_Values returns all elements of the ScalarMeasureValueType enum +func ScalarMeasureValueType_Values() []string { + return []string{ + ScalarMeasureValueTypeDouble, + ScalarMeasureValueTypeBigint, + ScalarMeasureValueTypeBoolean, + ScalarMeasureValueTypeVarchar, + ScalarMeasureValueTypeTimestamp, + } +} + const ( // TableStatusActive is a TableStatus enum value TableStatusActive = "ACTIVE" // TableStatusDeleting is a TableStatus enum value TableStatusDeleting = "DELETING" + + // TableStatusRestoring is a TableStatus enum value + TableStatusRestoring = "RESTORING" ) // TableStatus_Values returns all elements of the TableStatus enum @@ -5251,6 +7483,7 @@ func TableStatus_Values() []string { return []string{ TableStatusActive, TableStatusDeleting, + TableStatusRestoring, } } diff --git a/service/timestreamwrite/doc.go b/service/timestreamwrite/doc.go index ba76a3be902..6734935a233 100644 --- a/service/timestreamwrite/doc.go +++ b/service/timestreamwrite/doc.go @@ -3,19 +3,21 @@ // Package timestreamwrite provides the client and types for making API // requests to Amazon Timestream Write. // -// Amazon Timestream is a fast, scalable, fully managed time series database -// service that makes it easy to store and analyze trillions of time series +// Amazon Timestream is a fast, scalable, fully managed time-series database +// service that makes it easy to store and analyze trillions of time-series // data points per day. With Timestream, you can easily store and analyze IoT // sensor data to derive insights from your IoT applications. You can analyze // industrial telemetry to streamline equipment management and maintenance. // You can also store and analyze log data and metrics to improve the performance -// and availability of your applications. Timestream is built from the ground -// up to effectively ingest, process, and store time series data. It organizes -// data to optimize query processing. It automatically scales based on the volume -// of data ingested and on the query volume to ensure you receive optimal performance -// while inserting and querying data. As your data grows over time, Timestream’s -// adaptive query processing engine spans across storage tiers to provide fast -// analysis while reducing costs. +// and availability of your applications. +// +// Timestream is built from the ground up to effectively ingest, process, and +// store time-series data. It organizes data to optimize query processing. It +// automatically scales based on the volume of data ingested and on the query +// volume to ensure you receive optimal performance while inserting and querying +// data. As your data grows over time, Timestream’s adaptive query processing +// engine spans across storage tiers to provide fast analysis while reducing +// costs. // // See https://docs.aws.amazon.com/goto/WebAPI/timestream-write-2018-11-01 for more information on this service. // diff --git a/service/timestreamwrite/errors.go b/service/timestreamwrite/errors.go index a62afee09dc..aea505971ca 100644 --- a/service/timestreamwrite/errors.go +++ b/service/timestreamwrite/errors.go @@ -31,7 +31,7 @@ const ( // ErrCodeInvalidEndpointException for service response error code // "InvalidEndpointException". // - // The requested endpoint was invalid. + // The requested endpoint was not valid. ErrCodeInvalidEndpointException = "InvalidEndpointException" // ErrCodeRejectedRecordsException for service response error code @@ -49,13 +49,13 @@ const ( // greater than the ExistingVersion. // // * Records with timestamps that lie outside the retention duration of the - // memory store + // memory store. // // * Records with dimensions or measures that exceed the Timestream defined // limits. // // For more information, see Quotas (https://docs.aws.amazon.com/timestream/latest/developerguide/ts-limits.html) - // in the Timestream Developer Guide. + // in the Amazon Timestream Developer Guide. ErrCodeRejectedRecordsException = "RejectedRecordsException" // ErrCodeResourceNotFoundException for service response error code @@ -68,20 +68,20 @@ const ( // ErrCodeServiceQuotaExceededException for service response error code // "ServiceQuotaExceededException". // - // Instance quota of resource exceeded for this account. + // The instance quota of resource exceeded for this account. ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" // ErrCodeThrottlingException for service response error code // "ThrottlingException". // - // Too many requests were made by a user exceeding service quotas. The request - // was throttled. + // Too many requests were made by a user and they exceeded the service quotas. + // The request was throttled. ErrCodeThrottlingException = "ThrottlingException" // ErrCodeValidationException for service response error code // "ValidationException". // - // Invalid or malformed request. + // An invalid or malformed request. ErrCodeValidationException = "ValidationException" ) diff --git a/service/timestreamwrite/timestreamwriteiface/interface.go b/service/timestreamwrite/timestreamwriteiface/interface.go index 804b6102b81..cc825766837 100644 --- a/service/timestreamwrite/timestreamwriteiface/interface.go +++ b/service/timestreamwrite/timestreamwriteiface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // Amazon Timestream Write. // func myFunc(svc timestreamwriteiface.TimestreamWriteAPI) bool { -// // Make svc.CreateDatabase request +// // Make svc.CreateBatchLoadTask request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockTimestreamWriteClient struct { // timestreamwriteiface.TimestreamWriteAPI // } -// func (m *mockTimestreamWriteClient) CreateDatabase(input *timestreamwrite.CreateDatabaseInput) (*timestreamwrite.CreateDatabaseOutput, error) { +// func (m *mockTimestreamWriteClient) CreateBatchLoadTask(input *timestreamwrite.CreateBatchLoadTaskInput) (*timestreamwrite.CreateBatchLoadTaskOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type TimestreamWriteAPI interface { + CreateBatchLoadTask(*timestreamwrite.CreateBatchLoadTaskInput) (*timestreamwrite.CreateBatchLoadTaskOutput, error) + CreateBatchLoadTaskWithContext(aws.Context, *timestreamwrite.CreateBatchLoadTaskInput, ...request.Option) (*timestreamwrite.CreateBatchLoadTaskOutput, error) + CreateBatchLoadTaskRequest(*timestreamwrite.CreateBatchLoadTaskInput) (*request.Request, *timestreamwrite.CreateBatchLoadTaskOutput) + CreateDatabase(*timestreamwrite.CreateDatabaseInput) (*timestreamwrite.CreateDatabaseOutput, error) CreateDatabaseWithContext(aws.Context, *timestreamwrite.CreateDatabaseInput, ...request.Option) (*timestreamwrite.CreateDatabaseOutput, error) CreateDatabaseRequest(*timestreamwrite.CreateDatabaseInput) (*request.Request, *timestreamwrite.CreateDatabaseOutput) @@ -76,6 +80,10 @@ type TimestreamWriteAPI interface { DeleteTableWithContext(aws.Context, *timestreamwrite.DeleteTableInput, ...request.Option) (*timestreamwrite.DeleteTableOutput, error) DeleteTableRequest(*timestreamwrite.DeleteTableInput) (*request.Request, *timestreamwrite.DeleteTableOutput) + DescribeBatchLoadTask(*timestreamwrite.DescribeBatchLoadTaskInput) (*timestreamwrite.DescribeBatchLoadTaskOutput, error) + DescribeBatchLoadTaskWithContext(aws.Context, *timestreamwrite.DescribeBatchLoadTaskInput, ...request.Option) (*timestreamwrite.DescribeBatchLoadTaskOutput, error) + DescribeBatchLoadTaskRequest(*timestreamwrite.DescribeBatchLoadTaskInput) (*request.Request, *timestreamwrite.DescribeBatchLoadTaskOutput) + DescribeDatabase(*timestreamwrite.DescribeDatabaseInput) (*timestreamwrite.DescribeDatabaseOutput, error) DescribeDatabaseWithContext(aws.Context, *timestreamwrite.DescribeDatabaseInput, ...request.Option) (*timestreamwrite.DescribeDatabaseOutput, error) DescribeDatabaseRequest(*timestreamwrite.DescribeDatabaseInput) (*request.Request, *timestreamwrite.DescribeDatabaseOutput) @@ -88,6 +96,13 @@ type TimestreamWriteAPI interface { DescribeTableWithContext(aws.Context, *timestreamwrite.DescribeTableInput, ...request.Option) (*timestreamwrite.DescribeTableOutput, error) DescribeTableRequest(*timestreamwrite.DescribeTableInput) (*request.Request, *timestreamwrite.DescribeTableOutput) + ListBatchLoadTasks(*timestreamwrite.ListBatchLoadTasksInput) (*timestreamwrite.ListBatchLoadTasksOutput, error) + ListBatchLoadTasksWithContext(aws.Context, *timestreamwrite.ListBatchLoadTasksInput, ...request.Option) (*timestreamwrite.ListBatchLoadTasksOutput, error) + ListBatchLoadTasksRequest(*timestreamwrite.ListBatchLoadTasksInput) (*request.Request, *timestreamwrite.ListBatchLoadTasksOutput) + + ListBatchLoadTasksPages(*timestreamwrite.ListBatchLoadTasksInput, func(*timestreamwrite.ListBatchLoadTasksOutput, bool) bool) error + ListBatchLoadTasksPagesWithContext(aws.Context, *timestreamwrite.ListBatchLoadTasksInput, func(*timestreamwrite.ListBatchLoadTasksOutput, bool) bool, ...request.Option) error + ListDatabases(*timestreamwrite.ListDatabasesInput) (*timestreamwrite.ListDatabasesOutput, error) ListDatabasesWithContext(aws.Context, *timestreamwrite.ListDatabasesInput, ...request.Option) (*timestreamwrite.ListDatabasesOutput, error) ListDatabasesRequest(*timestreamwrite.ListDatabasesInput) (*request.Request, *timestreamwrite.ListDatabasesOutput) @@ -106,6 +121,10 @@ type TimestreamWriteAPI interface { ListTagsForResourceWithContext(aws.Context, *timestreamwrite.ListTagsForResourceInput, ...request.Option) (*timestreamwrite.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*timestreamwrite.ListTagsForResourceInput) (*request.Request, *timestreamwrite.ListTagsForResourceOutput) + ResumeBatchLoadTask(*timestreamwrite.ResumeBatchLoadTaskInput) (*timestreamwrite.ResumeBatchLoadTaskOutput, error) + ResumeBatchLoadTaskWithContext(aws.Context, *timestreamwrite.ResumeBatchLoadTaskInput, ...request.Option) (*timestreamwrite.ResumeBatchLoadTaskOutput, error) + ResumeBatchLoadTaskRequest(*timestreamwrite.ResumeBatchLoadTaskInput) (*request.Request, *timestreamwrite.ResumeBatchLoadTaskOutput) + TagResource(*timestreamwrite.TagResourceInput) (*timestreamwrite.TagResourceOutput, error) TagResourceWithContext(aws.Context, *timestreamwrite.TagResourceInput, ...request.Option) (*timestreamwrite.TagResourceOutput, error) TagResourceRequest(*timestreamwrite.TagResourceInput) (*request.Request, *timestreamwrite.TagResourceOutput)