diff --git a/.changes/1.35.87.json b/.changes/1.35.87.json new file mode 100644 index 0000000000..c3153f7f8a --- /dev/null +++ b/.changes/1.35.87.json @@ -0,0 +1,22 @@ +[ + { + "category": "``ecr``", + "description": "Documentation update for ECR GetAccountSetting and PutAccountSetting APIs.", + "type": "api-change" + }, + { + "category": "``ecr-public``", + "description": "Add support for Dualstack endpoints", + "type": "api-change" + }, + { + "category": "``eks``", + "description": "This release adds support for DescribeClusterVersions API that provides important information about Kubernetes versions along with end of support dates", + "type": "api-change" + }, + { + "category": "``glue``", + "description": "Add IncludeRoot parameters to GetCatalogs API to return root catalog.", + "type": "api-change" + } +] \ No newline at end of file diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 634a45a772..6dfea9b8ff 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,15 @@ CHANGELOG ========= +1.35.87 +======= + +* api-change:``ecr``: Documentation update for ECR GetAccountSetting and PutAccountSetting APIs. +* api-change:``ecr-public``: Add support for Dualstack endpoints +* api-change:``eks``: This release adds support for DescribeClusterVersions API that provides important information about Kubernetes versions along with end of support dates +* api-change:``glue``: Add IncludeRoot parameters to GetCatalogs API to return root catalog. + + 1.35.86 ======= diff --git a/botocore/__init__.py b/botocore/__init__.py index c72a49c9fa..90bfa3a343 100644 --- a/botocore/__init__.py +++ b/botocore/__init__.py @@ -16,7 +16,7 @@ import os import re -__version__ = '1.35.86' +__version__ = '1.35.87' class NullHandler(logging.Handler): diff --git a/botocore/data/ecr-public/2020-10-30/endpoint-rule-set-1.json b/botocore/data/ecr-public/2020-10-30/endpoint-rule-set-1.json index a3c2e8ec89..32e8d26a88 100644 --- a/botocore/data/ecr-public/2020-10-30/endpoint-rule-set-1.json +++ b/botocore/data/ecr-public/2020-10-30/endpoint-rule-set-1.json @@ -7,13 +7,6 @@ "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, @@ -21,11 +14,12 @@ "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" + "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" } }, "rules": [ @@ -35,12 +29,20 @@ "fn": "isSet", "argv": [ { - "ref": "Endpoint" + "ref": "Region" } ] + }, + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -54,7 +56,7 @@ ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "ECR Public does not support FIPS", "type": "error" }, { @@ -69,246 +71,57 @@ ] } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "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": [ + true, { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://api.ecr-public-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": [], - "endpoint": { - "url": "https://api.ecr-public-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 - ] + "endpoint": { + "url": "https://ecr-public.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://api.ecr-public.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ] + "type": "tree" }, { "conditions": [], - "endpoint": { - "url": "https://api.ecr-public.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Dualstack is enabled but this partition does not support dualstack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://api.ecr-public.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } ] } \ No newline at end of file diff --git a/botocore/data/ecr-public/2020-10-30/service-2.json b/botocore/data/ecr-public/2020-10-30/service-2.json index a880f21013..0f11cda227 100644 --- a/botocore/data/ecr-public/2020-10-30/service-2.json +++ b/botocore/data/ecr-public/2020-10-30/service-2.json @@ -5,13 +5,15 @@ "endpointPrefix":"api.ecr-public", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"Amazon ECR Public", "serviceFullName":"Amazon Elastic Container Registry Public", "serviceId":"ECR PUBLIC", "signatureVersion":"v4", "signingName":"ecr-public", "targetPrefix":"SpencerFrontendService", - "uid":"ecr-public-2020-10-30" + "uid":"ecr-public-2020-10-30", + "auth":["aws.auth#sigv4"] }, "operations":{ "BatchCheckLayerAvailability":{ diff --git a/botocore/data/ecr/2015-09-21/service-2.json b/botocore/data/ecr/2015-09-21/service-2.json index 4c353da20b..e1ecff9432 100644 --- a/botocore/data/ecr/2015-09-21/service-2.json +++ b/botocore/data/ecr/2015-09-21/service-2.json @@ -380,7 +380,7 @@ {"shape":"ValidationException"}, {"shape":"InvalidParameterException"} ], - "documentation":"
Retrieves the basic scan type version name.
" + "documentation":"Retrieves the account setting value for the specified setting name.
" }, "GetAuthorizationToken":{ "name":"GetAuthorizationToken", @@ -555,7 +555,7 @@ {"shape":"InvalidParameterException"}, {"shape":"LimitExceededException"} ], - "documentation":"Allows you to change the basic scan type version by setting the name
parameter to either CLAIR
to AWS_NATIVE
.
Allows you to change the basic scan type version or registry policy scope.
" }, "PutImage":{ "name":"PutImage", @@ -1950,7 +1950,7 @@ "members":{ "name":{ "shape":"AccountSettingName", - "documentation":"Basic scan type version name.
" + "documentation":"The name of the account setting, such as BASIC_SCAN_TYPE_VERSION
or REGISTRY_POLICY_SCOPE
.
Retrieves the basic scan type version name.
" + "documentation":"Retrieves the name of the account setting.
" }, "value":{ "shape":"AccountSettingName", - "documentation":"Retrieves the value that specifies what basic scan type is being used: AWS_NATIVE
or CLAIR
.
The setting value for the setting name. The following are valid values for the basic scan type being used: AWS_NATIVE
or CLAIR
. The following are valid values for the registry policy scope being used: V1
or V2
.
Basic scan type version name.
" + "documentation":"The name of the account setting, such as BASIC_SCAN_TYPE_VERSION
or REGISTRY_POLICY_SCOPE
.
Setting value that determines what basic scan type is being used: AWS_NATIVE
or CLAIR
.
Setting value that is specified. The following are valid values for the basic scan type being used: AWS_NATIVE
or CLAIR
. The following are valid values for the registry policy scope being used: V1
or V2
.
Retrieves the the basic scan type version name.
" + "documentation":"Retrieves the name of the account setting.
" }, "value":{ "shape":"AccountSettingValue", - "documentation":"Retrieves the basic scan type value, either AWS_NATIVE
or -
.
Retrieves the value of the specified account setting.
" } } }, diff --git a/botocore/data/eks/2017-11-01/paginators-1.json b/botocore/data/eks/2017-11-01/paginators-1.json index a89a938f81..6be3631ff6 100644 --- a/botocore/data/eks/2017-11-01/paginators-1.json +++ b/botocore/data/eks/2017-11-01/paginators-1.json @@ -81,6 +81,12 @@ "limit_key": "maxResults", "output_token": "nextToken", "result_key": "insights" + }, + "DescribeClusterVersions": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "clusterVersions" } } } diff --git a/botocore/data/eks/2017-11-01/service-2.json b/botocore/data/eks/2017-11-01/service-2.json index afc845c26b..fb1e253d14 100644 --- a/botocore/data/eks/2017-11-01/service-2.json +++ b/botocore/data/eks/2017-11-01/service-2.json @@ -405,6 +405,21 @@ ], "documentation":"Describes an Amazon EKS cluster.
The API server endpoint and certificate authority data returned by this operation are required for kubelet
and kubectl
to communicate with your Kubernetes API server. For more information, see Creating or updating a kubeconfig
file for an Amazon EKS cluster.
The API server endpoint and certificate authority data aren't available until the cluster reaches the ACTIVE
state.
Lists available Kubernetes versions for Amazon EKS clusters.
" + }, "DescribeEksAnywhereSubscription":{ "name":"DescribeEksAnywhereSubscription", "http":{ @@ -1154,10 +1169,10 @@ }, "compatibleVersions":{ "shape":"StringList", - "documentation":"The list of compatible Amazon EKS add-on versions for the next Kubernetes version.
" + "documentation":"A list of compatible add-on versions.
" } }, - "documentation":"The summary information about the Amazon EKS add-on compatibility for the next Kubernetes version for an insight check in the UPGRADE_READINESS
category.
Contains compatibility information for an Amazon EKS add-on.
" }, "AddonCompatibilityDetails":{ "type":"list", @@ -1790,6 +1805,60 @@ "PENDING" ] }, + "ClusterVersionInformation":{ + "type":"structure", + "members":{ + "clusterVersion":{ + "shape":"String", + "documentation":"The Kubernetes version for the cluster.
" + }, + "clusterType":{ + "shape":"String", + "documentation":"The type of cluster this version is for.
" + }, + "defaultPlatformVersion":{ + "shape":"String", + "documentation":"Default platform version for this Kubernetes version.
" + }, + "defaultVersion":{ + "shape":"Boolean", + "documentation":"Indicates if this is a default version.
" + }, + "releaseDate":{ + "shape":"Timestamp", + "documentation":"The release date of this cluster version.
" + }, + "endOfStandardSupportDate":{ + "shape":"Timestamp", + "documentation":"Date when standard support ends for this version.
" + }, + "endOfExtendedSupportDate":{ + "shape":"Timestamp", + "documentation":"Date when extended support ends for this version.
" + }, + "status":{ + "shape":"ClusterVersionStatus", + "documentation":"Current status of this cluster version.
" + }, + "kubernetesPatchVersion":{ + "shape":"String", + "documentation":"The patch version of Kubernetes for this cluster version.
" + } + }, + "documentation":"Contains details about a specific EKS cluster version.
" + }, + "ClusterVersionList":{ + "type":"list", + "member":{"shape":"ClusterVersionInformation"} + }, + "ClusterVersionStatus":{ + "type":"string", + "enum":[ + "unsupported", + "standard-support", + "extended-support" + ] + }, "Compatibilities":{ "type":"list", "member":{"shape":"Compatibility"} @@ -2796,6 +2865,72 @@ } } }, + "DescribeClusterVersionMaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "DescribeClusterVersionsRequest":{ + "type":"structure", + "members":{ + "clusterType":{ + "shape":"String", + "documentation":"The type of cluster to filter versions by.
", + "location":"querystring", + "locationName":"clusterType" + }, + "maxResults":{ + "shape":"DescribeClusterVersionMaxResults", + "documentation":"Maximum number of results to return.
", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"String", + "documentation":"Pagination token for the next set of results.
", + "location":"querystring", + "locationName":"nextToken" + }, + "defaultOnly":{ + "shape":"BoxedBoolean", + "documentation":"Filter to show only default versions.
", + "location":"querystring", + "locationName":"defaultOnly" + }, + "includeAll":{ + "shape":"BoxedBoolean", + "documentation":"Include all available versions in the response.
", + "location":"querystring", + "locationName":"includeAll" + }, + "clusterVersions":{ + "shape":"StringList", + "documentation":"List of specific cluster versions to describe.
", + "location":"querystring", + "locationName":"clusterVersions" + }, + "status":{ + "shape":"ClusterVersionStatus", + "documentation":"Filter versions by their current status.
", + "location":"querystring", + "locationName":"status" + } + } + }, + "DescribeClusterVersionsResponse":{ + "type":"structure", + "members":{ + "nextToken":{ + "shape":"String", + "documentation":"Pagination token for the next set of results.
" + }, + "clusterVersions":{ + "shape":"ClusterVersionList", + "documentation":"List of cluster version information objects.
" + } + } + }, "DescribeEksAnywhereSubscriptionRequest":{ "type":"structure", "required":["id"], @@ -3480,7 +3615,7 @@ }, "addonCompatibilityDetails":{ "shape":"AddonCompatibilityDetails", - "documentation":"A list of AddonCompatibilityDetail
objects for Amazon EKS add-ons.
A list of AddonCompatibilityDetail objects for Amazon EKS add-ons.
" } }, "documentation":"Summary information that relates to the category of the insight. Currently only returned with certain insights having category UPGRADE_READINESS
.
When specified as true, iterates through the account and returns all catalog resources (including top-level resources and child resources)
" + "documentation":"Whether to list all catalogs across the catalog hierarchy, starting from the ParentCatalogId
. Defaults to false
. When true
, all catalog objects in the ParentCatalogID
hierarchy are enumerated in the response.
Whether to list the default catalog in the account and region in the response. Defaults to false
. When true
and ParentCatalogId = NULL | Amazon Web Services Account ID
, all catalogs and the default catalog are enumerated in the response.
When the ParentCatalogId
is not equal to null, and this attribute is passed as false
or true
, an InvalidInputException
is thrown.
The JobRun
timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT
status. This value overrides the timeout value set in the parent job.
Streaming jobs must have timeout values less than 7 days or 10080 minutes. When the value is left blank, the job will be restarted after 7 days based if you have not setup a maintenance window. If you have setup maintenance window, it will be restarted during the maintenance window after 7 days.
" + "documentation":"The JobRun
timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT
status. This value overrides the timeout value set in the parent job.
Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception.
When the value is left blank, the timeout is defaulted to 2880 minutes.
Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day.
" }, "MaxCapacity":{ "shape":"NullableDouble", @@ -23714,7 +23718,7 @@ }, "Timeout":{ "shape":"Timeout", - "documentation":"The JobRun
timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT
status. This value overrides the timeout value set in the parent job.
Streaming jobs must have timeout values less than 7 days or 10080 minutes. When the value is left blank, the job will be restarted after 7 days based if you have not setup a maintenance window. If you have setup maintenance window, it will be restarted during the maintenance window after 7 days.
" + "documentation":"The JobRun
timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters TIMEOUT
status. This value overrides the timeout value set in the parent job.
Jobs must have timeout values less than 7 days or 10080 minutes. Otherwise, the jobs will throw an exception.
When the value is left blank, the timeout is defaulted to 2880 minutes.
Any existing Glue jobs that had a timeout value greater than 7 days will be defaulted to 7 days. For instance if you have specified a timeout of 20 days for a batch job, it will be stopped on the 7th day.
" }, "MaxCapacity":{ "shape":"NullableDouble", diff --git a/docs/source/conf.py b/docs/source/conf.py index 654b1940fe..5f83bd436c 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -59,7 +59,7 @@ # The short X.Y version. version = '1.35.' # The full version, including alpha/beta/rc tags. -release = '1.35.86' +release = '1.35.87' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/tests/functional/endpoint-rules/ecr-public/endpoint-tests-1.json b/tests/functional/endpoint-rules/ecr-public/endpoint-tests-1.json index a5d16d9e71..54a8c84ada 100644 --- a/tests/functional/endpoint-rules/ecr-public/endpoint-tests-1.json +++ b/tests/functional/endpoint-rules/ecr-public/endpoint-tests-1.json @@ -1,312 +1,69 @@ { "testCases": [ { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-public-fips.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-public-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-public.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "Valid with dualstack and FIPS disabled. i.e, IPv4 Only stack with no FIPS, with special prefix", "expect": { "endpoint": { "url": "https://api.ecr-public.us-east-1.amazonaws.com" } }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-public-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-public-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-public.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-public.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-public-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-public-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-public.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-public.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "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": { - "Region": "us-iso-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-public-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "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": { - "Region": "us-iso-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-public.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "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": { - "Region": "us-isob-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-public-fips.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "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": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.ecr-public.us-isob-east-1.sc2s.sgov.gov" + "operationInputs": [ + { + "builtInParams": { + "AWS::Region": "us-east-1" + }, + "operationName": "DescribeRegistries" } - }, + ], "params": { - "Region": "us-isob-east-1", + "UseDualStack": false, "UseFIPS": false, - "UseDualStack": false + "Region": "us-east-1" } }, { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "documentation": "Valid with dualstack enabled", "expect": { "endpoint": { - "url": "https://example.com" + "url": "https://ecr-public.us-east-1.api.aws" } }, "params": { - "Region": "us-east-1", + "UseDualStack": true, "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-east-1" } }, { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "documentation": "Invalid with FIPS set, dualstack disabled", "expect": { - "endpoint": { - "url": "https://example.com" - } + "error": "ECR Public does not support FIPS" }, "params": { - "UseFIPS": false, "UseDualStack": false, - "Endpoint": "https://example.com" + "UseFIPS": true, + "Region": "us-east-1" } }, { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "documentation": "Invalid with both dualstack and FIPS enabled", "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + "error": "ECR Public does not support FIPS" }, "params": { - "Region": "us-east-1", + "UseDualStack": true, "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-east-1" } }, { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "documentation": "Invalid with DualStack enabled and partition does not support Dualstack", "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + "error": "Dualstack is enabled but this partition does not support dualstack" }, "params": { - "Region": "us-east-1", - "UseFIPS": false, "UseDualStack": true, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "Missing region", - "expect": { - "error": "Invalid Configuration: Missing Region" + "Region": "us-isob-east-1" } } ],