diff --git a/.github/workflows/ci-branch.yaml b/.github/workflows/ci-branch.yaml
index 66afa84d2f..2cc66e81f6 100644
--- a/.github/workflows/ci-branch.yaml
+++ b/.github/workflows/ci-branch.yaml
@@ -74,3 +74,4 @@ jobs:
ignore-vulns: |
GHSA-r9hx-vwmv-q579
PYSEC-2022-43012
+ PYSEC-2024-60
diff --git a/.github/workflows/ci-pr.yaml b/.github/workflows/ci-pr.yaml
index c12874ab74..8fab70662c 100644
--- a/.github/workflows/ci-pr.yaml
+++ b/.github/workflows/ci-pr.yaml
@@ -94,3 +94,4 @@ jobs:
ignore-vulns: |
GHSA-r9hx-vwmv-q579
PYSEC-2022-43012
+ PYSEC-2024-60
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d61708b1d9..3991f0ab2a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,61 @@
+### v1.6.1
+## What's Changed
+* SAM transform replace AutoPublishCodeSha256 by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3497
+* Change return type of conditions `build_scenerios_on_region` to be a `list[bool]` by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3498
+
+**Full Changelog**: https://github.com/aws-cloudformation/cfn-lint/compare/v1.6.0...v1.6.1
+
+### v1.6.0
+## What's Changed
+* Update CloudFormation schemas to 2024-07-11 by @github-actions in https://github.com/aws-cloudformation/cfn-lint/pull/3484
+* Return all errors from resolution by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3489
+* Disable [W1020](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/rules.md#W1020) when using SAM by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3491
+* Use region when looking for a resolver being satisfied by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3490
+
+**Full Changelog**: https://github.com/aws-cloudformation/cfn-lint/compare/v1.5.3...v1.6.0
+
+### v1.5.3
+## What's Changed
+* Load registry schemas before implementing patching by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3486
+* Force resolve validation to not use strict types by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3488
+
+**Full Changelog**: https://github.com/aws-cloudformation/cfn-lint/compare/v1.5.2...v1.5.3
+
+### v1.5.2
+## What's Changed
+* Update CloudFormation schemas to 2024-07-09 by @github-actions in https://github.com/aws-cloudformation/cfn-lint/pull/3457
+* Update logging configuration to not log when used as a library by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3479
+* Add `AWS::ServiceCatalog::CloudFormationProvisionedProduct` to exceptions for [E1040](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/rules.md#E1040) by @kylekluever in https://github.com/aws-cloudformation/cfn-lint/pull/3481
+* Allow ICMP to have `FromPort` other than -1 with `ToPort` -1 by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3482
+
+## New Contributors
+* @kylekluever made their first contribution in https://github.com/aws-cloudformation/cfn-lint/pull/3481
+
+**Full Changelog**: https://github.com/aws-cloudformation/cfn-lint/compare/v1.5.1...v1.5.2
+
+### v1.5.1
+## What's Changed
+* Switch type comparison in BaseFn to use is_types_compatible by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3461
+* Update [E2015](https://github.com/aws-cloudformation/cfn-python-lint/blob/main/docs/rules.md#E2015) to split defaults on comma by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3466
+* Don't fail `anyOf` on warnings by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3469
+* Allow `Transform` section to have the full transform def by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3470
+* Update `GetAtt` logic for `AWS::ServiceCatalog::CloudFormationProvisionedProduct` by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3475
+* Remove `requiredXor` for `AWS::EC2::Instance` by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/#3477
+
+**Full Changelog**: https://github.com/aws-cloudformation/cfn-lint/compare/v1.5.0...v1.5.1
+
+### v1.5.0
+## What's Changed
+* Update mappings to support transforms at the root level by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3439
+* Update `CfnLintJsonSchema` based rules for dynamic references by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3442
+* Fix tagging examples by @michael-k in https://github.com/aws-cloudformation/cfn-lint/pull/3448
+* Add `full` keyword to optional dependencies by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3454
+* Load registry schemas if type match by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3450
+* Update helpers.py with DocDB snapshot type by @marty-sullivan in https://github.com/aws-cloudformation/cfn-lint/pull/3455
+* Update CloudFormation schemas to 2024-07-02 by @github-actions in https://github.com/aws-cloudformation/cfn-lint/pull/3447
+
+**Full Changelog**: https://github.com/aws-cloudformation/cfn-lint/compare/v1.4.2...v1.5.0
+
### v1.4.2
## What's Changed
* Fix JSON based tags for many types by @kddejong in https://github.com/aws-cloudformation/cfn-lint/pull/3437
@@ -344,7 +402,7 @@
###### CloudFormation Specifications
- Update CloudFormation specs to `170.0.0` (pull #[3149](https://github.com/aws-cloudformation/cfn-lint/pull/3149))
###### Fixes
-- Only pick up `.json` files when using registry shcemas (pull #[3150](https://github.com/aws-cloudformation/cfn-lint/pull/3150))
+- Only pick up `.json` files when using registry schemas (pull #[3150](https://github.com/aws-cloudformation/cfn-lint/pull/3150))
- Update IAM policy validation to not allow `Action` and `NotAction` (pull #[3145](https://github.com/aws-cloudformation/cfn-lint/pull/3145))
- Update IAM policy validation to not allow `Principal` and `NotPrincipal` (pull #[3145](https://github.com/aws-cloudformation/cfn-lint/pull/3145))
- Update IAM policy validation to not allow `Resource` and `NotResource` (pull #[3145](https://github.com/aws-cloudformation/cfn-lint/pull/3145))
diff --git a/README.md b/README.md
index 196cb37273..104b4cbb54 100644
--- a/README.md
+++ b/README.md
@@ -51,10 +51,12 @@ Python 3.8+ is supported.
`cfn-lint` has optional dependencies based on certain features you may need.
+* `pip install cfn-lint[full]` for installing all the optional dependencies. This will install all the dependencies for graph, junit, and sarif.
* `pip install cfn-lint[graph]` for installing `pydot` to draw and output template graphs
* `pip install cfn-lint[junit]` for installing the packages to output the `junit` format
* `pip install cfn-lint[sarif]` for installing the packages to output the `sarif` format
+
### Homebrew (macOS)
`brew install cfn-lint`
@@ -340,7 +342,7 @@ If you'd like cfn-lint to be run automatically when making changes to files in y
```yaml
repos:
- repo: https://github.com/aws-cloudformation/cfn-lint
- rev: v1.4.2 # The version of cfn-lint to use
+ rev: v1.6.1 # The version of cfn-lint to use
hooks:
- id: cfn-lint
files: path/to/cfn/dir/.*\.(json|yml|yaml)$
@@ -351,7 +353,7 @@ If you are using a `.cfnlintrc` and specifying the `templates` or `ignore_templa
```yaml
repos:
- repo: https://github.com/aws-cloudformation/cfn-lint
- rev: v1.4.2 # The version of cfn-lint to use
+ rev: v1.6.1 # The version of cfn-lint to use
hooks:
- id: cfn-lint-rc
```
diff --git a/docs/customize_specifications.md b/docs/customize_specifications.md
index 4f512bae4b..7b9bed0973 100644
--- a/docs/customize_specifications.md
+++ b/docs/customize_specifications.md
@@ -30,23 +30,28 @@ The following example only allows the usage of all `EC2` resources, except for `
```
#### Alter Resource/Parameter specifications
-The spec file overwrites values from the Regional spec files which give you the possible to alter the specifications for your own needs. A good example is making optional Parameters required.
+CloudFormation schemas can be patched to change the behavior of how a property works. This can be amazingly useful if you want to require certain properties or add extra validation to a property. You can create a patch by specifying `Patches` at the root, then the resource type you want to patch, followed by a list of patches in [json patch](https://jsonpatch.com/) format.
For example, to enforce tagging on an S3 bucket, the override file looks like this:
```json
{
- "ResourceTypes": {
- "AWS::S3::Bucket": {
- "Properties": {
- "Tags": {
- "Required": true
- }
+ "Patches": {
+ "AWS::S3::Bucket": [
+ {
+ "op": "add",
+ "path": "/required",
+ "value": [
+ "Tags"
+ ]
}
- }
+ ]
}
}
```
**WARNING**
-The file is checked for valid JSON syntax, but does not check the contents of the file before merging it into the Specifications. Be careful with your changes because it can possibly corrupt the Specifications and break the linting process.
+JSON patches will fail if they don't apply the schema. Schema structure can change without changing how customers use the resource type. These changes may result in your patch breaking the cfn-lint process.
+
+**WARNING**
+You can patch the schemas so the result is a non properly structured schema. For instance if you patch `/required` to have a value of `{}` cfn-lint will crash many ways as it is expecting an array. We test the schemas on each release to validate their structure before doing a release. We do not test them after you apply your patches.
diff --git a/docs/rules.md b/docs/rules.md
index 1cf60332f6..167e163798 100644
--- a/docs/rules.md
+++ b/docs/rules.md
@@ -46,7 +46,7 @@ To include these rules, use the `-e/include-experimental` argument when running
## Rules
(_This documentation is generated by running `cfn-lint --update-documentation`, do not alter this manually_)
-The following **208** rules are applied by this linter:
+The following **209** rules are applied by this linter:
| Rule ID | Title | Description | Config
(Name:Type:Default) | Source | Tags |
| -------- | ----- | ----------- | ---------- | ------ | ---- |
@@ -57,6 +57,7 @@ The following **208** rules are applied by this linter:
| [E1002](../src/cfnlint/rules/templates/LimitSize.py) | Validate if a template size is too large | Check the size of the template is less than the upper limit | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `limits` |
| [E1003](../src/cfnlint/rules/templates/LimitDescription.py) | Validate the max size of a description | Check if the size of the template description is less than the upper limit | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) | `description`,`limits` |
| [E1004](../src/cfnlint/rules/templates/Description.py) | Template description can only be a string | Template description can only be a string | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-description-structure.html) | `description` |
+| [E1005](../src/cfnlint/rules/transforms/Configuration.py) | Validate Transform configuration | Validate that the transforms section of a template is properly configured | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html) | `transform` |
| [E1010](../src/cfnlint/rules/functions/GetAtt.py) | GetAtt validation of parameters | Validates that GetAtt parameters are to valid resources and properties of those resources | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) | `functions`,`getatt` |
| [E1011](../src/cfnlint/rules/functions/FindInMap.py) | FindInMap validation of configuration | Making sure the function is a list of appropriate config | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html) | `functions`,`findinmap` |
| [E1015](../src/cfnlint/rules/functions/GetAz.py) | GetAz validation of parameters | Making sure the GetAz function is properly configured | | [Source](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getavailabilityzones.html) | `functions`,`getaz` |
diff --git a/examples/rules/PropertiesTagsIncluded.py b/examples/rules/PropertiesTagsIncluded.py
index 3ee1c8be43..f3d9b53a61 100644
--- a/examples/rules/PropertiesTagsIncluded.py
+++ b/examples/rules/PropertiesTagsIncluded.py
@@ -4,6 +4,7 @@
"""
from cfnlint.rules import CloudFormationLintRule, RuleMatch
+from cfnlint.schema import PROVIDER_SCHEMA_MANAGER
class PropertiesTagsIncluded(CloudFormationLintRule):
@@ -14,20 +15,6 @@ class PropertiesTagsIncluded(CloudFormationLintRule):
description = "Check Tags for resources"
tags = ["resources", "tags"]
- def get_resources_with_tags(self, region):
- """Get resource types that support tags"""
- resourcespecs = {}
- resourcetypes = resourcespecs["ResourceTypes"]
-
- matches = []
- for resourcetype, resourceobj in resourcetypes.items():
- propertiesobj = resourceobj.get("Properties")
- if propertiesobj:
- if "Tags" in propertiesobj:
- matches.append(resourcetype)
-
- return matches
-
def match(self, cfn):
"""Check Tags for required keys"""
@@ -35,12 +22,19 @@ def match(self, cfn):
all_tags = cfn.search_deep_keys("Tags")
all_tags = [x for x in all_tags if x[0] == "Resources"]
- resources_tags = self.get_resources_with_tags(cfn.regions[0])
resources = cfn.get_resources()
for resource_name, resource_obj in resources.items():
resource_type = resource_obj.get("Type", "")
resource_properties = resource_obj.get("Properties", {})
- if resource_type in resources_tags:
+ if any(
+ "Tags" in schema.schema["properties"]
+ for (
+ _region,
+ schema,
+ ) in PROVIDER_SCHEMA_MANAGER.get_resource_schemas_by_regions(
+ resource_type, cfn.regions
+ )
+ ):
if "Tags" not in resource_properties:
message = "Missing Tags Properties for {0}"
matches.append(
diff --git a/examples/rules/PropertiesTagsRequired.py b/examples/rules/PropertiesTagsRequired.py
index 2d7a0a32f7..b62c7a098b 100644
--- a/examples/rules/PropertiesTagsRequired.py
+++ b/examples/rules/PropertiesTagsRequired.py
@@ -3,6 +3,7 @@
SPDX-License-Identifier: MIT-0
"""
+from cfnlint.decode.node import dict_node, list_node
from cfnlint.rules import CloudFormationLintRule, RuleMatch
@@ -24,7 +25,12 @@ def match(self, cfn):
all_tags = cfn.search_deep_keys("Tags")
all_tags = [x for x in all_tags if x[0] == "Resources"]
for all_tag in all_tags:
- all_keys = [d.get("Key") for d in all_tag[-1]]
+ if isinstance(all_tag[-1], list_node):
+ all_keys = [d.get("Key") for d in all_tag[-1]]
+ elif isinstance(all_tag[-1], dict_node):
+ all_keys = all_tag[-1].keys()
+ else:
+ continue
for required_tag in required_tags:
if required_tag not in all_keys:
message = "Missing Tag {0} at {1}"
diff --git a/pyproject.toml b/pyproject.toml
index a367e7e15e..feeefce44b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -56,6 +56,12 @@ sarif = [
"jschema_to_python~=1.2.3",
"sarif-om~=1.0.4",
]
+full = [
+ "junit-xml~=1.9",
+ "jschema_to_python~=1.2.3",
+ "sarif-om~=1.0.4",
+ "pydot"
+]
[project.scripts]
cfn-lint = "cfnlint.runner:main"
diff --git a/scripts/update_schemas_manually.py b/scripts/update_schemas_manually.py
index ab51a2a4bd..dc5923e24c 100755
--- a/scripts/update_schemas_manually.py
+++ b/scripts/update_schemas_manually.py
@@ -720,10 +720,6 @@
),
Patch(
values={
- "requiredXor": [
- "ImageId",
- "LaunchTemplate",
- ],
"dependentExcluded": {
"NetworkInterfaces": ["SubnetId"],
"SubnetId": ["NetworkInterfaces"],
diff --git a/scripts/update_snapshot_results.sh b/scripts/update_snapshot_results.sh
index 5ba58587ce..557b1c4df5 100755
--- a/scripts/update_snapshot_results.sh
+++ b/scripts/update_snapshot_results.sh
@@ -1,5 +1,9 @@
#!/usr/bin/env bash
+# integration/
+cfn-lint test/fixtures/templates/integration/dynamic-references.yaml -e -c I --format json > test/fixtures/results/integration/dynamic-references.json
+cfn-lint test/fixtures/templates/integration/resources-cloudformation-init.yaml -e -c I --format json > test/fixtures/results/integration/resources-cloudformation-init.json
+
# public/
cfn-lint test/fixtures/templates/public/lambda-poller.yaml -e -c I --format json > test/fixtures/results/public/lambda-poller.json
cfn-lint test/fixtures/templates/public/watchmaker.json -e -x E3012:strict=true -c I --format json > test/fixtures/results/public/watchmaker.json
diff --git a/src/cfnlint/api.py b/src/cfnlint/api.py
index 70cfd30003..78c67f805c 100644
--- a/src/cfnlint/api.py
+++ b/src/cfnlint/api.py
@@ -7,7 +7,7 @@
from typing import List
-from cfnlint.config import ConfigMixIn, ManualArgs, configure_logging
+from cfnlint.config import ConfigMixIn, ManualArgs
from cfnlint.decode.decode import decode_str
from cfnlint.helpers import REGION_PRIMARY, REGIONS
from cfnlint.rules import Match, RulesCollection
@@ -38,7 +38,6 @@ def lint(
list
a list of errors if any were found, else an empty list
"""
- configure_logging(None, None)
template, errors = decode_str(s)
if errors:
return errors
diff --git a/src/cfnlint/conditions/conditions.py b/src/cfnlint/conditions/conditions.py
index a56fb77a32..da42ee8918 100644
--- a/src/cfnlint/conditions/conditions.py
+++ b/src/cfnlint/conditions/conditions.py
@@ -8,6 +8,7 @@
import itertools
import logging
import traceback
+from functools import lru_cache
from typing import Any, Iterator, Set, Tuple
from sympy import And, Implies, Not, Symbol
@@ -294,9 +295,8 @@ def check_implies(self, scenarios: dict[str, bool], implies: str) -> bool:
# formatting or just the wrong condition name
return True
- def build_scenerios_on_region(
- self, condition_name: str, region: str
- ) -> Iterator[bool]:
+ @lru_cache
+ def build_scenerios_on_region(self, condition_name: str, region: str) -> list[bool]:
"""Based on a region validate if the condition_name could be true
Args:
@@ -304,20 +304,16 @@ def build_scenerios_on_region(
region (str): the name of the region
Returns:
- Generator[bool]: Returns True, False, or True and False depending on if the
+ list[bool]: Returns True, False, or True and False depending on if the
condition could be True, False or both based on the region parameter
"""
- if not isinstance(condition_name, str):
- return
cnf_region = self._cnf.copy()
found_region = False
# validate the condition name exists
# return True/False if it doesn't
if condition_name not in self._conditions:
- yield True
- yield False
- return
+ return [True, False]
for eql in self._conditions[condition_name].equals:
is_region, equal_region = eql.is_region
@@ -332,23 +328,24 @@ def build_scenerios_on_region(
# Note: It is possible its a hard coded condition but
# for now we will return True and False
if not found_region:
- yield True
- yield False
- return
+ return [True, False]
+ results = []
cnf_test = cnf_region.copy()
cnf_test.add_prop(
self._conditions[condition_name].build_true_cnf(self._solver_params)
)
if satisfiable(cnf_test):
- yield True
+ results.append(True)
cnf_test = cnf_region.copy()
cnf_test.add_prop(
self._conditions[condition_name].build_false_cnf(self._solver_params)
)
if satisfiable(cnf_test):
- yield False
+ results.append(False)
+
+ return results
def satisfiable(
self, conditions: dict[str, bool], parameter_values: dict[str, str]
diff --git a/src/cfnlint/config.py b/src/cfnlint/config.py
index 5ecee1ec2b..fd8934e39e 100644
--- a/src/cfnlint/config.py
+++ b/src/cfnlint/config.py
@@ -30,14 +30,13 @@
def configure_logging(debug_logging, info_logging):
ch = logging.StreamHandler()
- ch.setLevel(logging.DEBUG)
if debug_logging:
LOGGER.setLevel(logging.DEBUG)
elif info_logging:
LOGGER.setLevel(logging.INFO)
else:
- LOGGER.setLevel(logging.NOTSET)
+ LOGGER.setLevel(logging.WARNING)
log_formatter = logging.Formatter(
"%(asctime)s - %(name)s - %(levelname)s - %(message)s"
)
@@ -621,7 +620,6 @@ def __init__(self, cli_args: list[str] | None = None, **kwargs: Unpack[ManualArg
self._manual_args = kwargs or ManualArgs()
CliArgs.__init__(self, cli_args)
# configure debug as soon as we can
- configure_logging(self.cli_args.debug, self.cli_args.info) # type: ignore
TemplateArgs.__init__(self, {})
ConfigFileArgs.__init__(
self, config_file=self._get_argument_value("config_file", False, False)
@@ -638,6 +636,7 @@ def __repr__(self):
"regions": self.regions,
"ignore_bad_template": self.ignore_bad_template,
"debug": self.debug,
+ "info": self.info,
"format": self.format,
"templates": self.templates,
"append_rules": self.append_rules,
@@ -717,6 +716,10 @@ def ignore_bad_template(self):
def debug(self):
return self._get_argument_value("debug", False, False)
+ @property
+ def info(self):
+ return self._get_argument_value("info", False, False)
+
@property
def format(self):
return self._get_argument_value("format", False, True)
diff --git a/src/cfnlint/context/_mappings.py b/src/cfnlint/context/_mappings.py
new file mode 100644
index 0000000000..b01fca50bb
--- /dev/null
+++ b/src/cfnlint/context/_mappings.py
@@ -0,0 +1,100 @@
+"""
+Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+SPDX-License-Identifier: MIT-0
+"""
+
+from __future__ import annotations
+
+import logging
+from dataclasses import dataclass, field
+from typing import Any, Iterator
+
+LOGGER = logging.getLogger(__name__)
+
+
+@dataclass(frozen=True)
+class Mappings:
+ """
+ This class holds a mapping
+ """
+
+ maps: dict[str, Map] = field(init=True, default_factory=dict)
+ is_transform: bool = field(init=True, default=False)
+
+ @classmethod
+ def create_from_dict(cls, instance: Any) -> Mappings:
+
+ if not isinstance(instance, dict):
+ return cls({})
+ try:
+ result = {}
+ is_transform = False
+ for k, v in instance.items():
+ if k == "Fn::Transform":
+ is_transform = True
+ else:
+ result[k] = Map.create_from_dict(v)
+ return cls(result, is_transform)
+ except (ValueError, AttributeError) as e:
+ LOGGER.debug(e, exc_info=True)
+ return cls({})
+
+
+@dataclass(frozen=True)
+class _MappingSecondaryKey:
+ """
+ This class holds a mapping value
+ """
+
+ keys: dict[str, list[Any] | str | int | float] = field(
+ init=True, default_factory=dict
+ )
+ is_transform: bool = field(init=True, default=False)
+
+ def value(self, secondary_key: str):
+ if secondary_key not in self.keys:
+ raise KeyError(secondary_key)
+ return self.keys[secondary_key]
+
+ @classmethod
+ def create_from_dict(cls, instance: Any) -> _MappingSecondaryKey:
+ if not isinstance(instance, dict):
+ return cls({})
+ is_transform = False
+ keys = {}
+ for k, v in instance.items():
+ if k == "Fn::Transform":
+ is_transform = True
+ elif isinstance(v, (str, list, int, float)):
+ keys[k] = v
+ else:
+ continue
+ return cls(keys, is_transform)
+
+
+@dataclass(frozen=True)
+class Map:
+ """
+ This class holds a mapping
+ """
+
+ keys: dict[str, _MappingSecondaryKey] = field(init=True, default_factory=dict)
+ is_transform: bool = field(init=True, default=False)
+
+ def find_in_map(self, top_key: str, secondary_key: str) -> Iterator[Any]:
+ if top_key not in self.keys:
+ raise KeyError(top_key)
+ yield self.keys[top_key].value(secondary_key)
+
+ @classmethod
+ def create_from_dict(cls, instance: Any) -> Map:
+ if not isinstance(instance, dict):
+ return cls({})
+ is_transform = False
+ keys = {}
+ for k, v in instance.items():
+ if k == "Fn::Transform":
+ is_transform = True
+ else:
+ keys[k] = _MappingSecondaryKey.create_from_dict(v)
+ return cls(keys, is_transform)
diff --git a/src/cfnlint/context/context.py b/src/cfnlint/context/context.py
index 99f818c435..d42cebe662 100644
--- a/src/cfnlint/context/context.py
+++ b/src/cfnlint/context/context.py
@@ -11,6 +11,7 @@
from typing import Any, Deque, Iterator, Sequence, Set, Tuple
from cfnlint.context._conditions import Conditions
+from cfnlint.context._mappings import Mappings
from cfnlint.helpers import (
BOOLEAN_STRINGS_TRUE,
FUNCTIONS,
@@ -37,7 +38,7 @@ def __post_init__(self, transforms) -> None:
for transform in transforms:
if not isinstance(transform, str):
- raise ValueError("Transform must be a string")
+ continue
self._transforms.append(transform)
def has_language_extensions_transform(self):
@@ -138,7 +139,7 @@ class Context:
parameters: dict[str, "Parameter"] = field(init=True, default_factory=dict)
resources: dict[str, "Resource"] = field(init=True, default_factory=dict)
conditions: Conditions = field(init=True, default_factory=Conditions)
- mappings: dict[str, "Map"] = field(init=True, default_factory=dict)
+ mappings: Mappings = field(init=True, default_factory=Mappings)
strict_types: bool = field(init=True, default=True)
@@ -152,6 +153,9 @@ class Context:
transforms: Transforms = field(init=True, default_factory=lambda: Transforms([]))
+ # is the value a resolved value
+ is_resolved_value: bool = field(init=True, default=False)
+
def evolve(self, **kwargs) -> "Context":
"""
Create a new context without merging together attributes
@@ -374,61 +378,6 @@ def ref(self, context: Context) -> Iterator[Any]:
yield
-@dataclass
-class _MappingSecondaryKey:
- """
- This class holds a mapping value
- """
-
- keys: dict[str, list[Any] | str | int | float] = field(
- init=False, default_factory=dict
- )
- instance: InitVar[Any]
- is_transform: bool = field(init=False, default=False)
-
- def __post_init__(self, instance) -> None:
- if not isinstance(instance, dict):
- raise ValueError("Secondary keys must be a object")
- for k, v in instance.items():
- if k == "Fn::Transform":
- self.is_transform = True
- continue
- if isinstance(v, (str, list, int, float)):
- self.keys[k] = v
- else:
- raise ValueError("Third keys must not be an object")
-
- def value(self, secondary_key: str):
- if secondary_key not in self.keys:
- raise KeyError(secondary_key)
- return self.keys[secondary_key]
-
-
-@dataclass
-class Map:
- """
- This class holds a mapping
- """
-
- keys: dict[str, _MappingSecondaryKey] = field(init=False, default_factory=dict)
- resource: InitVar[Any]
- is_transform: bool = field(init=False, default=False)
-
- def __post_init__(self, mapping) -> None:
- if not isinstance(mapping, dict):
- raise ValueError("Mapping must be a object")
- for k, v in mapping.items():
- if k == "Fn::Transform":
- self.is_transform = True
- else:
- self.keys[k] = _MappingSecondaryKey(v)
-
- def find_in_map(self, top_key: str, secondary_key: str) -> Iterator[Any]:
- if top_key not in self.keys:
- raise KeyError(top_key)
- yield self.keys[top_key].value(secondary_key)
-
-
def _init_parameters(parameters: Any) -> dict[str, Parameter]:
obj = {}
if not isinstance(parameters, dict):
@@ -460,19 +409,6 @@ def _init_transforms(transforms: Any) -> Transforms:
return Transforms([])
-def _init_mappings(mappings: Any) -> dict[str, Map]:
- obj = {}
- if not isinstance(mappings, dict):
- raise ValueError("Mappings must be a object")
- for k, v in mappings.items():
- try:
- obj[k] = Map(v)
- except ValueError:
- pass
-
- return obj
-
-
def create_context_for_template(cfn):
parameters = {}
try:
@@ -494,11 +430,7 @@ def create_context_for_template(cfn):
except (ValueError, AttributeError):
pass
- mappings = {}
- try:
- mappings = _init_mappings(cfn.template.get("Mappings", {}))
- except (ValueError, AttributeError):
- pass
+ mappings = Mappings.create_from_dict(cfn.template.get("Mappings", {}))
return Context(
parameters=parameters,
diff --git a/src/cfnlint/data/AdditionalSpecs/Policies.json b/src/cfnlint/data/AdditionalSpecs/Policies.json
index fe32dd10ab..f174426ef5 100644
--- a/src/cfnlint/data/AdditionalSpecs/Policies.json
+++ b/src/cfnlint/data/AdditionalSpecs/Policies.json
@@ -494,6 +494,19 @@
"aws:TagKeys"
]
},
+ "AWS App Studio": {
+ "ARNFormat": "arn:${Partition}:appstudio:${Region}:${Account}:${ResourceType}:${ResourcePath}",
+ "ARNRegex": "^arn:${Partition}:appstudio:.+:.+:.+",
+ "Actions": [
+ "GetAccountStatus",
+ "GetEnablementJobStatus",
+ "StartEnablementJob",
+ "StartRollbackEnablementJob",
+ "StartTeamDeployment"
+ ],
+ "HasResource": false,
+ "StringPrefix": "appstudio"
+ },
"AWS App2Container": {
"ARNFormat": "arn:${Partition}:a2c:${Region}:${Account}:${ResourceType}/${ResourceName}",
"ARNRegex": "^arn:${Partition}:a2c:.+:.+:.+",
@@ -1861,12 +1874,14 @@
"DeleteHapg",
"DeleteHsm",
"DeleteLunaClient",
+ "DeleteResourcePolicy",
"DescribeBackups",
"DescribeClusters",
"DescribeHapg",
"DescribeHsm",
"DescribeLunaClient",
"GetConfig",
+ "GetResourcePolicy",
"InitializeCluster",
"ListAvailableZones",
"ListHapgs",
@@ -1879,6 +1894,7 @@
"ModifyHapg",
"ModifyHsm",
"ModifyLunaClient",
+ "PutResourcePolicy",
"RemoveTagsFromResource",
"RestoreBackup",
"TagResource",
@@ -2808,6 +2824,7 @@
"ListGuardrailViolations",
"ListGuardrails",
"ListGuardrailsForTarget",
+ "ListLandingZoneOperations",
"ListLandingZones",
"ListManagedAccounts",
"ListManagedAccountsForGuardrail",
@@ -4226,6 +4243,7 @@
"ListQueues",
"ListTagsForResource",
"PutPolicy",
+ "SearchJobs",
"TagResource",
"UntagResource",
"UpdateJobTemplate",
@@ -4843,6 +4861,7 @@
"CreateTable",
"CreateTableOptimizer",
"CreateTrigger",
+ "CreateUsageProfile",
"CreateUserDefinedFunction",
"CreateWorkflow",
"DeleteBlueprint",
@@ -4869,6 +4888,7 @@
"DeleteTableOptimizer",
"DeleteTableVersion",
"DeleteTrigger",
+ "DeleteUsageProfile",
"DeleteUserDefinedFunction",
"DeleteWorkflow",
"DeregisterDataPreview",
@@ -4952,6 +4972,7 @@
"GetTags",
"GetTrigger",
"GetTriggers",
+ "GetUsageProfile",
"GetUserDefinedFunction",
"GetUserDefinedFunctions",
"GetWorkflow",
@@ -4984,6 +5005,7 @@
"ListStatements",
"ListTableOptimizerRuns",
"ListTriggers",
+ "ListUsageProfiles",
"ListWorkflows",
"NotifyEvent",
"PassConnection",
@@ -5049,6 +5071,7 @@
"UpdateTable",
"UpdateTableOptimizer",
"UpdateTrigger",
+ "UpdateUsageProfile",
"UpdateUserDefinedFunction",
"UpdateWorkflow",
"UseGlueStudio",
@@ -5215,6 +5238,8 @@
"DeleteImageSet",
"GetDICOMImportJob",
"GetDICOMInstance",
+ "GetDICOMInstanceFrames",
+ "GetDICOMInstanceMetadata",
"GetDatastore",
"GetImageFrame",
"GetImageSet",
@@ -7452,14 +7477,28 @@
]
},
"AWS License Manager Linux Subscriptions Manager": {
+ "ARNFormat": "arn:aws:license-manager-linux-subscriptions:${Region}:${Account}:${ResourceType}/${ResourceId}",
+ "ARNRegex": "^arn:aws:license-manager-linux-subscriptions:.+:.+:.+",
"Actions": [
+ "DeregisterSubscriptionProvider",
+ "GetRegisteredSubscriptionProvider",
"GetServiceSettings",
"ListLinuxSubscriptionInstances",
"ListLinuxSubscriptions",
+ "ListRegisteredSubscriptionProviders",
+ "ListTagsForResource",
+ "RegisterSubscriptionProvider",
+ "TagResource",
+ "UntagResource",
"UpdateServiceSettings"
],
- "HasResource": false,
- "StringPrefix": "license-manager-linux-subscriptions"
+ "HasResource": true,
+ "StringPrefix": "license-manager-linux-subscriptions",
+ "conditionKeys": [
+ "aws:RequestTag/${TagKey}",
+ "aws:ResourceTag/${TagKey}",
+ "aws:TagKeys"
+ ]
},
"AWS License Manager User Subscriptions": {
"Actions": [
@@ -9601,8 +9640,8 @@
]
},
"AWS Shield": {
- "ARNFormat": "arn:aws:shield::${Account}:${Resource}/${ResourceId}",
- "ARNRegex": "^arn:aws:shield::[0-9]+:.+/.+",
+ "ARNFormat": "arn:aws:shield:${Region}:${Account}:${Resource}/${ResourceId}",
+ "ARNRegex": "^arn:aws:shield:${Region}:[0-9]+:.+/.+",
"Actions": [
"AssociateDRTLogBucket",
"AssociateDRTRole",
@@ -10325,6 +10364,31 @@
"aws:TagKeys"
]
},
+ "AWS Systems Manager Quick Setup": {
+ "ARNFormat": "arn:aws:ssm-quicksetup:${Region}:${Account}:${ResourceType}/${ResourceId}",
+ "ARNRegex": "^arn:aws:ssm-quicksetup:.+",
+ "Actions": [
+ "CreateConfigurationManager",
+ "DeleteConfigurationManager",
+ "GetConfigurationManager",
+ "GetServiceSettings",
+ "ListConfigurationManagers",
+ "ListQuickSetupTypes",
+ "ListTagsForResource",
+ "TagResource",
+ "UntagResource",
+ "UpdateConfigurationDefinition",
+ "UpdateConfigurationManager",
+ "UpdateServiceSettings"
+ ],
+ "HasResource": true,
+ "StringPrefix": "ssm-quicksetup",
+ "conditionKeys": [
+ "aws:RequestTag/${TagKey}",
+ "aws:ResourceTag/${TagKey}",
+ "aws:TagKeys"
+ ]
+ },
"AWS Systems Manager for SAP": {
"ARNFormat": "arn:aws:ssm-sap:${Region}:${Account}:${ApplicationType}/${ApplicationId}",
"ARNRegex": "^arn:aws:ssm-sap:.+",
@@ -11615,6 +11679,9 @@
"CreateAgentAlias",
"CreateDataSource",
"CreateEvaluationJob",
+ "CreateFlow",
+ "CreateFlowAlias",
+ "CreateFlowVersion",
"CreateFoundationModelAgreement",
"CreateGuardrail",
"CreateGuardrailVersion",
@@ -11622,17 +11689,24 @@
"CreateModelCustomizationJob",
"CreateModelEvaluationJob",
"CreateModelInvocationJob",
+ "CreatePrompt",
+ "CreatePromptVersion",
"CreateProvisionedModelThroughput",
"DeleteAgent",
"DeleteAgentActionGroup",
"DeleteAgentAlias",
+ "DeleteAgentMemory",
"DeleteAgentVersion",
"DeleteCustomModel",
"DeleteDataSource",
+ "DeleteFlow",
+ "DeleteFlowAlias",
+ "DeleteFlowVersion",
"DeleteFoundationModelAgreement",
"DeleteGuardrail",
"DeleteKnowledgeBase",
"DeleteModelInvocationLoggingConfiguration",
+ "DeletePrompt",
"DeleteProvisionedModelThroughput",
"DetectGeneratedContent",
"DisassociateAgentKnowledgeBase",
@@ -11640,10 +11714,14 @@
"GetAgentActionGroup",
"GetAgentAlias",
"GetAgentKnowledgeBase",
+ "GetAgentMemory",
"GetAgentVersion",
"GetCustomModel",
"GetDataSource",
"GetEvaluationJob",
+ "GetFlow",
+ "GetFlowAlias",
+ "GetFlowVersion",
"GetFoundationModel",
"GetFoundationModelAvailability",
"GetGuardrail",
@@ -11653,9 +11731,11 @@
"GetModelEvaluationJob",
"GetModelInvocationJob",
"GetModelInvocationLoggingConfiguration",
+ "GetPrompt",
"GetProvisionedModelThroughput",
"GetUseCaseForModelAccess",
"InvokeAgent",
+ "InvokeFlow",
"InvokeModel",
"InvokeModelWithResponseStream",
"ListAgentActionGroups",
@@ -11666,6 +11746,9 @@
"ListCustomModels",
"ListDataSources",
"ListEvaluationJobs",
+ "ListFlowAliases",
+ "ListFlowVersions",
+ "ListFlows",
"ListFoundationModelAgreementOffers",
"ListFoundationModels",
"ListGuardrails",
@@ -11674,9 +11757,11 @@
"ListModelCustomizationJobs",
"ListModelEvaluationJobs",
"ListModelInvocationJobs",
+ "ListPrompts",
"ListProvisionedModelThroughputs",
"ListTagsForResource",
"PrepareAgent",
+ "PrepareFlow",
"PutFoundationModelEntitlement",
"PutModelInvocationLoggingConfiguration",
"PutUseCaseForModelAccess",
@@ -11693,8 +11778,11 @@
"UpdateAgentAlias",
"UpdateAgentKnowledgeBase",
"UpdateDataSource",
+ "UpdateFlow",
+ "UpdateFlowAlias",
"UpdateGuardrail",
"UpdateKnowledgeBase",
+ "UpdatePrompt",
"UpdateProvisionedModelThroughput"
],
"HasResource": true,
@@ -12240,6 +12328,7 @@
"UpdateCloudFrontOriginAccessIdentity",
"UpdateContinuousDeploymentPolicy",
"UpdateDistribution",
+ "UpdateDistributionWithStagingConfig",
"UpdateFieldLevelEncryptionConfig",
"UpdateFieldLevelEncryptionProfile",
"UpdateFunction",
@@ -13566,6 +13655,7 @@
"CreateEventStream",
"CreateIntegrationWorkflow",
"CreateProfile",
+ "CreateSnapshot",
"DeleteCalculatedAttributeDefinition",
"DeleteDomain",
"DeleteEventStream",
@@ -13587,6 +13677,7 @@
"GetProfileObjectType",
"GetProfileObjectTypeTemplate",
"GetSimilarProfiles",
+ "GetSnapshot",
"GetWorkflow",
"GetWorkflowSteps",
"ListAccountIntegrations",
@@ -13697,6 +13788,7 @@
"CancelMetadataGenerationRun",
"CancelSubscription",
"CreateAsset",
+ "CreateAssetFilter",
"CreateAssetRevision",
"CreateAssetType",
"CreateDataSource",
@@ -13717,6 +13809,7 @@
"CreateSubscriptionTarget",
"CreateUserProfile",
"DeleteAsset",
+ "DeleteAssetFilter",
"DeleteAssetType",
"DeleteDataSource",
"DeleteDomain",
@@ -13738,6 +13831,7 @@
"DeleteTimeSeriesDataPoints",
"DisassociateEnvironmentRole",
"GetAsset",
+ "GetAssetFilter",
"GetAssetType",
"GetDataSource",
"GetDataSourceRun",
@@ -13755,6 +13849,7 @@
"GetGlossaryTerm",
"GetGroupProfile",
"GetIamPortalLoginUrl",
+ "GetLineageNode",
"GetListing",
"GetMetadataGenerationRun",
"GetProject",
@@ -13766,6 +13861,7 @@
"GetTimeSeriesDataPoint",
"GetUserProfile",
"ListAccountEnvironments",
+ "ListAssetFilters",
"ListAssetRevisions",
"ListDataSourceRunActivities",
"ListDataSourceRuns",
@@ -13778,6 +13874,7 @@
"ListEnvironmentProfiles",
"ListEnvironments",
"ListGroupsForUser",
+ "ListLineageNodeHistory",
"ListMetadataGenerationRuns",
"ListNotifications",
"ListPolicyGrants",
@@ -13790,6 +13887,7 @@
"ListTagsForResource",
"ListTimeSeriesDataPoints",
"ListWarehouseMetadata",
+ "PostLineageEvent",
"PostTimeSeriesDataPoints",
"ProvisionDomain",
"PutDomainSharingPolicy",
@@ -13811,6 +13909,7 @@
"StopMetadataGenerationRun",
"TagResource",
"UntagResource",
+ "UpdateAssetFilter",
"UpdateDataSource",
"UpdateDataSourceRunActivities",
"UpdateDomain",
@@ -14429,6 +14528,7 @@
"DescribeStoreImageTasks",
"DescribeSubnets",
"DescribeTags",
+ "DescribeTrafficMirrorFilterRules",
"DescribeTrafficMirrorFilters",
"DescribeTrafficMirrorSessions",
"DescribeTrafficMirrorTargets",
@@ -15590,6 +15690,7 @@
"eks:accessEntryType",
"eks:accessScope",
"eks:bootstrapClusterCreatorAdminPermissions",
+ "eks:bootstrapSelfManagedAddons",
"eks:clientId",
"eks:clusterName",
"eks:issuerUrl",
@@ -16665,6 +16766,7 @@
"DeleteEncoderConfiguration",
"DeletePlaybackKeyPair",
"DeletePlaybackRestrictionPolicy",
+ "DeletePublicKey",
"DeleteRecordingConfiguration",
"DeleteStage",
"DeleteStorageConfiguration",
@@ -16676,6 +16778,7 @@
"GetParticipant",
"GetPlaybackKeyPair",
"GetPlaybackRestrictionPolicy",
+ "GetPublicKey",
"GetRecordingConfiguration",
"GetStage",
"GetStageSession",
@@ -16684,6 +16787,7 @@
"GetStreamKey",
"GetStreamSession",
"ImportPlaybackKeyPair",
+ "ImportPublicKey",
"ListChannels",
"ListCompositions",
"ListEncoderConfigurations",
@@ -16691,6 +16795,7 @@
"ListParticipants",
"ListPlaybackKeyPairs",
"ListPlaybackRestrictionPolicies",
+ "ListPublicKeys",
"ListRecordingConfigurations",
"ListStageSessions",
"ListStages",
@@ -19174,6 +19279,7 @@
"ARNFormat": "arn:aws:qapps:${Region}:${Account}:${ResourceType}:${ResourcePath}",
"ARNRegex": "^arn:aws:qapps:.+:.+:.+",
"Actions": [
+ "AssociateLibraryItemReview",
"AssociateQAppWithUser",
"CopyQApp",
"CreateLibraryItem",
@@ -19182,22 +19288,41 @@
"CreateSubscriptionToken",
"DeleteLibraryItem",
"DeleteQApp",
+ "DisassociateLibraryItemReview",
"DisassociateQAppFromUser",
"GetLibraryItem",
"GetQApp",
+ "GetQAppSession",
+ "GetQAppSessionMetadata",
+ "ImportDocument",
"ImportDocumentToQApp",
"ImportDocumentToQAppSession",
"ListLibraryItems",
"ListQApps",
+ "ListTagsForResource",
"PredictProblemStatementFromConversation",
+ "PredictQApp",
"PredictQAppFromProblemStatement",
"StartQAppSession",
"StopQAppSession",
+ "TagResource",
+ "UntagResource",
"UpdateLibraryItem",
- "UpdateQApp"
+ "UpdateQApp",
+ "UpdateQAppSession",
+ "UpdateQAppSessionMetadata"
],
"HasResource": true,
- "StringPrefix": "qapps"
+ "StringPrefix": "qapps",
+ "conditionKeys": [
+ "aws:RequestTag/${TagKey}",
+ "aws:ResourceTag/${TagKey}",
+ "aws:TagKeys",
+ "qapps:AppIsPublished",
+ "qapps:SessionIsShared",
+ "qapps:UserIsAppOwner",
+ "qapps:UserIsSessionModerator"
+ ]
},
"Amazon Q in Connect": {
"ARNFormat": "arn:aws:wisdom:${Region}:${Account}:${Resource}/${ResourceId}",
@@ -19715,7 +19840,6 @@
"rds:EndpointType",
"rds:ManageMasterUserPassword",
"rds:MultiAz",
- "rds:MultiTenant",
"rds:Piops",
"rds:StorageEncrypted",
"rds:StorageSize",
@@ -21114,6 +21238,7 @@
"CreateFeatureGroup",
"CreateFlowDefinition",
"CreateHub",
+ "CreateHubContentReference",
"CreateHumanTaskUi",
"CreateHyperParameterTuningJob",
"CreateImage",
@@ -21135,6 +21260,7 @@
"CreateMonitoringSchedule",
"CreateNotebookInstance",
"CreateNotebookInstanceLifecycleConfig",
+ "CreateOptimizationJob",
"CreatePipeline",
"CreatePresignedDomainUrl",
"CreatePresignedMlflowTrackingServerUrl",
@@ -21173,6 +21299,7 @@
"DeleteFlowDefinition",
"DeleteHub",
"DeleteHubContent",
+ "DeleteHubContentReference",
"DeleteHumanLoop",
"DeleteHumanTaskUi",
"DeleteHyperParameterTuningJob",
@@ -21193,6 +21320,7 @@
"DeleteMonitoringSchedule",
"DeleteNotebookInstance",
"DeleteNotebookInstanceLifecycleConfig",
+ "DeleteOptimization",
"DeletePipeline",
"DeleteProject",
"DeleteRecord",
@@ -21205,6 +21333,7 @@
"DeleteUserProfile",
"DeleteWorkforce",
"DeleteWorkteam",
+ "DeployHubModel",
"DeregisterDevices",
"DescribeAction",
"DescribeAlgorithm",
@@ -21254,6 +21383,7 @@
"DescribeMonitoringSchedule",
"DescribeNotebookInstance",
"DescribeNotebookInstanceLifecycleConfig",
+ "DescribeOptimizationJob",
"DescribePipeline",
"DescribePipelineDefinitionForExecution",
"DescribePipelineExecution",
@@ -21344,6 +21474,7 @@
"ListMonitoringSchedules",
"ListNotebookInstanceLifecycleConfigs",
"ListNotebookInstances",
+ "ListOptimizationJobs",
"ListPipelineExecutionSteps",
"ListPipelineExecutions",
"ListPipelineParametersForExecution",
@@ -21399,6 +21530,7 @@
"StopMlflowTrackingServer",
"StopMonitoringSchedule",
"StopNotebookInstance",
+ "StopOptimizationJob",
"StopPipelineExecution",
"StopProcessingJob",
"StopTrainingJob",
@@ -22528,6 +22660,7 @@
"CreateWorkspaceBundle",
"CreateWorkspaceImage",
"CreateWorkspaces",
+ "CreateWorkspacesPool",
"DeleteAccountLinkInvitation",
"DeleteClientBranding",
"DeleteConnectClientAddIn",
@@ -22559,6 +22692,8 @@
"DescribeWorkspaceSnapshots",
"DescribeWorkspaces",
"DescribeWorkspacesConnectionStatus",
+ "DescribeWorkspacesPoolSessions",
+ "DescribeWorkspacesPools",
"DisassociateConnectionAlias",
"DisassociateIpGroups",
"DisassociateWorkspaceApplication",
@@ -22573,6 +22708,7 @@
"ModifyClientProperties",
"ModifySamlProperties",
"ModifySelfservicePermissions",
+ "ModifyStreamingProperties",
"ModifyWorkspaceAccessProperties",
"ModifyWorkspaceCreationProperties",
"ModifyWorkspaceProperties",
@@ -22584,14 +22720,19 @@
"RestoreWorkspace",
"RevokeIpRules",
"StartWorkspaces",
+ "StartWorkspacesPool",
"StopWorkspaces",
+ "StopWorkspacesPool",
"Stream",
"TerminateWorkspaces",
+ "TerminateWorkspacesPool",
+ "TerminateWorkspacesPoolSession",
"UpdateConnectClientAddIn",
"UpdateConnectionAliasPermission",
"UpdateRulesOfIpGroup",
"UpdateWorkspaceBundle",
- "UpdateWorkspaceImagePermission"
+ "UpdateWorkspaceImagePermission",
+ "UpdateWorkspacesPool"
],
"HasResource": true,
"StringPrefix": "workspaces",
diff --git a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
index c9ef4b78ec..3d90a555da 100644
--- a/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/123ba181485ae293d5bd09722af0c19d5a0d14c62111ff864923fc7b7960dda6.meta.json
@@ -1 +1 @@
-{"etag": "\"2373adf8d7cf06125c9dce1f2c857fb1\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"cffefef14d086a601c159cd89d3bf9c8\"", "url": "https://schema.cloudformation.eu-south-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json
index ee68280552..ae9b767a39 100644
--- a/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/164e1bfc2823fbd49d8d0e7163ebf32b2b6653d7edfe98a64577daae0b481c38.meta.json
@@ -1 +1 @@
-{"etag": "\"67c9b978deceb6cc693cd67ec7cd4c21\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"}
+{"etag": "\"55f676f5896e8379e84ff2c6199f17e8\"", "url": "https://schema.cloudformation.cn-north-1.amazonaws.com.cn/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json
index 1e4dbdc455..b6af67321b 100644
--- a/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/18624fcc4a1c571691d10b2508e6be565e4752bbc10d9552de8df8f81348c42b.meta.json
@@ -1 +1 @@
-{"etag": "\"48543535f5029a41d3ae983bdd6ea038\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"cee39839675b8978bd1d56646aa306f1\"", "url": "https://schema.cloudformation.us-gov-east-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json
index 522eb92b3e..4c4544dffb 100644
--- a/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/227d6e59c86482f7153466759080e65963a1bf4413531ad420ff60a5a0d7965d.meta.json
@@ -1 +1 @@
-{"etag": "\"bc8b903d893fd8d1faa20752731e7f6c\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"c69a9dfbd603f8a4982b96228a4f1e88\"", "url": "https://schema.cloudformation.me-south-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json
index 1666735d6e..eb8fb3a713 100644
--- a/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/23be708e675cb6098b08969e4dbbc3f54cfc32461d10e077e7e5de1fc25d8b8f.meta.json
@@ -1 +1 @@
-{"etag": "\"cab7c18393919e17ef44d9fca8c62008\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"664947166f678e104d9a53587191cb93\"", "url": "https://schema.cloudformation.us-gov-west-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json
index 85b5f40a76..689ee7fff8 100644
--- a/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/26cf4521b683d3267844178a6bcd1d0ad3fe2e7838c23f6acd054944cb2b1618.meta.json
@@ -1 +1 @@
-{"etag": "\"30ec741d8ffc9c9f83b4a7c029ed2ff9\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"2744be9038f03bf530943bb5ccd95b9a\"", "url": "https://schema.cloudformation.me-central-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json
index b8e62cff6e..88e2fb62ce 100644
--- a/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/276cecfeb1ec5e608e2aaa06925a2da57e9907e4a512c10ddae70b98b4dada43.meta.json
@@ -1 +1 @@
-{"etag": "\"65b40b4db962501650a1e88f9c9491ac\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"39f0dc865275b8434acc92c47c12c842\"", "url": "https://schema.cloudformation.eu-west-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json
index b441766abd..95b4de8d69 100644
--- a/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/371e40c90b2e47c99f6e275e060ee83a3fbf0a0fb76625ba46dbe42abd34333c.meta.json
@@ -1 +1 @@
-{"etag": "\"4ddd178ed686d302b28a75561f297f95\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"}
+{"etag": "\"3353685ca908ceb18eaead223166c588\"", "url": "https://schema.cloudformation.cn-northwest-1.amazonaws.com.cn/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json
index 4aaa344695..2d685967e5 100644
--- a/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/42155835f382d82337be3d2bf832bada376aa3fe15197e3bb0e9290ff8719b4e.meta.json
@@ -1 +1 @@
-{"etag": "\"dc5404a772c15b8a68868a65ba15544f\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"5f24cfa6fd01aaa3913d67d753518080\"", "url": "https://schema.cloudformation.af-south-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json
index eb74d3dac6..8c4b62b35f 100644
--- a/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/42e9df95722b6524cd001503b6750b86f60a7b5acfc406ebb10d5748cbb8ed41.meta.json
@@ -1 +1 @@
-{"etag": "\"c56a8a5d2e628612f524187501577893\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"5fbe6da56fe7b9687c5ad5a21ef8538a\"", "url": "https://schema.cloudformation.us-west-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json
index 27f387929d..dd4b8b5b4f 100644
--- a/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/4fbb29b69678acdd32c5758ed43ead9bf35136af536e92a84ccbaf062c315066.meta.json
@@ -1 +1 @@
-{"etag": "\"1cf3966c0b851cceaf2c43737516f6bc\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"7ca60bf7dbeff2644204427adc40fe42\"", "url": "https://schema.cloudformation.eu-central-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json
index 1478cb6daf..5f3843399c 100644
--- a/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/56584c7d00e444de640bef01fc2c630804470222e5e4c690bacef5312891581d.meta.json
@@ -1 +1 @@
-{"etag": "\"a7fa297fa2a6635990643cc1cd54931c\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"b72c560e4f56a786dbec577a9e725674\"", "url": "https://schema.cloudformation.ap-south-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json
index 2a09cbcc72..2101baf5e8 100644
--- a/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/583721567eccd1d5855daa623819df1a646b563d773e34b020d0ddeab2fe195b.meta.json
@@ -1 +1 @@
-{"etag": "\"2c03e5e2eea0225c25bfe55e7ecd2ec0\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"f902c7e2b3f2e7c5d4bf9d1fe3f83ab2\"", "url": "https://schema.cloudformation.ap-southeast-4.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json
index 107a96b831..9d189bfbe3 100644
--- a/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/6316ae24f21cb620947aa250bebbee69548d44cc32e246ec9d7742088a2c17f8.meta.json
@@ -1 +1 @@
-{"etag": "\"3aac9fdc3d33e5e188e16743f2d9a9b9\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"4313cd5b8928196eacca6a40867156d7\"", "url": "https://schema.cloudformation.us-east-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json
index 10f836912a..97178043bc 100644
--- a/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/81e1cc73ff2daf7d1e1eca393c2d1fdd98ac34d4109512e0e0947ef752dcb9c9.meta.json
@@ -1 +1 @@
-{"etag": "\"2953b2130f61e477a2cca97c933c7e58\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"7ac5a4b8e306962681fb208ffa430d50\"", "url": "https://schema.cloudformation.ap-southeast-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json
index 0fecd296c0..c7106cc826 100644
--- a/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/8adeabf0a09b37a8ed924aea799005947e4a4542365d35fd75466abcf306eeca.meta.json
@@ -1 +1 @@
-{"etag": "\"c0ccb1515dc61c6dfdfdc9fc581dc78c\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"8c1c8d0440beb779976e75466f194dc0\"", "url": "https://schema.cloudformation.ap-northeast-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json
index 0cdc2bed0d..b6ea90f1dc 100644
--- a/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/8b8b0cee4df1ef0947a8289e8ec0c67869b7533eabab32ecfc0a00cb19e55a5f.meta.json
@@ -1 +1 @@
-{"etag": "\"e3e6971ddb1d7074935f1a3a0401793f\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"5370dd25eb2bb60db28344984a9f2646\"", "url": "https://schema.cloudformation.ap-southeast-3.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json
index 29c4a06fd8..c649a3f94a 100644
--- a/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/b1f069477cd577cde04dfe1b323c0bb0e783fe32b6bb6b13774c32fcca1d303a.meta.json
@@ -1 +1 @@
-{"etag": "\"31700fd8a370285e8b40e508ed95cc66\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"c7fc4b7c83e2167bba332e4a19da3b64\"", "url": "https://schema.cloudformation.ap-east-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json
index 85646aecb2..fe42c0f61f 100644
--- a/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/c7ada205073390b33b7593ef8f304b9705f2567698dfdfa979bf0ccdb68cb856.meta.json
@@ -1 +1 @@
-{"etag": "\"60754739767993c2810368068dbcc157\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"ac9ced423809b3de671c00eea15e4d3b\"", "url": "https://schema.cloudformation.sa-east-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json
index 61a94ed2a6..3a9aee0685 100644
--- a/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d24ce9a45a014b1ff04d479422ea956e92030ae5c03d7451980a15735e557edb.meta.json
@@ -1 +1 @@
-{"etag": "\"977b33ce91a84c2dea11a3ddda9fd55d\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"b344266a932e307d1f0c7b6a6d78ac20\"", "url": "https://schema.cloudformation.ap-southeast-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json
index 81c4509e4d..fa72a703ce 100644
--- a/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d85e2e061cacfcffe4902adb1074a04e6bb7f975b606f8db57532faddfcdd8c8.meta.json
@@ -1 +1 @@
-{"etag": "\"ca78dae4bedfa5f1574d2d0cafd31df2\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"086babfb7ae9a3e6e9ee89df46102b85\"", "url": "https://schema.cloudformation.ca-west-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json
index 2195b762dd..aa7dc55a02 100644
--- a/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/d8e41d35f4f8922b66525dea2c66d72a73ff097c685cda0a63c08a6416dc58ed.meta.json
@@ -1 +1 @@
-{"etag": "\"c6afc35dcb4060472288f5f79ace93c7\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"8891207e8c8b50811609873053e6fbd9\"", "url": "https://schema.cloudformation.eu-central-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json
index bafd38da9b..5a65e6ce60 100644
--- a/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/dd98171253ebc36f5b78e247f3132b5f25c8d66a1f84939600616bab42579541.meta.json
@@ -1 +1 @@
-{"etag": "\"4f0d3f9d9d917e31bc773ab8c275a489\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"f75506350f5ef65a8b28876639162955\"", "url": "https://schema.cloudformation.eu-north-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json
index c18cf268d6..ef266a2724 100644
--- a/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/df4945435575c690a2651bb31e7a9b48972142778e1ff452383ede2ad4bac3d7.meta.json
@@ -1 +1 @@
-{"etag": "\"c40bbb3c3cbbb88055cfc0aab0def317\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"122a33af274ff1e6daa81cdc867741ae\"", "url": "https://schema.cloudformation.eu-south-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json
index f6da0d683c..003673f71e 100644
--- a/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/e5301e07e25fa2c35d2c7e1f9dcf720826b315ef6f38515840537c02de23abe2.meta.json
@@ -1 +1 @@
-{"etag": "\"b49a9caf8598f62ed28fe33a2518820c\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"e201293dfc8891a9e6f94cfd380fc87e\"", "url": "https://schema.cloudformation.ca-central-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json
index e48e7b48e9..75d80b5cf6 100644
--- a/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/e8b3dacc1675b478e8c7392b51f41467cf908a34e6b4c3fb3e97e2b584f651ca.meta.json
@@ -1 +1 @@
-{"etag": "\"4bc172340dbd2e7ed79f5ea7813f51d3\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"a5a80d34f3750a454b76809972bcdaad\"", "url": "https://schema.cloudformation.eu-west-3.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json
index ef81c1f985..70f4efdbb5 100644
--- a/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/ea0f7b8f144feb225afe73a24dfdf993318c41c71c21b0a17d4f68d82c5aee21.meta.json
@@ -1 +1 @@
-{"etag": "\"1359f3b0008cf457fba000bcfe4fbfaa\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"8016bf66e4c4779840d7496ff7f53ddb\"", "url": "https://schema.cloudformation.ap-northeast-3.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json
index 37ce1713c6..2598f780d1 100644
--- a/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f1896c9151984eec294af1eddf64260f6cd7e4ced378cacdb93f76ed227b5c5d.meta.json
@@ -1 +1 @@
-{"etag": "\"458423c371125738648c161b14c0c8e9\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"c14d566af707d3737806b39fd042a1ff\"", "url": "https://schema.cloudformation.us-west-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json
index 82c981dadb..9177eae930 100644
--- a/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f49718b210ea89ff182ae51cb7004366b9e2e4d5e38136a5be83b6a55e7a82a1.meta.json
@@ -1 +1 @@
-{"etag": "\"12afd8a5ebea6e0353fbb5dc5b1c9112\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"339cc8f1798e75cdc07510f0ccf8b027\"", "url": "https://schema.cloudformation.ap-south-2.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json
index 2dd2315a5a..030041cda3 100644
--- a/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f54eee6f8ad9619f41835b700369cdbb41c64a9c91b2fa5b4928c0d9b2f780b0.meta.json
@@ -1 +1 @@
-{"etag": "\"6e8e5964bd493cfa06c83b4c97c16eff\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"ef681c475d71cb930e40edfcbf3e74da\"", "url": "https://schema.cloudformation.us-east-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json
index 533fbcb314..ae3ca2a19c 100644
--- a/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/f6f35a459759d6c132fa2fe798cefbd5b2d398fe33547eed780b9b70f10eb4a2.meta.json
@@ -1 +1 @@
-{"etag": "\"181aede7280dd536c360729bef58da02\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"e3f5554ebd96c86581c17edbcdb00a58\"", "url": "https://schema.cloudformation.il-central-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json
index 8e7ea9135b..9cd03294aa 100644
--- a/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/fa657351d8e89c40ba6b82c4b1f5e1b5e50a1638ffe0a5dba0d8805c190a05f8.meta.json
@@ -1 +1 @@
-{"etag": "\"6b10a6a0aa4fe4344beeab0a839c8a1b\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"b4e78b503b1dc106f9afaac0f1729aa5\"", "url": "https://schema.cloudformation.eu-west-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json
index 7361cfda26..f3a4cc5416 100644
--- a/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json
+++ b/src/cfnlint/data/DownloadsMetadata/ff02b7d808c1c00053f09aa43a50addf3b69878d351cffd417dc9a457df808af.meta.json
@@ -1 +1 @@
-{"etag": "\"0e03e16190480ec990f94ee81d553509\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"}
+{"etag": "\"023e0cc1526592a354c93bfdab453e5f\"", "url": "https://schema.cloudformation.ap-northeast-1.amazonaws.com/CloudformationSchema.zip"}
diff --git a/src/cfnlint/data/Serverless/ManagedPolicies.json b/src/cfnlint/data/Serverless/ManagedPolicies.json
index 0b749994a8..6cc362a27f 100644
--- a/src/cfnlint/data/Serverless/ManagedPolicies.json
+++ b/src/cfnlint/data/Serverless/ManagedPolicies.json
@@ -436,6 +436,15 @@
"AWSProtonServiceGitSyncServiceRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/AWSProtonServiceGitSyncServiceRolePolicy",
"AWSProtonSyncServiceRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/AWSProtonSyncServiceRolePolicy",
"AWSPurchaseOrdersServiceRolePolicy": "arn:aws:iam::aws:policy/AWSPurchaseOrdersServiceRolePolicy",
+ "AWSQuickSetupCFGCPacksPermissionsBoundary": "arn:aws:iam::aws:policy/AWSQuickSetupCFGCPacksPermissionsBoundary",
+ "AWSQuickSetupDeploymentRolePolicy": "arn:aws:iam::aws:policy/AWSQuickSetupDeploymentRolePolicy",
+ "AWSQuickSetupDevOpsGuruPermissionsBoundary": "arn:aws:iam::aws:policy/AWSQuickSetupDevOpsGuruPermissionsBoundary",
+ "AWSQuickSetupDistributorPermissionsBoundary": "arn:aws:iam::aws:policy/AWSQuickSetupDistributorPermissionsBoundary",
+ "AWSQuickSetupPatchPolicyBaselineAccess": "arn:aws:iam::aws:policy/AWSQuickSetupPatchPolicyBaselineAccess",
+ "AWSQuickSetupPatchPolicyDeploymentRolePolicy": "arn:aws:iam::aws:policy/AWSQuickSetupPatchPolicyDeploymentRolePolicy",
+ "AWSQuickSetupPatchPolicyPermissionsBoundary": "arn:aws:iam::aws:policy/AWSQuickSetupPatchPolicyPermissionsBoundary",
+ "AWSQuickSetupSSMHostMgmtPermissionsBoundary": "arn:aws:iam::aws:policy/AWSQuickSetupSSMHostMgmtPermissionsBoundary",
+ "AWSQuickSetupSchedulerPermissionsBoundary": "arn:aws:iam::aws:policy/AWSQuickSetupSchedulerPermissionsBoundary",
"AWSQuickSightAssetBundleExportPolicy": "arn:aws:iam::aws:policy/AWSQuickSightAssetBundleExportPolicy",
"AWSQuickSightAssetBundleImportPolicy": "arn:aws:iam::aws:policy/AWSQuickSightAssetBundleImportPolicy",
"AWSQuickSightDescribeRDS": "arn:aws:iam::aws:policy/service-role/AWSQuickSightDescribeRDS",
@@ -525,6 +534,8 @@
"AWSSupportServiceRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/AWSSupportServiceRolePolicy",
"AWSSystemsManagerAccountDiscoveryServicePolicy": "arn:aws:iam::aws:policy/aws-service-role/AWSSystemsManagerAccountDiscoveryServicePolicy",
"AWSSystemsManagerChangeManagementServicePolicy": "arn:aws:iam::aws:policy/aws-service-role/AWSSystemsManagerChangeManagementServicePolicy",
+ "AWSSystemsManagerEnableConfigRecordingExecutionPolicy": "arn:aws:iam::aws:policy/AWSSystemsManagerEnableConfigRecordingExecutionPolicy",
+ "AWSSystemsManagerEnableExplorerExecutionPolicy": "arn:aws:iam::aws:policy/AWSSystemsManagerEnableExplorerExecutionPolicy",
"AWSSystemsManagerForSAPFullAccess": "arn:aws:iam::aws:policy/AWSSystemsManagerForSAPFullAccess",
"AWSSystemsManagerForSAPReadOnlyAccess": "arn:aws:iam::aws:policy/AWSSystemsManagerForSAPReadOnlyAccess",
"AWSSystemsManagerOpsDataSyncServiceRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/AWSSystemsManagerOpsDataSyncServiceRolePolicy",
@@ -876,6 +887,7 @@
"AmazonPrometheusQueryAccess": "arn:aws:iam::aws:policy/AmazonPrometheusQueryAccess",
"AmazonPrometheusRemoteWriteAccess": "arn:aws:iam::aws:policy/AmazonPrometheusRemoteWriteAccess",
"AmazonPrometheusScraperServiceRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/AmazonPrometheusScraperServiceRolePolicy",
+ "AmazonQDeveloperAccess": "arn:aws:iam::aws:policy/AmazonQDeveloperAccess",
"AmazonQFullAccess": "arn:aws:iam::aws:policy/AmazonQFullAccess",
"AmazonQLDBConsoleFullAccess": "arn:aws:iam::aws:policy/AmazonQLDBConsoleFullAccess",
"AmazonQLDBFullAccess": "arn:aws:iam::aws:policy/AmazonQLDBFullAccess",
@@ -1006,6 +1018,7 @@
"AmazonWorkMailReadOnlyAccess": "arn:aws:iam::aws:policy/AmazonWorkMailReadOnlyAccess",
"AmazonWorkSpacesAdmin": "arn:aws:iam::aws:policy/AmazonWorkSpacesAdmin",
"AmazonWorkSpacesApplicationManagerAdminAccess": "arn:aws:iam::aws:policy/AmazonWorkSpacesApplicationManagerAdminAccess",
+ "AmazonWorkSpacesPoolServiceAccess": "arn:aws:iam::aws:policy/AmazonWorkSpacesPoolServiceAccess",
"AmazonWorkSpacesSecureBrowserReadOnly": "arn:aws:iam::aws:policy/AmazonWorkSpacesSecureBrowserReadOnly",
"AmazonWorkSpacesSelfServiceAccess": "arn:aws:iam::aws:policy/AmazonWorkSpacesSelfServiceAccess",
"AmazonWorkSpacesServiceAccess": "arn:aws:iam::aws:policy/AmazonWorkSpacesServiceAccess",
@@ -1018,6 +1031,7 @@
"AppIntegrationsServiceLinkedRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/AppIntegrationsServiceLinkedRolePolicy",
"AppRunnerNetworkingServiceRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/AppRunnerNetworkingServiceRolePolicy",
"AppRunnerServiceRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/AppRunnerServiceRolePolicy",
+ "AppStudioServiceRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/AppStudioServiceRolePolicy",
"ApplicationAutoScalingForAmazonAppStreamAccess": "arn:aws:iam::aws:policy/service-role/ApplicationAutoScalingForAmazonAppStreamAccess",
"ApplicationDiscoveryServiceContinuousExportServiceRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/ApplicationDiscoveryServiceContinuousExportServiceRolePolicy",
"AutoScalingConsoleFullAccess": "arn:aws:iam::aws:policy/AutoScalingConsoleFullAccess",
@@ -1178,6 +1192,7 @@
"Route53RecoveryReadinessServiceRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/Route53RecoveryReadinessServiceRolePolicy",
"Route53ResolverServiceRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/Route53ResolverServiceRolePolicy",
"S3StorageLensServiceRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/S3StorageLensServiceRolePolicy",
+ "SSMQuickSetupRolePolicy": "arn:aws:iam::aws:policy/aws-service-role/SSMQuickSetupRolePolicy",
"SecretsManagerReadWrite": "arn:aws:iam::aws:policy/SecretsManagerReadWrite",
"SecurityAudit": "arn:aws:iam::aws:policy/SecurityAudit",
"SecurityLakeServiceLinkedRole": "arn:aws:iam::aws:policy/aws-service-role/SecurityLakeServiceLinkedRole",
diff --git a/src/cfnlint/data/schemas/extensions/aws_dax_cluster/nodetype_enum.json b/src/cfnlint/data/schemas/extensions/aws_dax_cluster/nodetype_enum.json
index c1fa805c1b..ca9442f6f5 100644
--- a/src/cfnlint/data/schemas/extensions/aws_dax_cluster/nodetype_enum.json
+++ b/src/cfnlint/data/schemas/extensions/aws_dax_cluster/nodetype_enum.json
@@ -241,11 +241,6 @@
},
"sa-east-1": {
"enum": [
- "dax.r3.2xlarge",
- "dax.r3.4xlarge",
- "dax.r3.8xlarge",
- "dax.r3.large",
- "dax.r3.xlarge",
"dax.r4.16xlarge",
"dax.r4.2xlarge",
"dax.r4.4xlarge",
diff --git a/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json b/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json
index 6573b69fad..bf5e16c908 100644
--- a/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json
+++ b/src/cfnlint/data/schemas/extensions/aws_ec2_instance/instancetype_enum.json
@@ -717,6 +717,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -1529,6 +1541,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -2341,6 +2365,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -3153,6 +3189,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -3965,6 +4013,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -4777,6 +4837,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -5589,6 +5661,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -6401,6 +6485,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -7213,6 +7309,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -8025,6 +8133,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -8837,6 +8957,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -9649,6 +9781,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -10461,6 +10605,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -11273,6 +11429,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -12085,6 +12253,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -12897,6 +13077,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -13709,6 +13901,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -14521,6 +14725,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -15333,6 +15549,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -16145,6 +16373,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -16957,6 +17197,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -17769,6 +18021,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -18581,6 +18845,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -19393,6 +19669,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -20205,6 +20493,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -21017,6 +21317,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -21829,6 +22141,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -22641,6 +22965,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -23453,6 +23789,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -24265,6 +24613,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -25077,6 +25437,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -25889,6 +26261,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
@@ -26701,6 +27085,18 @@
"r7iz.metal-16xl",
"r7iz.metal-32xl",
"r7iz.xlarge",
+ "r8g.12xlarge",
+ "r8g.16xlarge",
+ "r8g.24xlarge",
+ "r8g.2xlarge",
+ "r8g.48xlarge",
+ "r8g.4xlarge",
+ "r8g.8xlarge",
+ "r8g.large",
+ "r8g.medium",
+ "r8g.metal-24xl",
+ "r8g.metal-48xl",
+ "r8g.xlarge",
"t1.micro",
"t2.2xlarge",
"t2.large",
diff --git a/src/cfnlint/data/schemas/extensions/aws_ec2_securitygroup/all_to_and_from_ports.json b/src/cfnlint/data/schemas/extensions/aws_ec2_securitygroup/all_to_and_from_ports.json
index fd589e80a2..dcfd0da178 100644
--- a/src/cfnlint/data/schemas/extensions/aws_ec2_securitygroup/all_to_and_from_ports.json
+++ b/src/cfnlint/data/schemas/extensions/aws_ec2_securitygroup/all_to_and_from_ports.json
@@ -1,60 +1,103 @@
{
- "allOf": [
- {
- "if": {
- "properties": {
- "ToPort": {
- "enum": [
- -1,
- "-1"
- ]
- }
+ "else": {
+ "allOf": [
+ {
+ "if": {
+ "properties": {
+ "ToPort": {
+ "enum": [
+ -1,
+ "-1"
+ ]
+ }
+ },
+ "required": [
+ "ToPort"
+ ]
},
- "required": [
- "ToPort"
- ]
+ "then": {
+ "properties": {
+ "FromPort": {
+ "enum": [
+ -1,
+ "-1"
+ ]
+ }
+ },
+ "required": [
+ "FromPort"
+ ]
+ }
},
- "then": {
- "properties": {
- "FromPort": {
- "enum": [
- -1,
- "-1"
- ]
- }
+ {
+ "if": {
+ "properties": {
+ "FromPort": {
+ "enum": [
+ -1,
+ "-1"
+ ]
+ }
+ },
+ "required": [
+ "FromPort"
+ ]
},
- "required": [
- "FromPort"
+ "then": {
+ "properties": {
+ "ToPort": {
+ "enum": [
+ -1,
+ "-1"
+ ]
+ }
+ },
+ "required": [
+ "ToPort"
+ ]
+ }
+ }
+ ]
+ },
+ "if": {
+ "properties": {
+ "IpProtocol": {
+ "enum": [
+ "1",
+ "icmp"
]
}
},
- {
- "if": {
- "properties": {
- "FromPort": {
- "enum": [
- -1,
- "-1"
- ]
- }
- },
- "required": [
- "FromPort"
- ]
+ "required": [
+ "IpProtocol"
+ ]
+ },
+ "then": {
+ "if": {
+ "properties": {
+ "FromPort": {
+ "enum": [
+ -1,
+ "-1"
+ ]
+ }
},
- "then": {
- "properties": {
- "ToPort": {
- "enum": [
- -1,
- "-1"
- ]
- }
- },
- "required": [
- "ToPort"
- ]
- }
+ "required": [
+ "FromPort"
+ ]
+ },
+ "then": {
+ "properties": {
+ "ToPort": {
+ "enum": [
+ -1,
+ "-1"
+ ]
+ }
+ },
+ "required": [
+ "ToPort"
+ ]
}
- ]
+ }
}
diff --git a/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json b/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json
index ac7a6c5624..3d01e43500 100644
--- a/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json
+++ b/src/cfnlint/data/schemas/extensions/aws_rds_dbcluster/engine_version.json
@@ -58,6 +58,7 @@
"5.7.mysql_aurora.2.12.0",
"5.7.mysql_aurora.2.12.1",
"5.7.mysql_aurora.2.12.2",
+ "5.7.mysql_aurora.2.12.3",
"8.0.mysql_aurora.3.03.0",
"8.0.mysql_aurora.3.03.1",
"8.0.mysql_aurora.3.03.2",
@@ -65,6 +66,7 @@
"8.0.mysql_aurora.3.04.0",
"8.0.mysql_aurora.3.04.1",
"8.0.mysql_aurora.3.04.2",
+ "8.0.mysql_aurora.3.04.3",
"8.0.mysql_aurora.3.05.2",
"8.0.mysql_aurora.3.06.0",
"8.0.mysql_aurora.3.06.1",
diff --git a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/aurora_exclusive.json b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/aurora_exclusive.json
index 42efdcd482..bee9daf906 100644
--- a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/aurora_exclusive.json
+++ b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/aurora_exclusive.json
@@ -1,7 +1,6 @@
{
"additionalProperties": true,
"description": "When creating an aurora DBInstance don't specify 'AllocatedStorage', 'BackupRetentionPeriod', 'CopyTagsToSnapshot', 'DeletionProtection', 'EnableIAMDatabaseAuthentication', 'MasterUserPassword', or 'StorageEncrypted'",
- "else": {},
"if": {
"properties": {
"Engine": {
diff --git a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/dbinstanceclass_enum.json b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/dbinstanceclass_enum.json
index 977da2ad4f..60d0876303 100644
--- a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/dbinstanceclass_enum.json
+++ b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/dbinstanceclass_enum.json
@@ -91269,6 +91269,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r4.16xlarge",
"db.r4.2xlarge",
"db.r4.4xlarge",
@@ -91290,6 +91297,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -91351,6 +91365,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r4.16xlarge",
"db.r4.2xlarge",
"db.r4.4xlarge",
@@ -91372,6 +91393,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -91430,6 +91458,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r4.16xlarge",
"db.r4.2xlarge",
"db.r4.4xlarge",
@@ -91451,6 +91486,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -91512,6 +91554,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r4.16xlarge",
"db.r4.2xlarge",
"db.r4.4xlarge",
@@ -91533,6 +91582,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -91599,6 +91655,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r4.16xlarge",
"db.r4.2xlarge",
"db.r4.4xlarge",
@@ -91628,6 +91691,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -91697,6 +91767,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r4.16xlarge",
"db.r4.2xlarge",
"db.r4.4xlarge",
@@ -91726,6 +91803,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -92148,6 +92232,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r4.16xlarge",
"db.r4.2xlarge",
"db.r4.4xlarge",
@@ -92177,6 +92268,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -92246,6 +92344,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r4.16xlarge",
"db.r4.2xlarge",
"db.r4.4xlarge",
@@ -92275,6 +92380,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -92333,6 +92445,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r4.16xlarge",
"db.r4.2xlarge",
"db.r4.4xlarge",
@@ -92354,6 +92473,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -92415,6 +92541,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r4.16xlarge",
"db.r4.2xlarge",
"db.r4.4xlarge",
@@ -92436,6 +92569,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -92494,6 +92634,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r4.16xlarge",
"db.r4.2xlarge",
"db.r4.4xlarge",
@@ -92515,6 +92662,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -92576,6 +92730,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r4.16xlarge",
"db.r4.2xlarge",
"db.r4.4xlarge",
@@ -92597,6 +92758,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -93341,6 +93509,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r3.2xlarge",
"db.r3.4xlarge",
"db.r3.8xlarge",
@@ -93367,6 +93542,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -93438,6 +93620,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r3.2xlarge",
"db.r3.4xlarge",
"db.r3.8xlarge",
@@ -93464,6 +93653,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -93547,6 +93743,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r3.2xlarge",
"db.r3.4xlarge",
"db.r3.8xlarge",
@@ -93581,6 +93784,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t1.micro",
"db.t2.2xlarge",
"db.t2.large",
@@ -93668,6 +93878,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r3.2xlarge",
"db.r3.4xlarge",
"db.r3.8xlarge",
@@ -93702,6 +93919,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t1.micro",
"db.t2.2xlarge",
"db.t2.large",
@@ -93778,6 +94002,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r3.2xlarge",
"db.r3.4xlarge",
"db.r3.8xlarge",
@@ -93804,6 +94035,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t1.micro",
"db.t2.2xlarge",
"db.t2.large",
@@ -93883,6 +94121,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r3.2xlarge",
"db.r3.4xlarge",
"db.r3.8xlarge",
@@ -93909,6 +94154,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t1.micro",
"db.t2.2xlarge",
"db.t2.large",
@@ -94586,7 +94838,7 @@
"type": "string"
},
"Engine": {
- "const": "mysql"
+ "const": "mariadb"
},
"LicenseModel": false
},
@@ -94599,13 +94851,6 @@
"properties": {
"DBInstanceClass": {
"enum": [
- "db.m1.large",
- "db.m1.medium",
- "db.m1.small",
- "db.m1.xlarge",
- "db.m2.2xlarge",
- "db.m2.4xlarge",
- "db.m2.xlarge",
"db.m3.2xlarge",
"db.m3.large",
"db.m3.medium",
@@ -94631,6 +94876,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r3.2xlarge",
"db.r3.4xlarge",
"db.r3.8xlarge",
@@ -94657,8 +94909,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
- "db.r6i.32xlarge",
- "db.t1.micro",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -94689,7 +94946,7 @@
"type": "string"
},
"Engine": {
- "const": "mysql"
+ "const": "mariadb"
},
"LicenseModel": {
"const": "general-public-license"
@@ -94705,13 +94962,6 @@
"properties": {
"DBInstanceClass": {
"enum": [
- "db.m1.large",
- "db.m1.medium",
- "db.m1.small",
- "db.m1.xlarge",
- "db.m2.2xlarge",
- "db.m2.4xlarge",
- "db.m2.xlarge",
"db.m3.2xlarge",
"db.m3.large",
"db.m3.medium",
@@ -94737,6 +94987,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r3.2xlarge",
"db.r3.4xlarge",
"db.r3.8xlarge",
@@ -94763,8 +95020,13 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
- "db.r6i.32xlarge",
- "db.t1.micro",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -94795,7 +95057,7 @@
"type": "string"
},
"Engine": {
- "const": "postgres"
+ "const": "mysql"
},
"LicenseModel": false
},
@@ -94833,14 +95095,6 @@
"db.m5.8xlarge",
"db.m5.large",
"db.m5.xlarge",
- "db.m5d.12xlarge",
- "db.m5d.16xlarge",
- "db.m5d.24xlarge",
- "db.m5d.2xlarge",
- "db.m5d.4xlarge",
- "db.m5d.8xlarge",
- "db.m5d.large",
- "db.m5d.xlarge",
"db.m6g.12xlarge",
"db.m6g.16xlarge",
"db.m6g.2xlarge",
@@ -94848,6 +95102,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r3.2xlarge",
"db.r3.4xlarge",
"db.r3.8xlarge",
@@ -94867,14 +95128,6 @@
"db.r5.8xlarge",
"db.r5.large",
"db.r5.xlarge",
- "db.r5d.12xlarge",
- "db.r5d.16xlarge",
- "db.r5d.24xlarge",
- "db.r5d.2xlarge",
- "db.r5d.4xlarge",
- "db.r5d.8xlarge",
- "db.r5d.large",
- "db.r5d.xlarge",
"db.r6g.12xlarge",
"db.r6g.16xlarge",
"db.r6g.2xlarge",
@@ -94882,6 +95135,14 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
+ "db.r6i.32xlarge",
"db.t1.micro",
"db.t2.2xlarge",
"db.t2.large",
@@ -94913,7 +95174,7 @@
"type": "string"
},
"Engine": {
- "const": "postgres"
+ "const": "mysql"
},
"LicenseModel": {
"const": "general-public-license"
@@ -94954,14 +95215,6 @@
"db.m5.8xlarge",
"db.m5.large",
"db.m5.xlarge",
- "db.m5d.12xlarge",
- "db.m5d.16xlarge",
- "db.m5d.24xlarge",
- "db.m5d.2xlarge",
- "db.m5d.4xlarge",
- "db.m5d.8xlarge",
- "db.m5d.large",
- "db.m5d.xlarge",
"db.m6g.12xlarge",
"db.m6g.16xlarge",
"db.m6g.2xlarge",
@@ -94969,6 +95222,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r3.2xlarge",
"db.r3.4xlarge",
"db.r3.8xlarge",
@@ -94988,14 +95248,6 @@
"db.r5.8xlarge",
"db.r5.large",
"db.r5.xlarge",
- "db.r5d.12xlarge",
- "db.r5d.16xlarge",
- "db.r5d.24xlarge",
- "db.r5d.2xlarge",
- "db.r5d.4xlarge",
- "db.r5d.8xlarge",
- "db.r5d.large",
- "db.r5d.xlarge",
"db.r6g.12xlarge",
"db.r6g.16xlarge",
"db.r6g.2xlarge",
@@ -95003,6 +95255,14 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
+ "db.r6i.32xlarge",
"db.t1.micro",
"db.t2.2xlarge",
"db.t2.large",
@@ -95034,7 +95294,7 @@
"type": "string"
},
"Engine": {
- "const": "mariadb"
+ "const": "postgres"
},
"LicenseModel": false
},
@@ -95047,6 +95307,13 @@
"properties": {
"DBInstanceClass": {
"enum": [
+ "db.m1.large",
+ "db.m1.medium",
+ "db.m1.small",
+ "db.m1.xlarge",
+ "db.m2.2xlarge",
+ "db.m2.4xlarge",
+ "db.m2.xlarge",
"db.m3.2xlarge",
"db.m3.large",
"db.m3.medium",
@@ -95065,6 +95332,14 @@
"db.m5.8xlarge",
"db.m5.large",
"db.m5.xlarge",
+ "db.m5d.12xlarge",
+ "db.m5d.16xlarge",
+ "db.m5d.24xlarge",
+ "db.m5d.2xlarge",
+ "db.m5d.4xlarge",
+ "db.m5d.8xlarge",
+ "db.m5d.large",
+ "db.m5d.xlarge",
"db.m6g.12xlarge",
"db.m6g.16xlarge",
"db.m6g.2xlarge",
@@ -95072,6 +95347,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r3.2xlarge",
"db.r3.4xlarge",
"db.r3.8xlarge",
@@ -95091,6 +95373,14 @@
"db.r5.8xlarge",
"db.r5.large",
"db.r5.xlarge",
+ "db.r5d.12xlarge",
+ "db.r5d.16xlarge",
+ "db.r5d.24xlarge",
+ "db.r5d.2xlarge",
+ "db.r5d.4xlarge",
+ "db.r5d.8xlarge",
+ "db.r5d.large",
+ "db.r5d.xlarge",
"db.r6g.12xlarge",
"db.r6g.16xlarge",
"db.r6g.2xlarge",
@@ -95098,6 +95388,14 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
+ "db.t1.micro",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
@@ -95128,7 +95426,7 @@
"type": "string"
},
"Engine": {
- "const": "mariadb"
+ "const": "postgres"
},
"LicenseModel": {
"const": "general-public-license"
@@ -95144,6 +95442,13 @@
"properties": {
"DBInstanceClass": {
"enum": [
+ "db.m1.large",
+ "db.m1.medium",
+ "db.m1.small",
+ "db.m1.xlarge",
+ "db.m2.2xlarge",
+ "db.m2.4xlarge",
+ "db.m2.xlarge",
"db.m3.2xlarge",
"db.m3.large",
"db.m3.medium",
@@ -95162,6 +95467,14 @@
"db.m5.8xlarge",
"db.m5.large",
"db.m5.xlarge",
+ "db.m5d.12xlarge",
+ "db.m5d.16xlarge",
+ "db.m5d.24xlarge",
+ "db.m5d.2xlarge",
+ "db.m5d.4xlarge",
+ "db.m5d.8xlarge",
+ "db.m5d.large",
+ "db.m5d.xlarge",
"db.m6g.12xlarge",
"db.m6g.16xlarge",
"db.m6g.2xlarge",
@@ -95169,6 +95482,13 @@
"db.m6g.8xlarge",
"db.m6g.large",
"db.m6g.xlarge",
+ "db.m6gd.12xlarge",
+ "db.m6gd.16xlarge",
+ "db.m6gd.2xlarge",
+ "db.m6gd.4xlarge",
+ "db.m6gd.8xlarge",
+ "db.m6gd.large",
+ "db.m6gd.xlarge",
"db.r3.2xlarge",
"db.r3.4xlarge",
"db.r3.8xlarge",
@@ -95188,6 +95508,14 @@
"db.r5.8xlarge",
"db.r5.large",
"db.r5.xlarge",
+ "db.r5d.12xlarge",
+ "db.r5d.16xlarge",
+ "db.r5d.24xlarge",
+ "db.r5d.2xlarge",
+ "db.r5d.4xlarge",
+ "db.r5d.8xlarge",
+ "db.r5d.large",
+ "db.r5d.xlarge",
"db.r6g.12xlarge",
"db.r6g.16xlarge",
"db.r6g.2xlarge",
@@ -95195,6 +95523,14 @@
"db.r6g.8xlarge",
"db.r6g.large",
"db.r6g.xlarge",
+ "db.r6gd.12xlarge",
+ "db.r6gd.16xlarge",
+ "db.r6gd.2xlarge",
+ "db.r6gd.4xlarge",
+ "db.r6gd.8xlarge",
+ "db.r6gd.large",
+ "db.r6gd.xlarge",
+ "db.t1.micro",
"db.t2.2xlarge",
"db.t2.large",
"db.t2.medium",
diff --git a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json
index 74f14d6596..f821fb6564 100644
--- a/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json
+++ b/src/cfnlint/data/schemas/extensions/aws_rds_dbinstance/engine_version.json
@@ -74,6 +74,7 @@
"5.7.mysql_aurora.2.12.0",
"5.7.mysql_aurora.2.12.1",
"5.7.mysql_aurora.2.12.2",
+ "5.7.mysql_aurora.2.12.3",
"8.0.mysql_aurora.3.03.0",
"8.0.mysql_aurora.3.03.1",
"8.0.mysql_aurora.3.03.2",
@@ -81,6 +82,7 @@
"8.0.mysql_aurora.3.04.0",
"8.0.mysql_aurora.3.04.1",
"8.0.mysql_aurora.3.04.2",
+ "8.0.mysql_aurora.3.04.3",
"8.0.mysql_aurora.3.05.2",
"8.0.mysql_aurora.3.06.0",
"8.0.mysql_aurora.3.06.1",
@@ -281,7 +283,8 @@
"11.5.9.0.sb00039210.r1",
"11.5.9.0.sb00039340.r1",
"11.5.9.0.sb00040222.r1",
- "11.5.9.0.sb00040226.r1"
+ "11.5.9.0.sb00040226.r1",
+ "11.5.9.0.sb00042449.r1"
]
}
}
@@ -313,7 +316,8 @@
"11.5.9.0.sb00039210.r1",
"11.5.9.0.sb00039340.r1",
"11.5.9.0.sb00040222.r1",
- "11.5.9.0.sb00040226.r1"
+ "11.5.9.0.sb00040226.r1",
+ "11.5.9.0.sb00042449.r1"
]
}
}
@@ -503,6 +507,7 @@
"15.00.4345.5.v1",
"15.00.4355.3.v1",
"15.00.4365.2.v1",
+ "15.00.4375.4.v1",
"16.00.4085.2.v1",
"16.00.4095.4.v1",
"16.00.4105.2.v1",
@@ -561,6 +566,7 @@
"15.00.4345.5.v1",
"15.00.4355.3.v1",
"15.00.4365.2.v1",
+ "15.00.4375.4.v1",
"16.00.4085.2.v1",
"16.00.4095.4.v1",
"16.00.4105.2.v1",
@@ -619,6 +625,7 @@
"15.00.4345.5.v1",
"15.00.4355.3.v1",
"15.00.4365.2.v1",
+ "15.00.4375.4.v1",
"16.00.4085.2.v1",
"16.00.4095.4.v1",
"16.00.4105.2.v1",
@@ -677,6 +684,7 @@
"15.00.4345.5.v1",
"15.00.4355.3.v1",
"15.00.4365.2.v1",
+ "15.00.4375.4.v1",
"16.00.4085.2.v1",
"16.00.4095.4.v1",
"16.00.4105.2.v1",
diff --git a/src/cfnlint/data/schemas/extensions/aws_route53_healthcheck/healthcheckconfig_type_inclusive.json b/src/cfnlint/data/schemas/extensions/aws_route53_healthcheck/healthcheckconfig_type_inclusive.json
index 96f6ec7533..26d65e8908 100644
--- a/src/cfnlint/data/schemas/extensions/aws_route53_healthcheck/healthcheckconfig_type_inclusive.json
+++ b/src/cfnlint/data/schemas/extensions/aws_route53_healthcheck/healthcheckconfig_type_inclusive.json
@@ -1,7 +1,6 @@
{
"additionalProperties": true,
"description": "When 'Type' is 'CLOUDWATCH_METRIC' you must specify 'AlarmIdentifier'",
- "else": {},
"if": {
"properties": {
"Type": {
diff --git a/src/cfnlint/data/schemas/other/template/configuration.json b/src/cfnlint/data/schemas/other/template/configuration.json
index c7b825e88b..afc9203b28 100644
--- a/src/cfnlint/data/schemas/other/template/configuration.json
+++ b/src/cfnlint/data/schemas/other/template/configuration.json
@@ -22,15 +22,7 @@
"Rules": {
"type": "object"
},
- "Transform": {
- "items": {
- "type": "string"
- },
- "type": [
- "string",
- "array"
- ]
- }
+ "Transform": {}
},
"required": [
"Resources"
diff --git a/src/cfnlint/data/schemas/other/transforms/__init__.py b/src/cfnlint/data/schemas/other/transforms/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/cfnlint/data/schemas/other/transforms/configuration.json b/src/cfnlint/data/schemas/other/transforms/configuration.json
new file mode 100644
index 0000000000..da56c0d3cb
--- /dev/null
+++ b/src/cfnlint/data/schemas/other/transforms/configuration.json
@@ -0,0 +1,38 @@
+{
+ "additionalProperties": false,
+ "items": {
+ "$ref": "#/",
+ "type": [
+ "string",
+ "object"
+ ]
+ },
+ "properties": {
+ "Name": {
+ "type": "string"
+ },
+ "Parameters": {
+ "patternProperties": {
+ ".*": {
+ "type": [
+ "string",
+ "array",
+ "boolean",
+ "object",
+ "number",
+ "integer"
+ ]
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "Name"
+ ],
+ "type": [
+ "string",
+ "array",
+ "object"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_applicationautoscaling_scalingpolicy/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_applicationautoscaling_scalingpolicy/boto.json
index 45c47dfcae..86e8c4227e 100644
--- a/src/cfnlint/data/schemas/patches/extensions/all/aws_applicationautoscaling_scalingpolicy/boto.json
+++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_applicationautoscaling_scalingpolicy/boto.json
@@ -34,7 +34,8 @@
"RDSReaderAverageDatabaseConnections",
"SageMakerInferenceComponentInvocationsPerCopy",
"SageMakerVariantInvocationsPerInstance",
- "SageMakerVariantProvisionedConcurrencyUtilization"
+ "SageMakerVariantProvisionedConcurrencyUtilization",
+ "WorkSpacesAverageUserSessionsCapacityUtilization"
]
}
]
diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_instance/manual.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_instance/manual.json
index 9c5b8fd90e..3a79f96768 100644
--- a/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_instance/manual.json
+++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_ec2_instance/manual.json
@@ -13,14 +13,6 @@
"path": "/definitions/BlockDeviceMapping/properties/VirtualName/pattern",
"value": "^ephemeral([0-9]|[1][0-9]|[2][0-3])$"
},
- {
- "op": "add",
- "path": "/requiredXor",
- "value": [
- "ImageId",
- "LaunchTemplate"
- ]
- },
{
"op": "add",
"path": "/dependentExcluded",
diff --git a/src/cfnlint/data/schemas/patches/extensions/all/aws_kinesisanalyticsv2_application/boto.json b/src/cfnlint/data/schemas/patches/extensions/all/aws_kinesisanalyticsv2_application/boto.json
index 8b304eb79e..dad2de39d1 100644
--- a/src/cfnlint/data/schemas/patches/extensions/all/aws_kinesisanalyticsv2_application/boto.json
+++ b/src/cfnlint/data/schemas/patches/extensions/all/aws_kinesisanalyticsv2_application/boto.json
@@ -7,6 +7,7 @@
"FLINK-1_13",
"FLINK-1_15",
"FLINK-1_18",
+ "FLINK-1_19",
"FLINK-1_6",
"FLINK-1_8",
"SQL-1_0",
diff --git a/src/cfnlint/data/schemas/patches/providers/all/aws_ec2_instance/writeonlyproperties-2.json b/src/cfnlint/data/schemas/patches/providers/all/aws_ec2_instance/writeonlyproperties-2.json
new file mode 100644
index 0000000000..20350d88cd
--- /dev/null
+++ b/src/cfnlint/data/schemas/patches/providers/all/aws_ec2_instance/writeonlyproperties-2.json
@@ -0,0 +1,28 @@
+[
+ {
+ "op": "test",
+ "path": "/writeOnlyProperties",
+ "value": [
+ "/properties/BlockDeviceMappings/*/NoDevice",
+ "/properties/BlockDeviceMappings/*/VirtualName",
+ "/properties/LicenseSpecification",
+ "/properties/AdditionalInfo",
+ "/properties/Ipv6AddressCount",
+ "/properties/Ipv6Addresses",
+ "/properties/PropagateTagsToVolumeOnCreation"
+ ]
+ },
+ {
+ "op": "replace",
+ "path": "/writeOnlyProperties",
+ "value": [
+ "/properties/BlockDeviceMappings/*/NoDevice",
+ "/properties/BlockDeviceMappings/*/VirtualName",
+ "/properties/LicenseSpecifications",
+ "/properties/AdditionalInfo",
+ "/properties/Ipv6AddressCount",
+ "/properties/Ipv6Addresses",
+ "/properties/PropagateTagsToVolumeOnCreation"
+ ]
+ }
+]
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py
index 38776df739..e7481bc2f2 100644
--- a/src/cfnlint/data/schemas/providers/af_south_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/af_south_1/__init__.py
@@ -1,1555 +1,1556 @@
-from typing import List
+from __future__ import annotations
# pylint: disable=too-many-lines
-types = [
- "AWS::CDK::Metadata",
- "Module",
- "AWS::ApiGatewayV2::Integration",
- "AWS::Connect::UserHierarchyGroup",
- "AWS::ApiGatewayV2::ApiMapping",
- "AWS::CE::AnomalySubscription",
- "AWS::Shield::DRTAccess",
- "AWS::SSO::Assignment",
- "AWS::Glue::Partition",
- "AWS::RDS::Integration",
- "AWS::EC2::TransitGatewayRouteTablePropagation",
- "AWS::Shield::ProactiveEngagement",
- "AWS::ApiGateway::BasePathMapping",
- "AWS::WAFRegional::GeoMatchSet",
- "AWS::S3::AccessGrantsLocation",
- "AWS::GuardDuty::Filter",
- "AWS::ECS::Service",
- "AWS::ServiceCatalog::PortfolioPrincipalAssociation",
- "AWS::RAM::ResourceShare",
- "AWS::DMS::ReplicationConfig",
- "AWS::DynamoDB::Table",
+types: list[str] = [
+ "AMZN::SDC::Deployment",
+ "AWS::ACMPCA::Certificate",
+ "AWS::ACMPCA::CertificateAuthority",
+ "AWS::ACMPCA::CertificateAuthorityActivation",
+ "AWS::ACMPCA::Permission",
+ "AWS::ARCZonalShift::ZonalAutoshiftConfiguration",
+ "AWS::AccessAnalyzer::Analyzer",
+ "AWS::AmazonMQ::Broker",
+ "AWS::AmazonMQ::Configuration",
"AWS::AmazonMQ::ConfigurationAssociation",
- "AWS::WAFRegional::IPSet",
- "AWS::EC2::SecurityGroupEgress",
- "AWS::EC2::LocalGatewayRouteTableVPCAssociation",
- "AWS::Config::OrganizationConfigRule",
- "AWS::Glue::DataQualityRuleset",
- "AWS::NetworkManager::TransitGatewayPeering",
- "AWS::MediaConnect::Bridge",
- "AWS::Route53Profiles::ProfileAssociation",
- "AWS::Config::ConfigurationRecorder",
- "AWS::EC2::NetworkPerformanceMetricSubscription",
- "AWS::CloudFront::ContinuousDeploymentPolicy",
- "AWS::QuickSight::Analysis",
- "AWS::ECR::ReplicationConfiguration",
- "AWS::AppConfig::ExtensionAssociation",
- "AWS::S3Outposts::AccessPoint",
- "AWS::EC2::IPAMPoolCidr",
- "AWS::Redshift::ClusterSubnetGroup",
- "AWS::RDS::DBInstance",
- "AWS::EC2::VPCDHCPOptionsAssociation",
- "AWS::ApiGateway::Model",
- "AWS::ApiGatewayV2::IntegrationResponse",
- "AWS::EC2::NetworkAcl",
- "AWS::Lambda::EventSourceMapping",
- "AWS::Logs::ResourcePolicy",
- "AWS::Lex::BotVersion",
- "AWS::ServiceCatalog::LaunchNotificationConstraint",
- "AWS::DMS::InstanceProfile",
- "AWS::QuickSight::DataSource",
- "AWS::EC2::NetworkAclEntry",
- "AWS::EC2::NetworkInsightsAccessScopeAnalysis",
- "AWS::Transfer::Certificate",
- "AWS::Connect::Instance",
+ "AWS::ApiGateway::Account",
+ "AWS::ApiGateway::ApiKey",
+ "AWS::ApiGateway::Authorizer",
+ "AWS::ApiGateway::BasePathMapping",
+ "AWS::ApiGateway::ClientCertificate",
+ "AWS::ApiGateway::Deployment",
"AWS::ApiGateway::DocumentationPart",
- "AWS::Route53Profiles::Profile",
- "AWS::CloudWatch::CompositeAlarm",
- "AWS::Route53Resolver::FirewallDomainList",
- "AWS::Redshift::EndpointAccess",
- "AWS::AppConfig::Application",
- "AWS::OpsWorks::Stack",
- "AWS::MediaTailor::Channel",
- "AWS::Lambda::Url",
- "AWS::MediaTailor::ChannelPolicy",
- "AWS::GameLift::Fleet",
- "AWS::DataSync::LocationFSxWindows",
- "AWS::GameLift::Build",
+ "AWS::ApiGateway::DocumentationVersion",
+ "AWS::ApiGateway::DomainName",
+ "AWS::ApiGateway::GatewayResponse",
+ "AWS::ApiGateway::Method",
+ "AWS::ApiGateway::Model",
"AWS::ApiGateway::RequestValidator",
- "AWS::AutoScaling::WarmPool",
- "AWS::ApplicationAutoScaling::ScalableTarget",
+ "AWS::ApiGateway::Resource",
+ "AWS::ApiGateway::RestApi",
+ "AWS::ApiGateway::Stage",
+ "AWS::ApiGateway::UsagePlan",
+ "AWS::ApiGateway::UsagePlanKey",
+ "AWS::ApiGateway::VpcLink",
+ "AWS::ApiGatewayV2::Api",
+ "AWS::ApiGatewayV2::ApiGatewayManagedOverrides",
+ "AWS::ApiGatewayV2::ApiMapping",
+ "AWS::ApiGatewayV2::Authorizer",
+ "AWS::ApiGatewayV2::Deployment",
+ "AWS::ApiGatewayV2::DomainName",
+ "AWS::ApiGatewayV2::Integration",
+ "AWS::ApiGatewayV2::IntegrationResponse",
"AWS::ApiGatewayV2::Model",
- "AWS::Config::StoredQuery",
- "AWS::ACMPCA::Permission",
- "AWS::Neptune::DBSubnetGroup",
- "AWS::Transfer::Server",
- "AWS::ApiGateway::DomainName",
- "AWS::ECS::PrimaryTaskSet",
- "AWS::FMS::ResourceSet",
- "AWS::Cognito::UserPoolDomain",
- "AWS::AutoScaling::AutoScalingGroup",
- "AWS::WAFv2::RegexPatternSet",
- "AWS::EKS::FargateProfile",
- "AWS::Route53::DNSSEC",
- "AWS::Redshift::EndpointAuthorization",
- "AWS::EC2::TransitGatewayRouteTable",
- "AWS::ControlTower::EnabledControl",
- "AWS::NetworkManager::ConnectAttachment",
- "AWS::S3::AccessGrantsInstance",
- "AWS::Cognito::IdentityPoolRoleAttachment",
- "AWS::Route53::RecordSet",
- "AWS::EKS::AccessEntry",
- "AWS::ElastiCache::SecurityGroup",
- "AWS::Backup::Framework",
+ "AWS::ApiGatewayV2::Route",
+ "AWS::ApiGatewayV2::RouteResponse",
+ "AWS::ApiGatewayV2::Stage",
+ "AWS::ApiGatewayV2::VpcLink",
+ "AWS::AppConfig::Application",
+ "AWS::AppConfig::ConfigurationProfile",
+ "AWS::AppConfig::Deployment",
+ "AWS::AppConfig::DeploymentStrategy",
+ "AWS::AppConfig::Environment",
+ "AWS::AppConfig::Extension",
+ "AWS::AppConfig::ExtensionAssociation",
+ "AWS::AppConfig::HostedConfigurationVersion",
+ "AWS::AppFlow::Connector",
"AWS::AppFlow::ConnectorProfile",
- "AWS::OpsWorks::Layer",
- "AWS::CloudTrail::EventDataStore",
+ "AWS::AppFlow::Flow",
"AWS::AppIntegrations::Application",
- "AWS::KinesisFirehose::DeliveryStream",
- "AWS::EC2::NetworkInsightsAccessScope",
- "AWS::Cognito::UserPoolUserToGroupAttachment",
- "AWS::PCAConnectorAD::DirectoryRegistration",
- "AWS::SageMaker::CodeRepository",
- "AWS::ImageBuilder::Component",
- "AWS::SES::ConfigurationSetEventDestination",
- "AWS::MediaConnect::FlowEntitlement",
- "AWS::Glue::Connection",
- "AWS::AppMesh::Route",
- "AWS::IAM::Group",
- "AWS::Organizations::ResourcePolicy",
- "AWS::WAFRegional::WebACLAssociation",
- "AWS::EC2::TransitGatewayMulticastGroupSource",
- "AWS::Lex::Bot",
- "AWS::Transfer::Profile",
- "AWS::DataBrew::Recipe",
- "AWS::SSO::Instance",
- "AWS::GameLift::Alias",
- "AWS::AppSync::DomainName",
- "AWS::ApiGateway::UsagePlanKey",
- "AWS::FMS::Policy",
- "AWS::CloudFront::RealtimeLogConfig",
- "AWS::SageMaker::Pipeline",
- "AWS::CloudTrail::Channel",
- "AWS::LakeFormation::DataCellsFilter",
- "AWS::DataSync::LocationHDFS",
- "AWS::Events::Archive",
- "AWS::MSK::Cluster",
- "AWS::SecurityHub::DelegatedAdmin",
- "AWS::ControlTower::EnabledBaseline",
- "AWS::EC2::VPCEndpointConnectionNotification",
- "AWS::CodePipeline::Pipeline",
- "AWS::OpsWorks::Instance",
- "AWS::Config::ConfigurationAggregator",
- "AWS::ImageBuilder::ImagePipeline",
- "AWS::ElasticLoadBalancingV2::ListenerCertificate",
- "AWS::CloudFormation::ModuleVersion",
- "AWS::Cloud9::EnvironmentEC2",
- "AWS::Route53Resolver::ResolverRuleAssociation",
- "AWS::FSx::StorageVirtualMachine",
- "AWS::Synthetics::Canary",
- "AWS::Backup::RestoreTestingSelection",
- "AWS::SNS::Subscription",
+ "AWS::AppIntegrations::DataIntegration",
+ "AWS::AppIntegrations::EventIntegration",
+ "AWS::AppMesh::GatewayRoute",
"AWS::AppMesh::Mesh",
- "AWS::EC2::NatGateway",
- "AWS::InternetMonitor::Monitor",
- "AWS::Transfer::Workflow",
- "AWS::S3::AccessGrant",
- "AWS::AppConfig::DeploymentStrategy",
- "AWS::Glue::DevEndpoint",
- "AWS::SageMaker::ModelPackage",
- "AWS::CustomerProfiles::Integration",
- "AWS::WAFRegional::SizeConstraintSet",
- "AWS::EventSchemas::Discoverer",
- "AWS::NetworkManager::ConnectPeer",
- "AWS::ElastiCache::UserGroup",
- "AWS::Logs::DeliveryDestination",
- "AWS::ImageBuilder::ImageRecipe",
- "AWS::ApiGateway::RestApi",
- "AWS::OpsWorks::ElasticLoadBalancerAttachment",
+ "AWS::AppMesh::Route",
+ "AWS::AppMesh::VirtualGateway",
+ "AWS::AppMesh::VirtualNode",
+ "AWS::AppMesh::VirtualRouter",
"AWS::AppMesh::VirtualService",
- "AWS::S3ObjectLambda::AccessPointPolicy",
- "AWS::NetworkManager::TransitGatewayRegistration",
- "AWS::InspectorV2::Filter",
- "AWS::ElastiCache::ReplicationGroup",
- "AWS::StepFunctions::StateMachineAlias",
- "AWS::Cognito::UserPoolResourceServer",
- "AWS::RDS::GlobalCluster",
- "AWS::CloudFormation::ModuleDefaultVersion",
+ "AWS::AppSync::ApiCache",
+ "AWS::AppSync::ApiKey",
+ "AWS::AppSync::DataSource",
+ "AWS::AppSync::DomainName",
+ "AWS::AppSync::DomainNameApiAssociation",
+ "AWS::AppSync::FunctionConfiguration",
+ "AWS::AppSync::GraphQLApi",
+ "AWS::AppSync::GraphQLSchema",
+ "AWS::AppSync::Resolver",
+ "AWS::AppSync::SourceApiAssociation",
+ "AWS::ApplicationAutoScaling::ScalableTarget",
+ "AWS::ApplicationAutoScaling::ScalingPolicy",
+ "AWS::ApplicationInsights::Application",
"AWS::ApplicationSignals::ServiceLevelObjective",
- "AWS::Route53Profiles::ProfileResourceAssociation",
- "AWS::SSO::PermissionSet",
- "AWS::Glue::Job",
- "AWS::ServiceCatalog::CloudFormationProvisionedProduct",
- "AWS::Route53::HostedZone",
- "AWS::Connect::View",
- "AWS::EKS::PodIdentityAssociation",
- "AWS::ResourceExplorer2::Index",
- "AWS::Glue::Table",
- "AWS::WAFRegional::WebACL",
- "AWS::Logs::MetricFilter",
- "AWS::Lambda::Function",
- "AWS::SNS::Topic",
+ "AWS::Athena::DataCatalog",
+ "AWS::Athena::NamedQuery",
+ "AWS::Athena::PreparedStatement",
+ "AWS::Athena::WorkGroup",
+ "AWS::AutoScaling::AutoScalingGroup",
+ "AWS::AutoScaling::LaunchConfiguration",
+ "AWS::AutoScaling::LifecycleHook",
+ "AWS::AutoScaling::ScalingPolicy",
+ "AWS::AutoScaling::ScheduledAction",
+ "AWS::AutoScaling::WarmPool",
+ "AWS::AutoScalingPlans::ScalingPlan",
+ "AWS::Backup::BackupPlan",
"AWS::Backup::BackupSelection",
- "AWS::DataSync::LocationFSxLustre",
- "AWS::SageMaker::App",
- "AWS::Logs::DeliverySource",
- "AWS::EC2::VPCGatewayAttachment",
- "AWS::CloudTrail::Trail",
- "AWS::EC2::VPNConnectionRoute",
- "AWS::EC2::InternetGateway",
- "AWS::EC2::GatewayRouteTableAssociation",
- "AWS::WAFv2::IPSet",
- "AWS::MediaConnect::BridgeOutput",
- "AWS::SSM::Document",
- "AWS::IAM::Role",
- "AWS::Events::ApiDestination",
- "AWS::DMS::Endpoint",
- "AWS::ElastiCache::ServerlessCache",
- "AWS::CloudFront::CloudFrontOriginAccessIdentity",
- "AWS::SageMaker::EndpointConfig",
- "AWS::AppMesh::GatewayRoute",
- "AWS::ApiGateway::ApiKey",
- "AWS::NetworkManager::TransitGatewayRouteTableAttachment",
- "AWS::AutoScaling::LaunchConfiguration",
- "AWS::ApiGateway::ClientCertificate",
- "AWS::KinesisAnalyticsV2::Application",
- "AWS::Lambda::Alias",
- "AWS::Logs::LogAnomalyDetector",
- "AWS::WAF::IPSet",
- "AWS::EC2::TransitGatewayMulticastDomainAssociation",
- "AWS::S3Outposts::Endpoint",
- "AWS::WAF::SizeConstraintSet",
- "AWS::EC2::TransitGatewayRouteTableAssociation",
- "AWS::AppConfig::Environment",
- "AWS::Neptune::EventSubscription",
- "AWS::ImageBuilder::Image",
- "AWS::ElastiCache::SecurityGroupIngress",
- "AWS::WAFRegional::XssMatchSet",
- "AWS::RDS::DBProxyTargetGroup",
- "AWS::CloudWatch::Dashboard",
- "AWS::CloudWatch::Alarm",
- "AWS::GuardDuty::Member",
- "AWS::GroundStation::MissionProfile",
+ "AWS::Backup::BackupVault",
+ "AWS::Backup::Framework",
+ "AWS::Backup::ReportPlan",
+ "AWS::Backup::RestoreTestingPlan",
+ "AWS::Backup::RestoreTestingSelection",
+ "AWS::BackupGateway::Hypervisor",
+ "AWS::Batch::ComputeEnvironment",
+ "AWS::Batch::JobDefinition",
+ "AWS::Batch::JobQueue",
+ "AWS::Batch::SchedulingPolicy",
+ "AWS::CDK::Metadata",
+ "AWS::CE::AnomalyMonitor",
+ "AWS::CE::AnomalySubscription",
+ "AWS::CertificateManager::Account",
+ "AWS::CertificateManager::Certificate",
+ "AWS::Chatbot::MicrosoftTeamsChannelConfiguration",
+ "AWS::Chatbot::SlackChannelConfiguration",
+ "AWS::Cloud9::EnvironmentEC2",
"AWS::CloudFormation::CustomResource",
- "AWS::FIS::TargetAccountConfiguration",
- "AWS::WAFv2::RuleGroup",
- "AWS::SageMaker::ModelPackageGroup",
- "AWS::SES::ConfigurationSet",
- "AWS::ElastiCache::ParameterGroup",
- "AWS::NetworkFirewall::LoggingConfiguration",
- "AWS::Glue::Classifier",
- "AWS::Connect::SecurityProfile",
- "AWS::CodeDeploy::DeploymentGroup",
- "AWS::SageMaker::InferenceExperiment",
- "AWS::CloudFormation::StackSet",
- "AWS::EC2::Route",
- "AWS::FIS::ExperimentTemplate",
+ "AWS::CloudFormation::HookDefaultVersion",
+ "AWS::CloudFormation::HookTypeConfig",
"AWS::CloudFormation::HookVersion",
- "AWS::RolesAnywhere::Profile",
- "AWS::XRay::ResourcePolicy",
- "AWS::ServiceCatalog::LaunchTemplateConstraint",
- "AWS::WAFv2::LoggingConfiguration",
- "AWS::DynamoDB::GlobalTable",
- "AWS::Backup::BackupPlan",
- "AWS::ImageBuilder::DistributionConfiguration",
- "AWS::LakeFormation::Permissions",
- "AWS::ResourceExplorer2::View",
- "AWS::Glue::DataCatalogEncryptionSettings",
+ "AWS::CloudFormation::Macro",
+ "AWS::CloudFormation::ModuleDefaultVersion",
+ "AWS::CloudFormation::ModuleVersion",
+ "AWS::CloudFormation::PublicTypeVersion",
+ "AWS::CloudFormation::Publisher",
+ "AWS::CloudFormation::ResourceDefaultVersion",
+ "AWS::CloudFormation::ResourceVersion",
+ "AWS::CloudFormation::Stack",
+ "AWS::CloudFormation::StackSet",
+ "AWS::CloudFormation::TypeActivation",
+ "AWS::CloudFormation::WaitCondition",
+ "AWS::CloudFormation::WaitConditionHandle",
+ "AWS::CloudFront::CachePolicy",
+ "AWS::CloudFront::CloudFrontOriginAccessIdentity",
+ "AWS::CloudFront::ContinuousDeploymentPolicy",
+ "AWS::CloudFront::Distribution",
+ "AWS::CloudFront::Function",
+ "AWS::CloudFront::KeyGroup",
+ "AWS::CloudFront::KeyValueStore",
+ "AWS::CloudFront::MonitoringSubscription",
+ "AWS::CloudFront::OriginAccessControl",
+ "AWS::CloudFront::OriginRequestPolicy",
"AWS::CloudFront::PublicKey",
- "AWS::PCAConnectorAD::Connector",
- "AWS::Lex::BotAlias",
- "AWS::IdentityStore::Group",
- "AWS::RAM::Permission",
- "AWS::DataSync::Task",
- "AWS::ECS::TaskDefinition",
- "AWS::SageMaker::Model",
- "AWS::QuickSight::RefreshSchedule",
- "AWS::Shield::Protection",
- "AWS::SES::VdmAttributes",
- "AWS::IdentityStore::GroupMembership",
- "AWS::AppSync::FunctionConfiguration",
- "AWS::EC2::SpotFleet",
- "AWS::Glue::SchemaVersion",
- "AWS::SageMaker::Space",
- "AWS::IoT::PolicyPrincipalAttachment",
- "AWS::FMS::NotificationChannel",
- "AWS::MSK::BatchScramSecret",
- "AWS::Connect::HoursOfOperation",
- "AWS::DMS::Certificate",
- "AWS::S3::Bucket",
- "AWS::GuardDuty::IPSet",
- "AWS::ServiceDiscovery::HttpNamespace",
- "AWS::EMR::SecurityConfiguration",
+ "AWS::CloudFront::RealtimeLogConfig",
+ "AWS::CloudFront::ResponseHeadersPolicy",
+ "AWS::CloudFront::StreamingDistribution",
+ "AWS::CloudTrail::Channel",
+ "AWS::CloudTrail::EventDataStore",
+ "AWS::CloudTrail::ResourcePolicy",
+ "AWS::CloudTrail::Trail",
+ "AWS::CloudWatch::Alarm",
+ "AWS::CloudWatch::AnomalyDetector",
+ "AWS::CloudWatch::CompositeAlarm",
+ "AWS::CloudWatch::Dashboard",
"AWS::CloudWatch::InsightRule",
- "AWS::ApiGateway::UsagePlan",
- "AWS::AppIntegrations::EventIntegration",
- "AWS::Batch::SchedulingPolicy",
- "AWS::MediaConnect::BridgeSource",
- "AWS::ApiGatewayV2::VpcLink",
- "AWS::ServiceCatalog::PortfolioProductAssociation",
- "AWS::DataBrew::Project",
- "AWS::Athena::WorkGroup",
- "AWS::SageMaker::ImageVersion",
- "AWS::ApiGatewayV2::Api",
- "AWS::Detective::Graph",
- "AWS::ServiceCatalog::PortfolioShare",
- "AWS::ApiGateway::VpcLink",
+ "AWS::CloudWatch::MetricStream",
+ "AWS::CodeBuild::Project",
+ "AWS::CodeBuild::ReportGroup",
+ "AWS::CodeBuild::SourceCredential",
+ "AWS::CodeDeploy::Application",
+ "AWS::CodeDeploy::DeploymentConfig",
+ "AWS::CodeDeploy::DeploymentGroup",
+ "AWS::CodePipeline::CustomActionType",
+ "AWS::CodePipeline::Pipeline",
+ "AWS::Cognito::IdentityPool",
+ "AWS::Cognito::IdentityPoolPrincipalTag",
+ "AWS::Cognito::IdentityPoolRoleAttachment",
+ "AWS::Cognito::LogDeliveryConfiguration",
+ "AWS::Cognito::UserPool",
+ "AWS::Cognito::UserPoolClient",
+ "AWS::Cognito::UserPoolDomain",
+ "AWS::Cognito::UserPoolGroup",
+ "AWS::Cognito::UserPoolIdentityProvider",
+ "AWS::Cognito::UserPoolResourceServer",
+ "AWS::Cognito::UserPoolRiskConfigurationAttachment",
+ "AWS::Cognito::UserPoolUICustomizationAttachment",
+ "AWS::Cognito::UserPoolUser",
+ "AWS::Cognito::UserPoolUserToGroupAttachment",
+ "AWS::Config::AggregationAuthorization",
+ "AWS::Config::ConfigRule",
+ "AWS::Config::ConfigurationAggregator",
+ "AWS::Config::ConfigurationRecorder",
+ "AWS::Config::DeliveryChannel",
+ "AWS::Config::OrganizationConfigRule",
+ "AWS::Config::RemediationConfiguration",
+ "AWS::Config::StoredQuery",
+ "AWS::Connect::ApprovedOrigin",
+ "AWS::Connect::ContactFlow",
+ "AWS::Connect::ContactFlowModule",
+ "AWS::Connect::EvaluationForm",
+ "AWS::Connect::HoursOfOperation",
+ "AWS::Connect::Instance",
+ "AWS::Connect::InstanceStorageConfig",
"AWS::Connect::IntegrationAssociation",
- "AWS::NetworkManager::CustomerGatewayAssociation",
- "AWS::IAM::ServerCertificate",
- "AWS::GlobalAccelerator::CrossAccountAttachment",
- "AWS::Events::EventBus",
- "AWS::SQS::QueueInlinePolicy",
- "AWS::Organizations::Organization",
- "AWS::AutoScalingPlans::ScalingPlan",
- "AWS::SSM::MaintenanceWindowTarget",
- "AWS::VoiceID::Domain",
- "AWS::ApiGateway::Authorizer",
- "AWS::BackupGateway::Hypervisor",
+ "AWS::Connect::PhoneNumber",
"AWS::Connect::PredefinedAttribute",
- "AWS::IAM::Policy",
- "AWS::DataBrew::Schedule",
- "AWS::Connect::ApprovedOrigin",
- "AWS::SES::ContactList",
- "AWS::Connect::SecurityKey",
- "AWS::CloudFormation::Publisher",
- "AWS::RDS::DBSecurityGroupIngress",
- "AWS::SecurityHub::OrganizationConfiguration",
- "AWS::EC2::TransitGatewayMulticastGroupMember",
- "AWS::EC2::VolumeAttachment",
- "AWS::Glue::SecurityConfiguration",
- "AWS::NetworkFirewall::TLSInspectionConfiguration",
- "AWS::DataBrew::Ruleset",
- "AWS::ApplicationInsights::Application",
- "AWS::ECS::ClusterCapacityProviderAssociations",
- "AWS::AppConfig::ConfigurationProfile",
- "AWS::Route53Resolver::FirewallRuleGroup",
- "AWS::MSK::Configuration",
- "AWS::EC2::TransitGateway",
- "AWS::Cognito::UserPoolGroup",
- "AWS::EC2::VPCEndpointServicePermissions",
- "AWS::SSM::MaintenanceWindowTask",
- "AWS::EC2::TransitGatewayMulticastDomain",
- "AWS::VerifiedPermissions::PolicyTemplate",
- "AWS::EKS::Cluster",
- "AWS::CodeBuild::Project",
- "AWS::EFS::FileSystem",
+ "AWS::Connect::Prompt",
+ "AWS::Connect::Queue",
"AWS::Connect::QuickConnect",
- "AWS::Logs::QueryDefinition",
- "AWS::SecurityHub::ProductSubscription",
- "AWS::IAM::InstanceProfile",
- "AWS::DataSync::LocationNFS",
- "AWS::SageMaker::Domain",
- "AWS::CertificateManager::Certificate",
- "AWS::Glue::SchemaVersionMetadata",
- "AWS::SDB::Domain",
- "AWS::EC2::SubnetRouteTableAssociation",
- "AWS::ServiceCatalog::ServiceActionAssociation",
- "AWS::Cognito::UserPoolUICustomizationAttachment",
- "AWS::SageMaker::NotebookInstanceLifecycleConfig",
- "AWS::ImageBuilder::ContainerRecipe",
+ "AWS::Connect::RoutingProfile",
"AWS::Connect::Rule",
- "AWS::EFS::AccessPoint",
- "AWS::Redshift::ClusterSecurityGroupIngress",
- "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation",
- "AWS::ElasticLoadBalancingV2::LoadBalancer",
- "AWS::OpenSearchService::Domain",
- "AWS::ServiceDiscovery::Instance",
- "AWS::Elasticsearch::Domain",
- "AWS::ApiGatewayV2::Deployment",
- "AWS::ServiceCatalog::StackSetConstraint",
- "AWS::EC2::NetworkInterfacePermission",
- "AWS::ServiceCatalog::TagOption",
- "AWS::ServiceDiscovery::PrivateDnsNamespace",
- "AWS::ServiceCatalog::LaunchRoleConstraint",
- "AMZN::SDC::Deployment",
- "AWS::SecretsManager::ResourcePolicy",
- "AWS::CloudFormation::HookDefaultVersion",
- "AWS::Config::ConfigRule",
- "AWS::EC2::NetworkInsightsAnalysis",
- "AWS::EC2::ClientVpnRoute",
- "AWS::ImageBuilder::Workflow",
- "AWS::ECS::TaskSet",
- "AWS::AppSync::ApiKey",
- "AWS::CloudFormation::TypeActivation",
- "AWS::GroundStation::DataflowEndpointGroup",
- "AWS::ACMPCA::CertificateAuthorityActivation",
- "AWS::GuardDuty::ThreatIntelSet",
- "AWS::WAFRegional::RateBasedRule",
- "AWS::Macie::AllowList",
- "AWS::EC2::VPC",
- "AWS::ARCZonalShift::ZonalAutoshiftConfiguration",
- "AWS::MSK::VpcConnection",
- "AWS::DataSync::LocationAzureBlob",
- "AWS::Logs::LogStream",
- "AWS::DMS::ReplicationSubnetGroup",
- "AWS::S3Outposts::Bucket",
- "AWS::Route53::RecordSetGroup",
- "AWS::EC2::LocalGatewayRoute",
- "AWS::CloudFormation::PublicTypeVersion",
- "AWS::OpsWorks::App",
- "AWS::Kinesis::Stream",
- "AWS::Backup::ReportPlan",
- "AWS::Batch::JobDefinition",
- "AWS::IAM::SAMLProvider",
- "AWS::AppFlow::Connector",
- "AWS::CloudFront::KeyGroup",
- "AWS::EC2::NetworkInterfaceAttachment",
- "AWS::EC2::TransitGatewayAttachment",
- "AWS::Glue::CustomEntityType",
- "AWS::Cognito::UserPoolUser",
- "AWS::Connect::ContactFlowModule",
- "AWS::CodeDeploy::DeploymentConfig",
- "AWS::NetworkManager::GlobalNetwork",
+ "AWS::Connect::SecurityKey",
+ "AWS::Connect::SecurityProfile",
"AWS::Connect::TaskTemplate",
- "AWS::StepFunctions::StateMachineVersion",
- "AWS::ServiceCatalogAppRegistry::Application",
- "AWS::NetworkManager::Site",
- "AWS::Glue::Database",
- "AWS::Neptune::DBCluster",
- "AWS::Backup::BackupVault",
+ "AWS::Connect::User",
+ "AWS::Connect::UserHierarchyGroup",
+ "AWS::Connect::View",
+ "AWS::Connect::ViewVersion",
+ "AWS::ControlTower::EnabledBaseline",
+ "AWS::ControlTower::EnabledControl",
+ "AWS::ControlTower::LandingZone",
+ "AWS::CustomerProfiles::CalculatedAttributeDefinition",
+ "AWS::CustomerProfiles::Domain",
+ "AWS::CustomerProfiles::EventStream",
+ "AWS::CustomerProfiles::Integration",
+ "AWS::CustomerProfiles::ObjectType",
+ "AWS::DLM::LifecyclePolicy",
+ "AWS::DMS::Certificate",
+ "AWS::DMS::DataProvider",
+ "AWS::DMS::Endpoint",
+ "AWS::DMS::EventSubscription",
+ "AWS::DMS::InstanceProfile",
+ "AWS::DMS::MigrationProject",
+ "AWS::DMS::ReplicationConfig",
+ "AWS::DMS::ReplicationInstance",
+ "AWS::DMS::ReplicationSubnetGroup",
+ "AWS::DMS::ReplicationTask",
+ "AWS::DataBrew::Dataset",
+ "AWS::DataBrew::Job",
+ "AWS::DataBrew::Project",
+ "AWS::DataBrew::Recipe",
+ "AWS::DataBrew::Ruleset",
+ "AWS::DataBrew::Schedule",
+ "AWS::DataPipeline::Pipeline",
+ "AWS::DataSync::Agent",
+ "AWS::DataSync::LocationAzureBlob",
+ "AWS::DataSync::LocationEFS",
+ "AWS::DataSync::LocationFSxLustre",
+ "AWS::DataSync::LocationFSxONTAP",
+ "AWS::DataSync::LocationFSxWindows",
+ "AWS::DataSync::LocationHDFS",
+ "AWS::DataSync::LocationNFS",
+ "AWS::DataSync::LocationObjectStorage",
+ "AWS::DataSync::LocationS3",
+ "AWS::DataSync::LocationSMB",
+ "AWS::DataSync::StorageSystem",
+ "AWS::DataSync::Task",
+ "AWS::Detective::Graph",
+ "AWS::Detective::MemberInvitation",
+ "AWS::Detective::OrganizationAdmin",
+ "AWS::DirectoryService::MicrosoftAD",
+ "AWS::DirectoryService::SimpleAD",
+ "AWS::DynamoDB::GlobalTable",
+ "AWS::DynamoDB::Table",
+ "AWS::EC2::CapacityReservation",
+ "AWS::EC2::CapacityReservationFleet",
+ "AWS::EC2::ClientVpnAuthorizationRule",
+ "AWS::EC2::ClientVpnEndpoint",
+ "AWS::EC2::ClientVpnRoute",
+ "AWS::EC2::ClientVpnTargetNetworkAssociation",
"AWS::EC2::CustomerGateway",
- "AWS::IAM::GroupPolicy",
- "AWS::Scheduler::Schedule",
- "AWS::WAF::ByteMatchSet",
- "AWS::Neptune::DBClusterParameterGroup",
- "AWS::EMRServerless::Application",
+ "AWS::EC2::DHCPOptions",
+ "AWS::EC2::EC2Fleet",
+ "AWS::EC2::EIP",
+ "AWS::EC2::EIPAssociation",
+ "AWS::EC2::EgressOnlyInternetGateway",
+ "AWS::EC2::EnclaveCertificateIamRoleAssociation",
+ "AWS::EC2::FlowLog",
+ "AWS::EC2::GatewayRouteTableAssociation",
"AWS::EC2::Host",
- "AWS::Lambda::CodeSigningConfig",
- "AWS::SystemsManagerSAP::Application",
- "AWS::DMS::ReplicationTask",
+ "AWS::EC2::IPAM",
+ "AWS::EC2::IPAMAllocation",
+ "AWS::EC2::IPAMPool",
+ "AWS::EC2::IPAMPoolCidr",
+ "AWS::EC2::IPAMResourceDiscovery",
+ "AWS::EC2::IPAMResourceDiscoveryAssociation",
+ "AWS::EC2::IPAMScope",
+ "AWS::EC2::Instance",
+ "AWS::EC2::InstanceConnectEndpoint",
+ "AWS::EC2::InternetGateway",
+ "AWS::EC2::KeyPair",
+ "AWS::EC2::LaunchTemplate",
+ "AWS::EC2::LocalGatewayRoute",
+ "AWS::EC2::LocalGatewayRouteTable",
+ "AWS::EC2::LocalGatewayRouteTableVPCAssociation",
+ "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation",
+ "AWS::EC2::NatGateway",
+ "AWS::EC2::NetworkAcl",
+ "AWS::EC2::NetworkAclEntry",
+ "AWS::EC2::NetworkInsightsAccessScope",
+ "AWS::EC2::NetworkInsightsAccessScopeAnalysis",
+ "AWS::EC2::NetworkInsightsAnalysis",
+ "AWS::EC2::NetworkInsightsPath",
+ "AWS::EC2::NetworkInterface",
+ "AWS::EC2::NetworkInterfaceAttachment",
+ "AWS::EC2::NetworkInterfacePermission",
+ "AWS::EC2::NetworkPerformanceMetricSubscription",
+ "AWS::EC2::PlacementGroup",
+ "AWS::EC2::PrefixList",
+ "AWS::EC2::Route",
"AWS::EC2::RouteTable",
- "AWS::MediaConnect::Gateway",
- "AWS::RDS::DBProxyEndpoint",
- "AWS::DataSync::LocationSMB",
- "AWS::ResilienceHub::App",
- "AWS::SecurityHub::Standard",
- "AWS::RolesAnywhere::CRL",
- "AWS::SNS::TopicInlinePolicy",
- "AWS::Connect::EvaluationForm",
- "AWS::Redshift::ClusterParameterGroup",
- "AWS::Organizations::Policy",
- "AWS::Glue::Trigger",
- "AWS::GlobalAccelerator::Listener",
- "AWS::VerifiedPermissions::PolicyStore",
- "AWS::Signer::SigningProfile",
- "AWS::EC2::VPCPeeringConnection",
- "AWS::SNS::TopicPolicy",
- "AWS::MWAA::Environment",
- "AWS::NetworkFirewall::RuleGroup",
- "AWS::KMS::Key",
- "AWS::Route53Resolver::ResolverDNSSECConfig",
- "AWS::ServiceCatalog::AcceptedPortfolioShare",
- "AWS::Route53Resolver::FirewallRuleGroupAssociation",
- "AWS::Route53Resolver::ResolverQueryLoggingConfig",
+ "AWS::EC2::SecurityGroup",
+ "AWS::EC2::SecurityGroupEgress",
+ "AWS::EC2::SecurityGroupIngress",
"AWS::EC2::SnapshotBlockPublicAccess",
+ "AWS::EC2::SpotFleet",
"AWS::EC2::Subnet",
- "AWS::CloudTrail::ResourcePolicy",
- "AWS::S3ObjectLambda::AccessPoint",
- "AWS::WAF::Rule",
- "AWS::ElasticBeanstalk::ConfigurationTemplate",
- "AWS::SQS::QueuePolicy",
- "AWS::AppSync::DomainNameApiAssociation",
- "AWS::AppSync::ApiCache",
- "AWS::ApiGateway::Account",
- "AWS::WAFv2::WebACL",
- "AWS::GlobalAccelerator::EndpointGroup",
+ "AWS::EC2::SubnetCidrBlock",
+ "AWS::EC2::SubnetNetworkAclAssociation",
+ "AWS::EC2::SubnetRouteTableAssociation",
+ "AWS::EC2::TrafficMirrorFilter",
+ "AWS::EC2::TrafficMirrorFilterRule",
+ "AWS::EC2::TrafficMirrorSession",
+ "AWS::EC2::TrafficMirrorTarget",
+ "AWS::EC2::TransitGateway",
+ "AWS::EC2::TransitGatewayAttachment",
"AWS::EC2::TransitGatewayConnect",
- "AWS::NetworkManager::SiteToSiteVpnAttachment",
- "AWS::EC2::SecurityGroup",
- "AWS::QuickSight::Theme",
- "AWS::EC2::CapacityReservationFleet",
- "AWS::OpsWorks::Volume",
- "AWS::SES::EmailIdentity",
- "AWS::IAM::UserToGroupAddition",
- "AWS::Events::Rule",
- "AWS::CloudFront::KeyValueStore",
- "AWS::GuardDuty::MalwareProtectionPlan",
- "AWS::DataBrew::Dataset",
+ "AWS::EC2::TransitGatewayMulticastDomain",
+ "AWS::EC2::TransitGatewayMulticastDomainAssociation",
+ "AWS::EC2::TransitGatewayMulticastGroupMember",
+ "AWS::EC2::TransitGatewayMulticastGroupSource",
+ "AWS::EC2::TransitGatewayPeeringAttachment",
+ "AWS::EC2::TransitGatewayRoute",
+ "AWS::EC2::TransitGatewayRouteTable",
+ "AWS::EC2::TransitGatewayRouteTableAssociation",
+ "AWS::EC2::TransitGatewayRouteTablePropagation",
+ "AWS::EC2::TransitGatewayVpcAttachment",
+ "AWS::EC2::VPC",
+ "AWS::EC2::VPCCidrBlock",
+ "AWS::EC2::VPCDHCPOptionsAssociation",
+ "AWS::EC2::VPCEndpoint",
+ "AWS::EC2::VPCEndpointConnectionNotification",
+ "AWS::EC2::VPCEndpointService",
+ "AWS::EC2::VPCEndpointServicePermissions",
+ "AWS::EC2::VPCGatewayAttachment",
+ "AWS::EC2::VPCPeeringConnection",
+ "AWS::EC2::VPNConnection",
+ "AWS::EC2::VPNConnectionRoute",
+ "AWS::EC2::VPNGateway",
"AWS::EC2::VPNGatewayRoutePropagation",
- "AWS::Glue::Crawler",
- "AWS::CloudFront::Function",
- "AWS::ApiGateway::Method",
- "AWS::WAFRegional::RegexPatternSet",
- "AWS::SSM::PatchBaseline",
- "AWS::ServiceDiscovery::Service",
- "AWS::CustomerProfiles::ObjectType",
- "AWS::CloudFront::MonitoringSubscription",
+ "AWS::EC2::Volume",
+ "AWS::EC2::VolumeAttachment",
+ "AWS::ECR::PullThroughCacheRule",
+ "AWS::ECR::RegistryPolicy",
+ "AWS::ECR::ReplicationConfiguration",
+ "AWS::ECR::Repository",
+ "AWS::ECR::RepositoryCreationTemplate",
+ "AWS::ECS::CapacityProvider",
+ "AWS::ECS::Cluster",
+ "AWS::ECS::ClusterCapacityProviderAssociations",
+ "AWS::ECS::PrimaryTaskSet",
+ "AWS::ECS::Service",
+ "AWS::ECS::TaskDefinition",
+ "AWS::ECS::TaskSet",
+ "AWS::EFS::AccessPoint",
+ "AWS::EFS::FileSystem",
"AWS::EFS::MountTarget",
- "AWS::QuickSight::DataSet",
- "AWS::EC2::VPNConnection",
- "AWS::WAF::WebACL",
- "AWS::ServiceDiscovery::PublicDnsNamespace",
- "AWS::Shield::ProtectionGroup",
- "AWS::NetworkManager::VpcAttachment",
- "AWS::IAM::User",
- "AWS::EMR::InstanceGroupConfig",
- "AWS::MediaConnect::Flow",
- "AWS::StepFunctions::Activity",
- "AWS::SageMaker::Project",
- "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation",
- "AWS::Logs::AccountPolicy",
- "AWS::S3::BucketPolicy",
- "AWS::AppSync::GraphQLSchema",
- "AWS::Redshift::Cluster",
- "AWS::CodeBuild::SourceCredential",
- "AWS::EMR::InstanceFleetConfig",
+ "AWS::EKS::AccessEntry",
+ "AWS::EKS::Addon",
+ "AWS::EKS::Cluster",
+ "AWS::EKS::FargateProfile",
+ "AWS::EKS::IdentityProviderConfig",
+ "AWS::EKS::Nodegroup",
+ "AWS::EKS::PodIdentityAssociation",
"AWS::EMR::Cluster",
- "AWS::ApiGatewayV2::DomainName",
- "AWS::CustomerProfiles::EventStream",
- "AWS::RDS::DBCluster",
- "AWS::ServiceCatalog::ResourceUpdateConstraint",
- "AWS::Transfer::Agreement",
- "AWS::Chatbot::SlackChannelConfiguration",
- "AWS::CloudFront::Distribution",
+ "AWS::EMR::InstanceFleetConfig",
+ "AWS::EMR::InstanceGroupConfig",
+ "AWS::EMR::SecurityConfiguration",
+ "AWS::EMR::Step",
+ "AWS::EMR::Studio",
+ "AWS::EMR::StudioSessionMapping",
+ "AWS::EMRServerless::Application",
+ "AWS::ElastiCache::CacheCluster",
+ "AWS::ElastiCache::ParameterGroup",
+ "AWS::ElastiCache::ReplicationGroup",
+ "AWS::ElastiCache::SecurityGroup",
+ "AWS::ElastiCache::SecurityGroupIngress",
+ "AWS::ElastiCache::ServerlessCache",
"AWS::ElastiCache::SubnetGroup",
- "AWS::XRay::Group",
- "AWS::Oam::Link",
- "AWS::SageMaker::Endpoint",
+ "AWS::ElastiCache::User",
+ "AWS::ElastiCache::UserGroup",
+ "AWS::ElasticBeanstalk::Application",
+ "AWS::ElasticBeanstalk::ApplicationVersion",
+ "AWS::ElasticBeanstalk::ConfigurationTemplate",
+ "AWS::ElasticBeanstalk::Environment",
+ "AWS::ElasticLoadBalancing::LoadBalancer",
+ "AWS::ElasticLoadBalancingV2::Listener",
+ "AWS::ElasticLoadBalancingV2::ListenerCertificate",
+ "AWS::ElasticLoadBalancingV2::ListenerRule",
+ "AWS::ElasticLoadBalancingV2::LoadBalancer",
+ "AWS::ElasticLoadBalancingV2::TargetGroup",
+ "AWS::ElasticLoadBalancingV2::TrustStore",
"AWS::ElasticLoadBalancingV2::TrustStoreRevocation",
- "AWS::NetworkFirewall::Firewall",
+ "AWS::Elasticsearch::Domain",
+ "AWS::EventSchemas::Discoverer",
+ "AWS::EventSchemas::Registry",
+ "AWS::EventSchemas::RegistryPolicy",
"AWS::EventSchemas::Schema",
- "AWS::M2::Application",
- "AWS::SES::Template",
- "AWS::KMS::ReplicaKey",
- "AWS::Redshift::ClusterSecurityGroup",
- "AWS::Route53::CidrCollection",
- "AWS::ECR::PullThroughCacheRule",
+ "AWS::Events::ApiDestination",
+ "AWS::Events::Archive",
+ "AWS::Events::Connection",
+ "AWS::Events::EventBus",
+ "AWS::Events::EventBusPolicy",
+ "AWS::Events::Rule",
+ "AWS::FIS::ExperimentTemplate",
+ "AWS::FIS::TargetAccountConfiguration",
+ "AWS::FMS::NotificationChannel",
+ "AWS::FMS::Policy",
+ "AWS::FMS::ResourceSet",
+ "AWS::FSx::DataRepositoryAssociation",
+ "AWS::FSx::FileSystem",
+ "AWS::FSx::Snapshot",
+ "AWS::FSx::StorageVirtualMachine",
+ "AWS::FSx::Volume",
+ "AWS::GameLift::Alias",
+ "AWS::GameLift::Build",
+ "AWS::GameLift::Fleet",
+ "AWS::GlobalAccelerator::Accelerator",
+ "AWS::GlobalAccelerator::CrossAccountAttachment",
+ "AWS::GlobalAccelerator::EndpointGroup",
+ "AWS::GlobalAccelerator::Listener",
+ "AWS::Glue::Classifier",
+ "AWS::Glue::Connection",
+ "AWS::Glue::Crawler",
+ "AWS::Glue::CustomEntityType",
+ "AWS::Glue::DataCatalogEncryptionSettings",
+ "AWS::Glue::DataQualityRuleset",
+ "AWS::Glue::Database",
+ "AWS::Glue::DevEndpoint",
+ "AWS::Glue::Job",
"AWS::Glue::MLTransform",
- "AWS::AppConfig::HostedConfigurationVersion",
- "AWS::DataSync::LocationEFS",
- "AWS::EC2::LocalGatewayRouteTable",
- "AWS::ApiGateway::Resource",
- "AWS::SageMaker::AppImageConfig",
- "AWS::VerifiedPermissions::IdentitySource",
- "AWS::Macie::Session",
- "AWS::ElasticLoadBalancingV2::TargetGroup",
- "AWS::ApplicationAutoScaling::ScalingPolicy",
- "AWS::Pipes::Pipe",
- "AWS::EMR::StudioSessionMapping",
- "AWS::CloudFormation::Macro",
- "AWS::SageMaker::Workteam",
- "AWS::Lambda::LayerVersionPermission",
- "AWS::SecretsManager::Secret",
- "AWS::Route53Resolver::ResolverConfig",
- "AWS::ElastiCache::User",
- "AWS::Neptune::DBInstance",
- "AWS::SageMaker::Image",
- "AWS::Logs::SubscriptionFilter",
- "AWS::CodeDeploy::Application",
- "AWS::DMS::EventSubscription",
+ "AWS::Glue::Partition",
+ "AWS::Glue::Registry",
+ "AWS::Glue::Schema",
+ "AWS::Glue::SchemaVersion",
+ "AWS::Glue::SchemaVersionMetadata",
+ "AWS::Glue::SecurityConfiguration",
+ "AWS::Glue::Table",
+ "AWS::Glue::Trigger",
+ "AWS::Glue::Workflow",
+ "AWS::GroundStation::Config",
+ "AWS::GroundStation::DataflowEndpointGroup",
+ "AWS::GroundStation::MissionProfile",
+ "AWS::GuardDuty::Detector",
+ "AWS::GuardDuty::Filter",
+ "AWS::GuardDuty::IPSet",
+ "AWS::GuardDuty::MalwareProtectionPlan",
+ "AWS::GuardDuty::Master",
+ "AWS::GuardDuty::Member",
+ "AWS::GuardDuty::ThreatIntelSet",
+ "AWS::IAM::AccessKey",
+ "AWS::IAM::Group",
+ "AWS::IAM::GroupPolicy",
+ "AWS::IAM::InstanceProfile",
+ "AWS::IAM::ManagedPolicy",
+ "AWS::IAM::OIDCProvider",
+ "AWS::IAM::Policy",
+ "AWS::IAM::Role",
+ "AWS::IAM::RolePolicy",
+ "AWS::IAM::SAMLProvider",
+ "AWS::IAM::ServerCertificate",
+ "AWS::IAM::ServiceLinkedRole",
+ "AWS::IAM::User",
+ "AWS::IAM::UserPolicy",
+ "AWS::IAM::UserToGroupAddition",
+ "AWS::IAM::VirtualMFADevice",
+ "AWS::IdentityStore::Group",
+ "AWS::IdentityStore::GroupMembership",
+ "AWS::ImageBuilder::Component",
+ "AWS::ImageBuilder::ContainerRecipe",
+ "AWS::ImageBuilder::DistributionConfiguration",
+ "AWS::ImageBuilder::Image",
+ "AWS::ImageBuilder::ImagePipeline",
+ "AWS::ImageBuilder::ImageRecipe",
+ "AWS::ImageBuilder::InfrastructureConfiguration",
+ "AWS::ImageBuilder::LifecyclePolicy",
+ "AWS::ImageBuilder::Workflow",
+ "AWS::InspectorV2::CisScanConfiguration",
+ "AWS::InspectorV2::Filter",
+ "AWS::InternetMonitor::Monitor",
+ "AWS::IoT::Certificate",
+ "AWS::IoT::Policy",
+ "AWS::IoT::PolicyPrincipalAttachment",
+ "AWS::IoT::Thing",
+ "AWS::IoT::ThingPrincipalAttachment",
"AWS::IoT::TopicRule",
+ "AWS::KMS::Alias",
+ "AWS::KMS::Key",
+ "AWS::KMS::ReplicaKey",
+ "AWS::Kinesis::Stream",
+ "AWS::Kinesis::StreamConsumer",
+ "AWS::KinesisAnalyticsV2::Application",
+ "AWS::KinesisFirehose::DeliveryStream",
+ "AWS::LakeFormation::DataCellsFilter",
+ "AWS::LakeFormation::DataLakeSettings",
+ "AWS::LakeFormation::Permissions",
"AWS::LakeFormation::PrincipalPermissions",
- "AWS::DataSync::LocationS3",
- "AWS::AutoScaling::LifecycleHook",
- "AWS::FSx::DataRepositoryAssociation",
- "AWS::EC2::NetworkInterface",
- "AWS::SageMaker::FeatureGroup",
- "AWS::AppSync::Resolver",
- "AWS::ControlTower::LandingZone",
- "AWS::RolesAnywhere::TrustAnchor",
- "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation",
- "AWS::ImageBuilder::LifecyclePolicy",
+ "AWS::LakeFormation::Resource",
+ "AWS::LakeFormation::Tag",
+ "AWS::LakeFormation::TagAssociation",
+ "AWS::Lambda::Alias",
+ "AWS::Lambda::CodeSigningConfig",
"AWS::Lambda::EventInvokeConfig",
- "AWS::MediaConnect::FlowOutput",
+ "AWS::Lambda::EventSourceMapping",
+ "AWS::Lambda::Function",
"AWS::Lambda::LayerVersion",
- "AWS::RUM::AppMonitor",
- "AWS::RDS::OptionGroup",
- "AWS::OpsWorks::UserProfile",
- "AWS::Glue::Schema",
+ "AWS::Lambda::LayerVersionPermission",
+ "AWS::Lambda::Permission",
+ "AWS::Lambda::Url",
+ "AWS::Lambda::Version",
+ "AWS::LaunchWizard::Deployment",
+ "AWS::Lex::Bot",
+ "AWS::Lex::BotAlias",
+ "AWS::Lex::BotVersion",
+ "AWS::Lex::ResourcePolicy",
+ "AWS::Logs::AccountPolicy",
"AWS::Logs::Delivery",
- "AWS::ServiceCatalog::Portfolio",
- "AWS::CustomerProfiles::Domain",
- "AWS::IoT::Policy",
- "AWS::EC2::TransitGatewayRoute",
- "AWS::SSM::MaintenanceWindow",
- "AWS::LakeFormation::TagAssociation",
- "AWS::EC2::IPAMResourceDiscovery",
- "AWS::DataSync::StorageSystem",
+ "AWS::Logs::DeliveryDestination",
+ "AWS::Logs::DeliverySource",
+ "AWS::Logs::Destination",
+ "AWS::Logs::LogAnomalyDetector",
+ "AWS::Logs::LogGroup",
+ "AWS::Logs::LogStream",
+ "AWS::Logs::MetricFilter",
+ "AWS::Logs::QueryDefinition",
+ "AWS::Logs::ResourcePolicy",
+ "AWS::Logs::SubscriptionFilter",
+ "AWS::M2::Application",
"AWS::M2::Environment",
- "AWS::ImageBuilder::InfrastructureConfiguration",
- "AWS::CloudFormation::WaitCondition",
- "AWS::Route53Resolver::ResolverEndpoint",
- "AWS::Connect::ContactFlow",
- "AWS::NetworkManager::Link",
- "AWS::SageMaker::NotebookInstance",
- "AWS::SSO::InstanceAccessControlAttributeConfiguration",
- "AWS::WAFRegional::ByteMatchSet",
- "AWS::CloudWatch::AnomalyDetector",
- "AWS::EC2::SubnetNetworkAclAssociation",
- "AWS::ServiceCatalog::ServiceAction",
- "AWS::DMS::MigrationProject",
- "AWS::IAM::UserPolicy",
- "AWS::Connect::ViewVersion",
- "AWS::CloudFront::OriginAccessControl",
- "AWS::InspectorV2::CisScanConfiguration",
- "AWS::Cognito::UserPool",
- "AWS::SecretsManager::RotationSchedule",
- "AWS::SecurityHub::SecurityControl",
- "AWS::Lambda::Permission",
- "AWS::NetworkFirewall::FirewallPolicy",
- "AWS::EKS::IdentityProviderConfig",
- "AWS::EC2::IPAMResourceDiscoveryAssociation",
- "AWS::ServiceCatalogAppRegistry::AttributeGroup",
- "AWS::EC2::ClientVpnTargetNetworkAssociation",
- "AWS::AppSync::GraphQLApi",
- "AWS::EC2::EgressOnlyInternetGateway",
- "AWS::SecurityHub::Insight",
- "AWS::EC2::VPCCidrBlock",
- "AWS::IAM::VirtualMFADevice",
- "AWS::EC2::NetworkInsightsPath",
- "AWS::MediaTailor::VodSource",
- "AWS::Neptune::DBParameterGroup",
- "AWS::ACMPCA::CertificateAuthority",
- "AWS::Athena::PreparedStatement",
- "AWS::AutoScaling::ScheduledAction",
- "AWS::Cognito::IdentityPoolPrincipalTag",
- "AWS::ApiGatewayV2::Route",
- "AWS::LakeFormation::Resource",
- "AWS::Detective::MemberInvitation",
- "AWS::EC2::IPAMScope",
- "AWS::DirectoryService::SimpleAD",
- "AWS::CloudFront::StreamingDistribution",
- "AWS::EC2::VPCEndpoint",
- "AWS::RDS::EventSubscription",
- "AWS::CustomerProfiles::CalculatedAttributeDefinition",
- "AWS::Config::AggregationAuthorization",
- "AWS::DataSync::Agent",
- "AWS::Cognito::UserPoolIdentityProvider",
- "AWS::ResilienceHub::ResiliencyPolicy",
- "AWS::Logs::LogGroup",
- "AWS::ECS::Cluster",
- "AWS::EC2::TrafficMirrorFilterRule",
- "AWS::PCAConnectorAD::Template",
- "AWS::EC2::PlacementGroup",
- "AWS::Organizations::Account",
- "AWS::ECR::Repository",
- "AWS::SES::DedicatedIpPool",
+ "AWS::MSK::BatchScramSecret",
+ "AWS::MSK::Cluster",
+ "AWS::MSK::ClusterPolicy",
+ "AWS::MSK::Configuration",
+ "AWS::MSK::VpcConnection",
+ "AWS::MWAA::Environment",
+ "AWS::Macie::AllowList",
+ "AWS::Macie::Session",
+ "AWS::MediaConnect::Bridge",
+ "AWS::MediaConnect::BridgeOutput",
+ "AWS::MediaConnect::BridgeSource",
+ "AWS::MediaConnect::Flow",
+ "AWS::MediaConnect::FlowEntitlement",
+ "AWS::MediaConnect::FlowOutput",
"AWS::MediaConnect::FlowSource",
- "AWS::AppConfig::Extension",
- "AWS::Lex::ResourcePolicy",
- "AWS::ElasticLoadBalancingV2::ListenerRule",
- "AWS::ElasticLoadBalancingV2::TrustStore",
- "AWS::Glue::Registry",
- "AWS::EC2::KeyPair",
- "AWS::FSx::FileSystem",
- "AWS::MediaTailor::LiveSource",
- "AWS::EC2::EIPAssociation",
- "AWS::ElasticBeanstalk::Application",
- "AWS::IoT::ThingPrincipalAttachment",
- "AWS::DLM::LifecyclePolicy",
- "AWS::EC2::CapacityReservation",
- "AWS::ElasticLoadBalancing::LoadBalancer",
- "AWS::Transfer::User",
- "AWS::IAM::RolePolicy",
- "AWS::Cognito::IdentityPool",
- "AWS::EC2::TrafficMirrorTarget",
- "AWS::Connect::Prompt",
- "AWS::StepFunctions::StateMachine",
- "AWS::RDS::DBClusterParameterGroup",
- "AWS::WAF::XssMatchSet",
- "AWS::AppMesh::VirtualRouter",
- "AWS::Scheduler::ScheduleGroup",
- "AWS::FSx::Snapshot",
- "AWS::EventSchemas::RegistryPolicy",
- "AWS::Route53::KeySigningKey",
- "AWS::EventSchemas::Registry",
- "AWS::Config::RemediationConfiguration",
- "AWS::Detective::OrganizationAdmin",
- "AWS::Events::Connection",
- "AWS::Athena::DataCatalog",
"AWS::MediaConnect::FlowVpcInterface",
- "AWS::Glue::Workflow",
- "AWS::ApiGatewayV2::Authorizer",
- "AWS::SageMaker::UserProfile",
- "AWS::EC2::PrefixList",
- "AWS::EC2::Instance",
- "AWS::NetworkManager::Device",
- "AWS::EC2::SubnetCidrBlock",
- "AWS::ElasticBeanstalk::ApplicationVersion",
- "AWS::AppMesh::VirtualGateway",
- "AWS::WAF::SqlInjectionMatchSet",
- "AWS::EC2::TransitGatewayVpcAttachment",
- "AWS::Connect::RoutingProfile",
- "AWS::EC2::FlowLog",
- "AWS::AmazonMQ::Broker",
- "AWS::EMR::Step",
- "AWS::SSM::Association",
- "AWS::EC2::ClientVpnEndpoint",
- "AWS::CloudFront::ResponseHeadersPolicy",
- "AWS::SecurityHub::AutomationRule",
- "AWS::MSK::ClusterPolicy",
+ "AWS::MediaConnect::Gateway",
+ "AWS::MediaTailor::Channel",
+ "AWS::MediaTailor::ChannelPolicy",
+ "AWS::MediaTailor::LiveSource",
+ "AWS::MediaTailor::PlaybackConfiguration",
"AWS::MediaTailor::SourceLocation",
- "AWS::GuardDuty::Master",
- "AWS::KMS::Alias",
- "AWS::XRay::SamplingRule",
- "AWS::Route53Resolver::ResolverRule",
- "AWS::Transfer::Connector",
- "AWS::AppMesh::VirtualNode",
- "AWS::ApiGateway::DocumentationVersion",
- "AWS::WAFv2::WebACLAssociation",
+ "AWS::MediaTailor::VodSource",
+ "AWS::Neptune::DBCluster",
+ "AWS::Neptune::DBClusterParameterGroup",
+ "AWS::Neptune::DBInstance",
+ "AWS::Neptune::DBParameterGroup",
+ "AWS::Neptune::DBSubnetGroup",
+ "AWS::Neptune::EventSubscription",
+ "AWS::NetworkFirewall::Firewall",
+ "AWS::NetworkFirewall::FirewallPolicy",
+ "AWS::NetworkFirewall::LoggingConfiguration",
+ "AWS::NetworkFirewall::RuleGroup",
+ "AWS::NetworkFirewall::TLSInspectionConfiguration",
+ "AWS::NetworkManager::ConnectAttachment",
+ "AWS::NetworkManager::ConnectPeer",
+ "AWS::NetworkManager::CoreNetwork",
+ "AWS::NetworkManager::CustomerGatewayAssociation",
+ "AWS::NetworkManager::Device",
+ "AWS::NetworkManager::GlobalNetwork",
+ "AWS::NetworkManager::Link",
+ "AWS::NetworkManager::LinkAssociation",
+ "AWS::NetworkManager::Site",
+ "AWS::NetworkManager::SiteToSiteVpnAttachment",
+ "AWS::NetworkManager::TransitGatewayPeering",
+ "AWS::NetworkManager::TransitGatewayRegistration",
+ "AWS::NetworkManager::TransitGatewayRouteTableAttachment",
+ "AWS::NetworkManager::VpcAttachment",
+ "AWS::Oam::Link",
"AWS::Oam::Sink",
- "AWS::CodeBuild::ReportGroup",
- "AWS::ApiGateway::GatewayResponse",
- "AWS::EC2::ClientVpnAuthorizationRule",
- "AWS::EC2::EnclaveCertificateIamRoleAssociation",
- "AWS::Connect::PhoneNumber",
- "AWS::SSO::Application",
- "AWS::FSx::Volume",
- "AWS::Route53Resolver::OutpostResolver",
- "AWS::ACMPCA::Certificate",
- "AWS::EC2::IPAMAllocation",
- "AWS::WorkSpaces::Workspace",
- "AWS::EMR::Studio",
- "AWS::EC2::InstanceConnectEndpoint",
- "AWS::DirectoryService::MicrosoftAD",
- "AWS::AppSync::SourceApiAssociation",
- "AWS::DataSync::LocationObjectStorage",
- "AWS::ECS::CapacityProvider",
- "AWS::ElastiCache::CacheCluster",
- "AWS::SageMaker::ModelCard",
- "AWS::Logs::Destination",
- "AWS::EKS::Nodegroup",
+ "AWS::OpenSearchService::Domain",
+ "AWS::OpsWorks::App",
+ "AWS::OpsWorks::ElasticLoadBalancerAttachment",
+ "AWS::OpsWorks::Instance",
+ "AWS::OpsWorks::Layer",
+ "AWS::OpsWorks::Stack",
+ "AWS::OpsWorks::UserProfile",
+ "AWS::OpsWorks::Volume",
+ "AWS::Organizations::Account",
+ "AWS::Organizations::Organization",
"AWS::Organizations::OrganizationalUnit",
- "AWS::AppSync::DataSource",
- "AWS::SQS::Queue",
- "AWS::EC2::SecurityGroupIngress",
- "AWS::GuardDuty::Detector",
- "AWS::AppFlow::Flow",
- "AWS::ApiGateway::Stage",
- "AWS::NetworkManager::CoreNetwork",
- "AWS::Batch::ComputeEnvironment",
- "AWS::Connect::InstanceStorageConfig",
- "AWS::QuickSight::VPCConnection",
- "AWS::DataPipeline::Pipeline",
- "AWS::IoT::Thing",
- "AWS::Route53::HealthCheck",
- "AWS::Events::EventBusPolicy",
- "AWS::Athena::NamedQuery",
- "AWS::EC2::TrafficMirrorFilter",
- "AWS::ApiGateway::Deployment",
- "AWS::WAFRegional::Rule",
- "AWS::LakeFormation::DataLakeSettings",
- "AWS::AutoScaling::ScalingPolicy",
- "AWS::GroundStation::Config",
- "AWS::ResourceExplorer2::DefaultViewAssociation",
- "AWS::ECR::RegistryPolicy",
- "AWS::Redshift::ScheduledAction",
- "AWS::RDS::DBSecurityGroup",
- "AWS::ApiGatewayV2::RouteResponse",
- "AWS::CloudWatch::MetricStream",
- "AWS::SSO::ApplicationAssignment",
- "AWS::DMS::DataProvider",
- "AWS::SSM::Parameter",
- "AWS::ApiGatewayV2::ApiGatewayManagedOverrides",
- "AWS::Config::DeliveryChannel",
- "AWS::CertificateManager::Account",
- "AWS::IAM::OIDCProvider",
- "AWS::LakeFormation::Tag",
- "AWS::CE::AnomalyMonitor",
- "AWS::ServiceCatalogAppRegistry::ResourceAssociation",
- "AWS::EC2::VPNGateway",
- "AWS::CloudFormation::Stack",
- "AWS::ResourceGroups::Group",
- "AWS::CloudFormation::ResourceDefaultVersion",
- "AWS::Signer::ProfilePermission",
- "AWS::Backup::RestoreTestingPlan",
- "AWS::QuickSight::Dashboard",
- "AWS::ServiceCatalog::TagOptionAssociation",
- "AWS::EC2::IPAM",
+ "AWS::Organizations::Policy",
+ "AWS::Organizations::ResourcePolicy",
+ "AWS::PCAConnectorAD::Connector",
+ "AWS::PCAConnectorAD::DirectoryRegistration",
+ "AWS::PCAConnectorAD::ServicePrincipalName",
+ "AWS::PCAConnectorAD::Template",
"AWS::PCAConnectorAD::TemplateGroupAccessControlEntry",
- "AWS::DataBrew::Job",
- "AWS::EC2::TransitGatewayPeeringAttachment",
- "AWS::Connect::Queue",
- "AWS::ECR::RepositoryCreationTemplate",
+ "AWS::Pipes::Pipe",
+ "AWS::QuickSight::Analysis",
+ "AWS::QuickSight::Dashboard",
+ "AWS::QuickSight::DataSet",
+ "AWS::QuickSight::DataSource",
+ "AWS::QuickSight::RefreshSchedule",
"AWS::QuickSight::Template",
- "AWS::CloudFront::CachePolicy",
- "AWS::AppIntegrations::DataIntegration",
- "AWS::IAM::AccessKey",
+ "AWS::QuickSight::Theme",
+ "AWS::QuickSight::VPCConnection",
+ "AWS::RAM::Permission",
+ "AWS::RAM::ResourceShare",
+ "AWS::RDS::DBCluster",
+ "AWS::RDS::DBClusterParameterGroup",
+ "AWS::RDS::DBInstance",
+ "AWS::RDS::DBParameterGroup",
+ "AWS::RDS::DBProxy",
+ "AWS::RDS::DBProxyEndpoint",
+ "AWS::RDS::DBProxyTargetGroup",
+ "AWS::RDS::DBSecurityGroup",
+ "AWS::RDS::DBSecurityGroupIngress",
"AWS::RDS::DBSubnetGroup",
- "AWS::SecretsManager::SecretTargetAttachment",
- "AWS::AmazonMQ::Configuration",
- "AWS::AppConfig::Deployment",
- "AWS::CodePipeline::CustomActionType",
- "AWS::AccessAnalyzer::Analyzer",
- "AWS::EC2::EC2Fleet",
- "AWS::DMS::ReplicationInstance",
- "AWS::ServiceCatalog::CloudFormationProduct",
- "AWS::EC2::VPCEndpointService",
- "AWS::IAM::ManagedPolicy",
- "AWS::EC2::LaunchTemplate",
- "AWS::CloudFront::OriginRequestPolicy",
- "AWS::DataSync::LocationFSxONTAP",
- "AWS::NetworkManager::LinkAssociation",
- "AWS::Cognito::UserPoolRiskConfigurationAttachment",
- "AWS::MediaTailor::PlaybackConfiguration",
- "AWS::PCAConnectorAD::ServicePrincipalName",
- "AWS::ElasticBeanstalk::Environment",
- "AWS::Cognito::UserPoolClient",
- "AWS::WAFRegional::SqlInjectionMatchSet",
- "AWS::Lambda::Version",
- "AWS::EC2::DHCPOptions",
- "AWS::EC2::IPAMPool",
- "AWS::Kinesis::StreamConsumer",
- "AWS::IAM::ServiceLinkedRole",
- "AWS::CloudFormation::HookTypeConfig",
- "AWS::EC2::Volume",
- "AWS::IoT::Certificate",
- "AWS::EC2::EIP",
- "AWS::VerifiedPermissions::Policy",
- "AWS::CloudFormation::ResourceVersion",
- "AWS::ApiGatewayV2::Stage",
- "AWS::Cognito::LogDeliveryConfiguration",
- "AWS::Chatbot::MicrosoftTeamsChannelConfiguration",
- "AWS::RDS::DBProxy",
- "AWS::RDS::DBParameterGroup",
- "AWS::SecurityHub::Hub",
+ "AWS::RDS::EventSubscription",
+ "AWS::RDS::GlobalCluster",
+ "AWS::RDS::Integration",
+ "AWS::RDS::OptionGroup",
+ "AWS::RUM::AppMonitor",
+ "AWS::Redshift::Cluster",
+ "AWS::Redshift::ClusterParameterGroup",
+ "AWS::Redshift::ClusterSecurityGroup",
+ "AWS::Redshift::ClusterSecurityGroupIngress",
+ "AWS::Redshift::ClusterSubnetGroup",
+ "AWS::Redshift::EndpointAccess",
+ "AWS::Redshift::EndpointAuthorization",
+ "AWS::Redshift::EventSubscription",
+ "AWS::Redshift::ScheduledAction",
+ "AWS::ResilienceHub::App",
+ "AWS::ResilienceHub::ResiliencyPolicy",
+ "AWS::ResourceExplorer2::DefaultViewAssociation",
+ "AWS::ResourceExplorer2::Index",
+ "AWS::ResourceExplorer2::View",
+ "AWS::ResourceGroups::Group",
+ "AWS::RolesAnywhere::CRL",
+ "AWS::RolesAnywhere::Profile",
+ "AWS::RolesAnywhere::TrustAnchor",
+ "AWS::Route53::CidrCollection",
+ "AWS::Route53::DNSSEC",
+ "AWS::Route53::HealthCheck",
+ "AWS::Route53::HostedZone",
+ "AWS::Route53::KeySigningKey",
+ "AWS::Route53::RecordSet",
+ "AWS::Route53::RecordSetGroup",
+ "AWS::Route53Profiles::Profile",
+ "AWS::Route53Profiles::ProfileAssociation",
+ "AWS::Route53Profiles::ProfileResourceAssociation",
+ "AWS::Route53Resolver::FirewallDomainList",
+ "AWS::Route53Resolver::FirewallRuleGroup",
+ "AWS::Route53Resolver::FirewallRuleGroupAssociation",
+ "AWS::Route53Resolver::OutpostResolver",
+ "AWS::Route53Resolver::ResolverConfig",
+ "AWS::Route53Resolver::ResolverDNSSECConfig",
+ "AWS::Route53Resolver::ResolverEndpoint",
+ "AWS::Route53Resolver::ResolverQueryLoggingConfig",
+ "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation",
+ "AWS::Route53Resolver::ResolverRule",
+ "AWS::Route53Resolver::ResolverRuleAssociation",
+ "AWS::S3::AccessGrant",
+ "AWS::S3::AccessGrantsInstance",
+ "AWS::S3::AccessGrantsLocation",
"AWS::S3::AccessPoint",
- "AWS::EC2::TrafficMirrorSession",
+ "AWS::S3::Bucket",
+ "AWS::S3::BucketPolicy",
+ "AWS::S3ObjectLambda::AccessPoint",
+ "AWS::S3ObjectLambda::AccessPointPolicy",
+ "AWS::S3Outposts::AccessPoint",
+ "AWS::S3Outposts::Bucket",
"AWS::S3Outposts::BucketPolicy",
- "AWS::Batch::JobQueue",
- "AWS::ElasticLoadBalancingV2::Listener",
- "AWS::Redshift::EventSubscription",
- "AWS::Connect::User",
- "AWS::CloudFormation::WaitConditionHandle",
- "AWS::GlobalAccelerator::Accelerator",
- "AWS::EKS::Addon",
+ "AWS::S3Outposts::Endpoint",
+ "AWS::SDB::Domain",
+ "AWS::SES::ConfigurationSet",
+ "AWS::SES::ConfigurationSetEventDestination",
+ "AWS::SES::ContactList",
+ "AWS::SES::DedicatedIpPool",
+ "AWS::SES::EmailIdentity",
+ "AWS::SES::Template",
+ "AWS::SES::VdmAttributes",
+ "AWS::SNS::Subscription",
+ "AWS::SNS::Topic",
+ "AWS::SNS::TopicInlinePolicy",
+ "AWS::SNS::TopicPolicy",
+ "AWS::SQS::Queue",
+ "AWS::SQS::QueueInlinePolicy",
+ "AWS::SQS::QueuePolicy",
+ "AWS::SSM::Association",
+ "AWS::SSM::Document",
+ "AWS::SSM::MaintenanceWindow",
+ "AWS::SSM::MaintenanceWindowTarget",
+ "AWS::SSM::MaintenanceWindowTask",
+ "AWS::SSM::Parameter",
+ "AWS::SSM::PatchBaseline",
+ "AWS::SSO::Application",
+ "AWS::SSO::ApplicationAssignment",
+ "AWS::SSO::Assignment",
+ "AWS::SSO::Instance",
+ "AWS::SSO::InstanceAccessControlAttributeConfiguration",
+ "AWS::SSO::PermissionSet",
+ "AWS::SageMaker::App",
+ "AWS::SageMaker::AppImageConfig",
+ "AWS::SageMaker::CodeRepository",
+ "AWS::SageMaker::Domain",
+ "AWS::SageMaker::Endpoint",
+ "AWS::SageMaker::EndpointConfig",
+ "AWS::SageMaker::FeatureGroup",
+ "AWS::SageMaker::Image",
+ "AWS::SageMaker::ImageVersion",
+ "AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::Model",
+ "AWS::SageMaker::ModelCard",
+ "AWS::SageMaker::ModelPackage",
+ "AWS::SageMaker::ModelPackageGroup",
+ "AWS::SageMaker::NotebookInstance",
+ "AWS::SageMaker::NotebookInstanceLifecycleConfig",
+ "AWS::SageMaker::Pipeline",
+ "AWS::SageMaker::Project",
+ "AWS::SageMaker::Space",
+ "AWS::SageMaker::UserProfile",
+ "AWS::SageMaker::Workteam",
+ "AWS::Scheduler::Schedule",
+ "AWS::Scheduler::ScheduleGroup",
+ "AWS::SecretsManager::ResourcePolicy",
+ "AWS::SecretsManager::RotationSchedule",
+ "AWS::SecretsManager::Secret",
+ "AWS::SecretsManager::SecretTargetAttachment",
+ "AWS::SecurityHub::AutomationRule",
+ "AWS::SecurityHub::DelegatedAdmin",
+ "AWS::SecurityHub::Hub",
+ "AWS::SecurityHub::Insight",
+ "AWS::SecurityHub::OrganizationConfiguration",
+ "AWS::SecurityHub::ProductSubscription",
+ "AWS::SecurityHub::SecurityControl",
+ "AWS::SecurityHub::Standard",
+ "AWS::ServiceCatalog::AcceptedPortfolioShare",
+ "AWS::ServiceCatalog::CloudFormationProduct",
+ "AWS::ServiceCatalog::CloudFormationProvisionedProduct",
+ "AWS::ServiceCatalog::LaunchNotificationConstraint",
+ "AWS::ServiceCatalog::LaunchRoleConstraint",
+ "AWS::ServiceCatalog::LaunchTemplateConstraint",
+ "AWS::ServiceCatalog::Portfolio",
+ "AWS::ServiceCatalog::PortfolioPrincipalAssociation",
+ "AWS::ServiceCatalog::PortfolioProductAssociation",
+ "AWS::ServiceCatalog::PortfolioShare",
+ "AWS::ServiceCatalog::ResourceUpdateConstraint",
+ "AWS::ServiceCatalog::ServiceAction",
+ "AWS::ServiceCatalog::ServiceActionAssociation",
+ "AWS::ServiceCatalog::StackSetConstraint",
+ "AWS::ServiceCatalog::TagOption",
+ "AWS::ServiceCatalog::TagOptionAssociation",
+ "AWS::ServiceCatalogAppRegistry::Application",
+ "AWS::ServiceCatalogAppRegistry::AttributeGroup",
+ "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation",
+ "AWS::ServiceCatalogAppRegistry::ResourceAssociation",
+ "AWS::ServiceDiscovery::HttpNamespace",
+ "AWS::ServiceDiscovery::Instance",
+ "AWS::ServiceDiscovery::PrivateDnsNamespace",
+ "AWS::ServiceDiscovery::PublicDnsNamespace",
+ "AWS::ServiceDiscovery::Service",
+ "AWS::Shield::DRTAccess",
+ "AWS::Shield::ProactiveEngagement",
+ "AWS::Shield::Protection",
+ "AWS::Shield::ProtectionGroup",
+ "AWS::Signer::ProfilePermission",
+ "AWS::Signer::SigningProfile",
+ "AWS::StepFunctions::Activity",
+ "AWS::StepFunctions::StateMachine",
+ "AWS::StepFunctions::StateMachineAlias",
+ "AWS::StepFunctions::StateMachineVersion",
+ "AWS::Synthetics::Canary",
+ "AWS::SystemsManagerSAP::Application",
+ "AWS::Transfer::Agreement",
+ "AWS::Transfer::Certificate",
+ "AWS::Transfer::Connector",
+ "AWS::Transfer::Profile",
+ "AWS::Transfer::Server",
+ "AWS::Transfer::User",
+ "AWS::Transfer::Workflow",
+ "AWS::VerifiedPermissions::IdentitySource",
+ "AWS::VerifiedPermissions::Policy",
+ "AWS::VerifiedPermissions::PolicyStore",
+ "AWS::VerifiedPermissions::PolicyTemplate",
+ "AWS::VoiceID::Domain",
+ "AWS::WAF::ByteMatchSet",
+ "AWS::WAF::IPSet",
+ "AWS::WAF::Rule",
+ "AWS::WAF::SizeConstraintSet",
+ "AWS::WAF::SqlInjectionMatchSet",
+ "AWS::WAF::WebACL",
+ "AWS::WAF::XssMatchSet",
+ "AWS::WAFRegional::ByteMatchSet",
+ "AWS::WAFRegional::GeoMatchSet",
+ "AWS::WAFRegional::IPSet",
+ "AWS::WAFRegional::RateBasedRule",
+ "AWS::WAFRegional::RegexPatternSet",
+ "AWS::WAFRegional::Rule",
+ "AWS::WAFRegional::SizeConstraintSet",
+ "AWS::WAFRegional::SqlInjectionMatchSet",
+ "AWS::WAFRegional::WebACL",
+ "AWS::WAFRegional::WebACLAssociation",
+ "AWS::WAFRegional::XssMatchSet",
+ "AWS::WAFv2::IPSet",
+ "AWS::WAFv2::LoggingConfiguration",
+ "AWS::WAFv2::RegexPatternSet",
+ "AWS::WAFv2::RuleGroup",
+ "AWS::WAFv2::WebACL",
+ "AWS::WAFv2::WebACLAssociation",
+ "AWS::WorkSpaces::Workspace",
+ "AWS::XRay::Group",
+ "AWS::XRay::ResourcePolicy",
+ "AWS::XRay::SamplingRule",
+ "Module",
]
# pylint: disable=too-many-lines
-cached: List[str] = [
+cached: list[str] = [
"Module",
- "aws-apigatewayv2-integration.json",
- "aws-connect-userhierarchygroup.json",
- "aws-apigatewayv2-apimapping.json",
- "aws-ce-anomalysubscription.json",
- "aws-shield-drtaccess.json",
- "aws-sso-assignment.json",
- "aws-glue-partition.json",
- "aws-rds-integration.json",
- "aws-ec2-transitgatewayroutetablepropagation.json",
- "aws-shield-proactiveengagement.json",
+ "aws-accessanalyzer-analyzer.json",
+ "aws-acmpca-certificate.json",
+ "aws-acmpca-certificateauthority.json",
+ "aws-acmpca-certificateauthorityactivation.json",
+ "aws-acmpca-permission.json",
+ "aws-amazonmq-broker.json",
+ "aws-amazonmq-configuration.json",
+ "aws-apigateway-account.json",
+ "aws-apigateway-apikey.json",
+ "aws-apigateway-authorizer.json",
"aws-apigateway-basepathmapping.json",
- "aws-s3-accessgrantslocation.json",
- "aws-guardduty-filter.json",
- "aws-ecs-service.json",
- "aws-ram-resourceshare.json",
- "aws-dms-replicationconfig.json",
- "aws-dynamodb-table.json",
- "aws-ec2-securitygroupegress.json",
- "aws-ec2-localgatewayroutetablevpcassociation.json",
- "aws-config-organizationconfigrule.json",
- "aws-glue-dataqualityruleset.json",
- "aws-networkmanager-transitgatewaypeering.json",
- "aws-mediaconnect-bridge.json",
- "aws-route53profiles-profileassociation.json",
- "aws-config-configurationrecorder.json",
- "aws-ec2-networkperformancemetricsubscription.json",
- "aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-quicksight-analysis.json",
- "aws-ecr-replicationconfiguration.json",
- "aws-appconfig-extensionassociation.json",
- "aws-s3outposts-accesspoint.json",
- "aws-ec2-ipampoolcidr.json",
- "aws-redshift-clustersubnetgroup.json",
- "aws-rds-dbinstance.json",
- "aws-ec2-vpcdhcpoptionsassociation.json",
- "aws-apigateway-model.json",
- "aws-apigatewayv2-integrationresponse.json",
- "aws-ec2-networkacl.json",
- "aws-lambda-eventsourcemapping.json",
- "aws-logs-resourcepolicy.json",
- "aws-lex-botversion.json",
- "aws-servicecatalog-launchnotificationconstraint.json",
- "aws-dms-instanceprofile.json",
- "aws-quicksight-datasource.json",
- "aws-ec2-networkinsightsaccessscopeanalysis.json",
- "aws-transfer-certificate.json",
- "aws-connect-instance.json",
+ "aws-apigateway-clientcertificate.json",
+ "aws-apigateway-deployment.json",
"aws-apigateway-documentationpart.json",
- "aws-route53profiles-profile.json",
- "aws-cloudwatch-compositealarm.json",
- "aws-route53resolver-firewalldomainlist.json",
- "aws-redshift-endpointaccess.json",
- "aws-appconfig-application.json",
- "aws-mediatailor-channel.json",
- "aws-lambda-url.json",
- "aws-mediatailor-channelpolicy.json",
- "aws-datasync-locationfsxwindows.json",
+ "aws-apigateway-documentationversion.json",
+ "aws-apigateway-domainname.json",
+ "aws-apigateway-gatewayresponse.json",
+ "aws-apigateway-method.json",
+ "aws-apigateway-model.json",
"aws-apigateway-requestvalidator.json",
- "aws-autoscaling-warmpool.json",
- "aws-applicationautoscaling-scalabletarget.json",
+ "aws-apigateway-resource.json",
+ "aws-apigateway-restapi.json",
+ "aws-apigateway-stage.json",
+ "aws-apigateway-usageplan.json",
+ "aws-apigateway-usageplankey.json",
+ "aws-apigateway-vpclink.json",
+ "aws-apigatewayv2-api.json",
+ "aws-apigatewayv2-apigatewaymanagedoverrides.json",
+ "aws-apigatewayv2-apimapping.json",
+ "aws-apigatewayv2-authorizer.json",
+ "aws-apigatewayv2-deployment.json",
+ "aws-apigatewayv2-domainname.json",
+ "aws-apigatewayv2-integration.json",
+ "aws-apigatewayv2-integrationresponse.json",
"aws-apigatewayv2-model.json",
- "aws-config-storedquery.json",
- "aws-acmpca-permission.json",
- "aws-neptune-dbsubnetgroup.json",
- "aws-transfer-server.json",
- "aws-apigateway-domainname.json",
- "aws-ecs-primarytaskset.json",
- "aws-fms-resourceset.json",
- "aws-cognito-userpooldomain.json",
- "aws-autoscaling-autoscalinggroup.json",
- "aws-wafv2-regexpatternset.json",
- "aws-eks-fargateprofile.json",
- "aws-route53-dnssec.json",
- "aws-redshift-endpointauthorization.json",
- "aws-ec2-transitgatewayroutetable.json",
- "aws-controltower-enabledcontrol.json",
- "aws-networkmanager-connectattachment.json",
- "aws-s3-accessgrantsinstance.json",
- "aws-cognito-identitypoolroleattachment.json",
- "aws-route53-recordset.json",
- "aws-eks-accessentry.json",
- "aws-elasticache-securitygroup.json",
- "aws-backup-framework.json",
+ "aws-apigatewayv2-route.json",
+ "aws-apigatewayv2-routeresponse.json",
+ "aws-apigatewayv2-stage.json",
+ "aws-appconfig-application.json",
+ "aws-appconfig-configurationprofile.json",
+ "aws-appconfig-deployment.json",
+ "aws-appconfig-deploymentstrategy.json",
+ "aws-appconfig-environment.json",
+ "aws-appconfig-extension.json",
+ "aws-appconfig-extensionassociation.json",
+ "aws-appconfig-hostedconfigurationversion.json",
+ "aws-appflow-connector.json",
"aws-appflow-connectorprofile.json",
+ "aws-appflow-flow.json",
"aws-appintegrations-application.json",
- "aws-kinesisfirehose-deliverystream.json",
- "aws-ec2-networkinsightsaccessscope.json",
- "aws-cognito-userpoolusertogroupattachment.json",
- "aws-pcaconnectorad-directoryregistration.json",
- "aws-sagemaker-coderepository.json",
- "aws-imagebuilder-component.json",
- "aws-ses-configurationseteventdestination.json",
- "aws-mediaconnect-flowentitlement.json",
- "aws-glue-connection.json",
+ "aws-appintegrations-dataintegration.json",
+ "aws-appintegrations-eventintegration.json",
+ "aws-applicationautoscaling-scalabletarget.json",
+ "aws-applicationautoscaling-scalingpolicy.json",
+ "aws-applicationinsights-application.json",
+ "aws-applicationsignals-servicelevelobjective.json",
+ "aws-appmesh-gatewayroute.json",
+ "aws-appmesh-mesh.json",
"aws-appmesh-route.json",
- "aws-iam-group.json",
- "aws-organizations-resourcepolicy.json",
- "aws-wafregional-webaclassociation.json",
- "aws-ec2-transitgatewaymulticastgroupsource.json",
- "aws-lex-bot.json",
- "aws-transfer-profile.json",
- "aws-databrew-recipe.json",
- "aws-sso-instance.json",
+ "aws-appmesh-virtualgateway.json",
+ "aws-appmesh-virtualnode.json",
+ "aws-appmesh-virtualrouter.json",
+ "aws-appmesh-virtualservice.json",
+ "aws-appsync-apicache.json",
+ "aws-appsync-apikey.json",
+ "aws-appsync-datasource.json",
"aws-appsync-domainname.json",
- "aws-apigateway-usageplankey.json",
- "aws-fms-policy.json",
- "aws-cloudfront-realtimelogconfig.json",
- "aws-sagemaker-pipeline.json",
- "aws-cloudtrail-channel.json",
- "aws-lakeformation-datacellsfilter.json",
- "aws-datasync-locationhdfs.json",
- "aws-events-archive.json",
- "aws-msk-cluster.json",
- "aws-securityhub-delegatedadmin.json",
- "aws-controltower-enabledbaseline.json",
- "aws-ec2-vpcendpointconnectionnotification.json",
- "aws-config-configurationaggregator.json",
- "aws-imagebuilder-imagepipeline.json",
- "aws-elasticloadbalancingv2-listenercertificate.json",
- "aws-cloudformation-moduleversion.json",
- "aws-cloud9-environmentec2.json",
- "aws-route53resolver-resolverruleassociation.json",
- "aws-fsx-storagevirtualmachine.json",
- "aws-synthetics-canary.json",
+ "aws-appsync-domainnameapiassociation.json",
+ "aws-appsync-functionconfiguration.json",
+ "aws-appsync-graphqlapi.json",
+ "aws-appsync-graphqlschema.json",
+ "aws-appsync-resolver.json",
+ "aws-appsync-sourceapiassociation.json",
+ "aws-arczonalshift-zonalautoshiftconfiguration.json",
+ "aws-athena-datacatalog.json",
+ "aws-athena-namedquery.json",
+ "aws-athena-preparedstatement.json",
+ "aws-athena-workgroup.json",
+ "aws-autoscaling-autoscalinggroup.json",
+ "aws-autoscaling-launchconfiguration.json",
+ "aws-autoscaling-lifecyclehook.json",
+ "aws-autoscaling-scalingpolicy.json",
+ "aws-autoscaling-scheduledaction.json",
+ "aws-autoscaling-warmpool.json",
+ "aws-backup-backupplan.json",
+ "aws-backup-backupselection.json",
+ "aws-backup-backupvault.json",
+ "aws-backup-framework.json",
+ "aws-backup-reportplan.json",
+ "aws-backup-restoretestingplan.json",
"aws-backup-restoretestingselection.json",
- "aws-sns-subscription.json",
- "aws-appmesh-mesh.json",
- "aws-ec2-natgateway.json",
- "aws-internetmonitor-monitor.json",
- "aws-transfer-workflow.json",
- "aws-s3-accessgrant.json",
- "aws-appconfig-deploymentstrategy.json",
- "aws-glue-devendpoint.json",
- "aws-sagemaker-modelpackage.json",
- "aws-customerprofiles-integration.json",
- "aws-eventschemas-discoverer.json",
- "aws-networkmanager-connectpeer.json",
- "aws-elasticache-usergroup.json",
- "aws-imagebuilder-imagerecipe.json",
- "aws-apigateway-restapi.json",
- "aws-opsworks-elasticloadbalancerattachment.json",
- "aws-appmesh-virtualservice.json",
- "aws-s3objectlambda-accesspointpolicy.json",
- "aws-networkmanager-transitgatewayregistration.json",
- "aws-inspectorv2-filter.json",
- "aws-elasticache-replicationgroup.json",
- "aws-stepfunctions-statemachinealias.json",
- "aws-cognito-userpoolresourceserver.json",
- "aws-rds-globalcluster.json",
+ "aws-backupgateway-hypervisor.json",
+ "aws-batch-computeenvironment.json",
+ "aws-batch-jobdefinition.json",
+ "aws-batch-jobqueue.json",
+ "aws-batch-schedulingpolicy.json",
+ "aws-ce-anomalymonitor.json",
+ "aws-ce-anomalysubscription.json",
+ "aws-certificatemanager-account.json",
+ "aws-certificatemanager-certificate.json",
+ "aws-chatbot-microsoftteamschannelconfiguration.json",
+ "aws-chatbot-slackchannelconfiguration.json",
+ "aws-cloud9-environmentec2.json",
+ "aws-cloudformation-customresource.json",
+ "aws-cloudformation-hookdefaultversion.json",
+ "aws-cloudformation-hooktypeconfig.json",
+ "aws-cloudformation-hookversion.json",
+ "aws-cloudformation-macro.json",
"aws-cloudformation-moduledefaultversion.json",
- "aws-applicationsignals-servicelevelobjective.json",
- "aws-route53profiles-profileresourceassociation.json",
- "aws-sso-permissionset.json",
- "aws-glue-job.json",
- "aws-servicecatalog-cloudformationprovisionedproduct.json",
- "aws-connect-view.json",
- "aws-eks-podidentityassociation.json",
- "aws-resourceexplorer2-index.json",
- "aws-glue-table.json",
- "aws-logs-metricfilter.json",
- "aws-sns-topic.json",
- "aws-backup-backupselection.json",
- "aws-datasync-locationfsxlustre.json",
- "aws-sagemaker-app.json",
- "aws-ec2-vpcgatewayattachment.json",
- "aws-cloudtrail-trail.json",
- "aws-ec2-vpnconnectionroute.json",
- "aws-ec2-internetgateway.json",
- "aws-ec2-gatewayroutetableassociation.json",
- "aws-wafv2-ipset.json",
- "aws-mediaconnect-bridgeoutput.json",
- "aws-ssm-document.json",
- "aws-iam-role.json",
- "aws-dms-endpoint.json",
- "aws-elasticache-serverlesscache.json",
+ "aws-cloudformation-moduleversion.json",
+ "aws-cloudformation-publictypeversion.json",
+ "aws-cloudformation-publisher.json",
+ "aws-cloudformation-resourcedefaultversion.json",
+ "aws-cloudformation-resourceversion.json",
+ "aws-cloudformation-stack.json",
+ "aws-cloudformation-stackset.json",
+ "aws-cloudformation-typeactivation.json",
+ "aws-cloudformation-waitconditionhandle.json",
+ "aws-cloudfront-cachepolicy.json",
"aws-cloudfront-cloudfrontoriginaccessidentity.json",
- "aws-sagemaker-endpointconfig.json",
- "aws-appmesh-gatewayroute.json",
- "aws-apigateway-apikey.json",
- "aws-networkmanager-transitgatewayroutetableattachment.json",
- "aws-autoscaling-launchconfiguration.json",
- "aws-apigateway-clientcertificate.json",
- "aws-kinesisanalyticsv2-application.json",
- "aws-lambda-alias.json",
- "aws-logs-loganomalydetector.json",
- "aws-ec2-transitgatewaymulticastdomainassociation.json",
- "aws-s3outposts-endpoint.json",
- "aws-ec2-transitgatewayroutetableassociation.json",
- "aws-appconfig-environment.json",
- "aws-neptune-eventsubscription.json",
- "aws-imagebuilder-image.json",
- "aws-elasticache-securitygroupingress.json",
- "aws-wafregional-xssmatchset.json",
- "aws-rds-dbproxytargetgroup.json",
+ "aws-cloudfront-continuousdeploymentpolicy.json",
+ "aws-cloudfront-distribution.json",
+ "aws-cloudfront-function.json",
+ "aws-cloudfront-keygroup.json",
+ "aws-cloudfront-keyvaluestore.json",
+ "aws-cloudfront-monitoringsubscription.json",
+ "aws-cloudfront-originaccesscontrol.json",
+ "aws-cloudfront-originrequestpolicy.json",
+ "aws-cloudfront-publickey.json",
+ "aws-cloudfront-realtimelogconfig.json",
+ "aws-cloudfront-responseheaderspolicy.json",
+ "aws-cloudtrail-channel.json",
+ "aws-cloudtrail-resourcepolicy.json",
+ "aws-cloudtrail-trail.json",
"aws-cloudwatch-alarm.json",
- "aws-guardduty-member.json",
- "aws-groundstation-missionprofile.json",
- "aws-cloudformation-customresource.json",
- "aws-fis-targetaccountconfiguration.json",
- "aws-wafv2-rulegroup.json",
- "aws-sagemaker-modelpackagegroup.json",
- "aws-ses-configurationset.json",
- "aws-networkfirewall-loggingconfiguration.json",
- "aws-glue-classifier.json",
- "aws-connect-securityprofile.json",
+ "aws-cloudwatch-anomalydetector.json",
+ "aws-cloudwatch-compositealarm.json",
+ "aws-cloudwatch-insightrule.json",
+ "aws-cloudwatch-metricstream.json",
+ "aws-codebuild-project.json",
+ "aws-codebuild-reportgroup.json",
+ "aws-codebuild-sourcecredential.json",
+ "aws-codedeploy-application.json",
+ "aws-codedeploy-deploymentconfig.json",
"aws-codedeploy-deploymentgroup.json",
- "aws-sagemaker-inferenceexperiment.json",
- "aws-cloudformation-stackset.json",
- "aws-ec2-route.json",
- "aws-fis-experimenttemplate.json",
- "aws-cloudformation-hookversion.json",
- "aws-rolesanywhere-profile.json",
- "aws-xray-resourcepolicy.json",
- "aws-servicecatalog-launchtemplateconstraint.json",
- "aws-wafv2-loggingconfiguration.json",
- "aws-dynamodb-globaltable.json",
- "aws-backup-backupplan.json",
- "aws-imagebuilder-distributionconfiguration.json",
- "aws-lakeformation-permissions.json",
- "aws-resourceexplorer2-view.json",
- "aws-glue-datacatalogencryptionsettings.json",
- "aws-cloudfront-publickey.json",
- "aws-pcaconnectorad-connector.json",
- "aws-lex-botalias.json",
- "aws-identitystore-group.json",
- "aws-ram-permission.json",
- "aws-datasync-task.json",
- "aws-ecs-taskdefinition.json",
- "aws-sagemaker-model.json",
- "aws-quicksight-refreshschedule.json",
- "aws-shield-protection.json",
- "aws-ses-vdmattributes.json",
- "aws-identitystore-groupmembership.json",
- "aws-appsync-functionconfiguration.json",
- "aws-ec2-spotfleet.json",
- "aws-glue-schemaversion.json",
- "aws-sagemaker-space.json",
- "aws-fms-notificationchannel.json",
- "aws-msk-batchscramsecret.json",
+ "aws-codepipeline-pipeline.json",
+ "aws-cognito-identitypool.json",
+ "aws-cognito-identitypoolprincipaltag.json",
+ "aws-cognito-identitypoolroleattachment.json",
+ "aws-cognito-logdeliveryconfiguration.json",
+ "aws-cognito-userpool.json",
+ "aws-cognito-userpoolclient.json",
+ "aws-cognito-userpooldomain.json",
+ "aws-cognito-userpoolgroup.json",
+ "aws-cognito-userpoolidentityprovider.json",
+ "aws-cognito-userpoolresourceserver.json",
+ "aws-cognito-userpoolriskconfigurationattachment.json",
+ "aws-cognito-userpooluser.json",
+ "aws-cognito-userpoolusertogroupattachment.json",
+ "aws-config-aggregationauthorization.json",
+ "aws-config-configrule.json",
+ "aws-config-configurationaggregator.json",
+ "aws-config-configurationrecorder.json",
+ "aws-config-deliverychannel.json",
+ "aws-config-organizationconfigrule.json",
+ "aws-config-remediationconfiguration.json",
+ "aws-config-storedquery.json",
+ "aws-connect-approvedorigin.json",
+ "aws-connect-contactflow.json",
+ "aws-connect-contactflowmodule.json",
+ "aws-connect-evaluationform.json",
"aws-connect-hoursofoperation.json",
- "aws-dms-certificate.json",
- "aws-s3-bucket.json",
- "aws-guardduty-ipset.json",
- "aws-servicediscovery-httpnamespace.json",
- "aws-emr-securityconfiguration.json",
- "aws-cloudwatch-insightrule.json",
- "aws-apigateway-usageplan.json",
- "aws-appintegrations-eventintegration.json",
- "aws-batch-schedulingpolicy.json",
- "aws-mediaconnect-bridgesource.json",
- "aws-databrew-project.json",
- "aws-athena-workgroup.json",
- "aws-sagemaker-imageversion.json",
- "aws-apigatewayv2-api.json",
- "aws-detective-graph.json",
- "aws-servicecatalog-portfolioshare.json",
- "aws-apigateway-vpclink.json",
+ "aws-connect-instance.json",
+ "aws-connect-instancestorageconfig.json",
"aws-connect-integrationassociation.json",
- "aws-networkmanager-customergatewayassociation.json",
- "aws-iam-servercertificate.json",
- "aws-globalaccelerator-crossaccountattachment.json",
- "aws-events-eventbus.json",
- "aws-sqs-queueinlinepolicy.json",
- "aws-organizations-organization.json",
- "aws-ssm-maintenancewindowtarget.json",
- "aws-voiceid-domain.json",
- "aws-apigateway-authorizer.json",
- "aws-backupgateway-hypervisor.json",
+ "aws-connect-phonenumber.json",
"aws-connect-predefinedattribute.json",
- "aws-iam-policy.json",
- "aws-databrew-schedule.json",
- "aws-connect-approvedorigin.json",
- "aws-ses-contactlist.json",
- "aws-connect-securitykey.json",
- "aws-cloudformation-publisher.json",
- "aws-rds-dbsecuritygroupingress.json",
- "aws-securityhub-organizationconfiguration.json",
- "aws-ec2-transitgatewaymulticastgroupmember.json",
- "aws-ec2-volumeattachment.json",
- "aws-glue-securityconfiguration.json",
- "aws-networkfirewall-tlsinspectionconfiguration.json",
- "aws-databrew-ruleset.json",
- "aws-applicationinsights-application.json",
- "aws-ecs-clustercapacityproviderassociations.json",
- "aws-appconfig-configurationprofile.json",
- "aws-msk-configuration.json",
- "aws-ec2-transitgateway.json",
- "aws-cognito-userpoolgroup.json",
- "aws-ec2-vpcendpointservicepermissions.json",
- "aws-ssm-maintenancewindowtask.json",
- "aws-ec2-transitgatewaymulticastdomain.json",
- "aws-verifiedpermissions-policytemplate.json",
- "aws-eks-cluster.json",
- "aws-codebuild-project.json",
- "aws-efs-filesystem.json",
+ "aws-connect-prompt.json",
+ "aws-connect-queue.json",
"aws-connect-quickconnect.json",
- "aws-logs-querydefinition.json",
- "aws-securityhub-productsubscription.json",
- "aws-iam-instanceprofile.json",
- "aws-datasync-locationnfs.json",
- "aws-sagemaker-domain.json",
- "aws-certificatemanager-certificate.json",
- "aws-glue-schemaversionmetadata.json",
- "aws-sdb-domain.json",
- "aws-ec2-subnetroutetableassociation.json",
- "aws-servicecatalog-serviceactionassociation.json",
- "aws-sagemaker-notebookinstancelifecycleconfig.json",
- "aws-imagebuilder-containerrecipe.json",
+ "aws-connect-routingprofile.json",
"aws-connect-rule.json",
- "aws-efs-accesspoint.json",
- "aws-redshift-clustersecuritygroupingress.json",
- "aws-servicecatalogappregistry-attributegroupassociation.json",
- "aws-elasticloadbalancingv2-loadbalancer.json",
- "aws-opensearchservice-domain.json",
- "aws-servicediscovery-instance.json",
- "aws-elasticsearch-domain.json",
- "aws-apigatewayv2-deployment.json",
- "aws-servicecatalog-stacksetconstraint.json",
- "aws-servicecatalog-tagoption.json",
- "aws-servicediscovery-privatednsnamespace.json",
- "aws-servicecatalog-launchroleconstraint.json",
- "aws-secretsmanager-resourcepolicy.json",
- "aws-cloudformation-hookdefaultversion.json",
- "aws-config-configrule.json",
- "aws-ec2-networkinsightsanalysis.json",
- "aws-ec2-clientvpnroute.json",
- "aws-imagebuilder-workflow.json",
- "aws-ecs-taskset.json",
- "aws-appsync-apikey.json",
- "aws-cloudformation-typeactivation.json",
- "aws-groundstation-dataflowendpointgroup.json",
- "aws-acmpca-certificateauthorityactivation.json",
- "aws-guardduty-threatintelset.json",
- "aws-macie-allowlist.json",
- "aws-ec2-vpc.json",
- "aws-arczonalshift-zonalautoshiftconfiguration.json",
- "aws-msk-vpcconnection.json",
+ "aws-connect-securitykey.json",
+ "aws-connect-securityprofile.json",
+ "aws-connect-tasktemplate.json",
+ "aws-connect-user.json",
+ "aws-connect-userhierarchygroup.json",
+ "aws-connect-view.json",
+ "aws-connect-viewversion.json",
+ "aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
+ "aws-controltower-landingzone.json",
+ "aws-customerprofiles-calculatedattributedefinition.json",
+ "aws-customerprofiles-domain.json",
+ "aws-customerprofiles-eventstream.json",
+ "aws-customerprofiles-integration.json",
+ "aws-customerprofiles-objecttype.json",
+ "aws-databrew-dataset.json",
+ "aws-databrew-job.json",
+ "aws-databrew-project.json",
+ "aws-databrew-recipe.json",
+ "aws-databrew-ruleset.json",
+ "aws-databrew-schedule.json",
+ "aws-datasync-agent.json",
"aws-datasync-locationazureblob.json",
- "aws-logs-logstream.json",
+ "aws-datasync-locationefs.json",
+ "aws-datasync-locationfsxlustre.json",
+ "aws-datasync-locationfsxontap.json",
+ "aws-datasync-locationfsxwindows.json",
+ "aws-datasync-locationhdfs.json",
+ "aws-datasync-locationnfs.json",
+ "aws-datasync-locationobjectstorage.json",
+ "aws-datasync-locations3.json",
+ "aws-datasync-locationsmb.json",
+ "aws-datasync-storagesystem.json",
+ "aws-datasync-task.json",
+ "aws-detective-graph.json",
+ "aws-detective-memberinvitation.json",
+ "aws-detective-organizationadmin.json",
+ "aws-dlm-lifecyclepolicy.json",
+ "aws-dms-certificate.json",
+ "aws-dms-dataprovider.json",
+ "aws-dms-endpoint.json",
+ "aws-dms-eventsubscription.json",
+ "aws-dms-instanceprofile.json",
+ "aws-dms-migrationproject.json",
+ "aws-dms-replicationconfig.json",
+ "aws-dms-replicationinstance.json",
"aws-dms-replicationsubnetgroup.json",
- "aws-s3outposts-bucket.json",
- "aws-route53-recordsetgroup.json",
- "aws-ec2-localgatewayroute.json",
- "aws-cloudformation-publictypeversion.json",
- "aws-opsworks-app.json",
- "aws-kinesis-stream.json",
- "aws-backup-reportplan.json",
- "aws-batch-jobdefinition.json",
- "aws-iam-samlprovider.json",
- "aws-appflow-connector.json",
- "aws-cloudfront-keygroup.json",
- "aws-ec2-networkinterfaceattachment.json",
- "aws-glue-customentitytype.json",
- "aws-cognito-userpooluser.json",
- "aws-connect-contactflowmodule.json",
- "aws-codedeploy-deploymentconfig.json",
- "aws-networkmanager-globalnetwork.json",
- "aws-connect-tasktemplate.json",
- "aws-stepfunctions-statemachineversion.json",
- "aws-servicecatalogappregistry-application.json",
- "aws-networkmanager-site.json",
- "aws-glue-database.json",
- "aws-neptune-dbcluster.json",
- "aws-backup-backupvault.json",
+ "aws-dms-replicationtask.json",
+ "aws-dynamodb-globaltable.json",
+ "aws-dynamodb-table.json",
+ "aws-ec2-capacityreservation.json",
+ "aws-ec2-capacityreservationfleet.json",
+ "aws-ec2-clientvpnendpoint.json",
+ "aws-ec2-clientvpnroute.json",
+ "aws-ec2-clientvpntargetnetworkassociation.json",
"aws-ec2-customergateway.json",
- "aws-iam-grouppolicy.json",
- "aws-scheduler-schedule.json",
- "aws-waf-bytematchset.json",
- "aws-emrserverless-application.json",
+ "aws-ec2-dhcpoptions.json",
+ "aws-ec2-ec2fleet.json",
+ "aws-ec2-egressonlyinternetgateway.json",
+ "aws-ec2-eip.json",
+ "aws-ec2-eipassociation.json",
+ "aws-ec2-enclavecertificateiamroleassociation.json",
+ "aws-ec2-flowlog.json",
+ "aws-ec2-gatewayroutetableassociation.json",
"aws-ec2-host.json",
- "aws-lambda-codesigningconfig.json",
- "aws-systemsmanagersap-application.json",
- "aws-dms-replicationtask.json",
+ "aws-ec2-instance.json",
+ "aws-ec2-instanceconnectendpoint.json",
+ "aws-ec2-internetgateway.json",
+ "aws-ec2-ipam.json",
+ "aws-ec2-ipamallocation.json",
+ "aws-ec2-ipampool.json",
+ "aws-ec2-ipampoolcidr.json",
+ "aws-ec2-ipamresourcediscovery.json",
+ "aws-ec2-ipamresourcediscoveryassociation.json",
+ "aws-ec2-ipamscope.json",
+ "aws-ec2-keypair.json",
+ "aws-ec2-launchtemplate.json",
+ "aws-ec2-localgatewayroute.json",
+ "aws-ec2-localgatewayroutetable.json",
+ "aws-ec2-localgatewayroutetablevirtualinterfacegroupassociation.json",
+ "aws-ec2-localgatewayroutetablevpcassociation.json",
+ "aws-ec2-natgateway.json",
+ "aws-ec2-networkacl.json",
+ "aws-ec2-networkinsightsaccessscope.json",
+ "aws-ec2-networkinsightsaccessscopeanalysis.json",
+ "aws-ec2-networkinsightsanalysis.json",
+ "aws-ec2-networkinsightspath.json",
+ "aws-ec2-networkinterface.json",
+ "aws-ec2-networkinterfaceattachment.json",
+ "aws-ec2-networkperformancemetricsubscription.json",
+ "aws-ec2-placementgroup.json",
+ "aws-ec2-prefixlist.json",
+ "aws-ec2-route.json",
"aws-ec2-routetable.json",
- "aws-mediaconnect-gateway.json",
- "aws-rds-dbproxyendpoint.json",
- "aws-datasync-locationsmb.json",
- "aws-resiliencehub-app.json",
- "aws-securityhub-standard.json",
- "aws-rolesanywhere-crl.json",
- "aws-sns-topicinlinepolicy.json",
- "aws-connect-evaluationform.json",
- "aws-redshift-clusterparametergroup.json",
- "aws-organizations-policy.json",
- "aws-glue-trigger.json",
- "aws-globalaccelerator-listener.json",
- "aws-verifiedpermissions-policystore.json",
- "aws-signer-signingprofile.json",
- "aws-ec2-vpcpeeringconnection.json",
- "aws-sns-topicpolicy.json",
- "aws-mwaa-environment.json",
- "aws-networkfirewall-rulegroup.json",
- "aws-kms-key.json",
- "aws-route53resolver-resolverdnssecconfig.json",
- "aws-route53resolver-firewallrulegroupassociation.json",
- "aws-route53resolver-resolverqueryloggingconfig.json",
+ "aws-ec2-securitygroup.json",
+ "aws-ec2-securitygroupegress.json",
+ "aws-ec2-securitygroupingress.json",
"aws-ec2-snapshotblockpublicaccess.json",
+ "aws-ec2-spotfleet.json",
"aws-ec2-subnet.json",
- "aws-cloudtrail-resourcepolicy.json",
- "aws-s3objectlambda-accesspoint.json",
- "aws-elasticbeanstalk-configurationtemplate.json",
- "aws-sqs-queuepolicy.json",
- "aws-appsync-domainnameapiassociation.json",
- "aws-appsync-apicache.json",
- "aws-apigateway-account.json",
- "aws-wafv2-webacl.json",
- "aws-globalaccelerator-endpointgroup.json",
+ "aws-ec2-subnetcidrblock.json",
+ "aws-ec2-subnetnetworkaclassociation.json",
+ "aws-ec2-subnetroutetableassociation.json",
+ "aws-ec2-trafficmirrorfilter.json",
+ "aws-ec2-trafficmirrortarget.json",
+ "aws-ec2-transitgateway.json",
"aws-ec2-transitgatewayconnect.json",
- "aws-networkmanager-sitetositevpnattachment.json",
- "aws-ec2-securitygroup.json",
- "aws-quicksight-theme.json",
- "aws-ec2-capacityreservationfleet.json",
- "aws-opsworks-volume.json",
- "aws-ses-emailidentity.json",
- "aws-iam-usertogroupaddition.json",
- "aws-events-rule.json",
- "aws-cloudfront-keyvaluestore.json",
- "aws-guardduty-malwareprotectionplan.json",
- "aws-databrew-dataset.json",
+ "aws-ec2-transitgatewaymulticastdomain.json",
+ "aws-ec2-transitgatewaymulticastdomainassociation.json",
+ "aws-ec2-transitgatewaymulticastgroupmember.json",
+ "aws-ec2-transitgatewaymulticastgroupsource.json",
+ "aws-ec2-transitgatewaypeeringattachment.json",
+ "aws-ec2-transitgatewayroute.json",
+ "aws-ec2-transitgatewayroutetable.json",
+ "aws-ec2-transitgatewayroutetableassociation.json",
+ "aws-ec2-transitgatewayroutetablepropagation.json",
+ "aws-ec2-transitgatewayvpcattachment.json",
+ "aws-ec2-volume.json",
+ "aws-ec2-volumeattachment.json",
+ "aws-ec2-vpc.json",
+ "aws-ec2-vpccidrblock.json",
+ "aws-ec2-vpcdhcpoptionsassociation.json",
+ "aws-ec2-vpcendpoint.json",
+ "aws-ec2-vpcendpointconnectionnotification.json",
+ "aws-ec2-vpcendpointservice.json",
+ "aws-ec2-vpcendpointservicepermissions.json",
+ "aws-ec2-vpcgatewayattachment.json",
+ "aws-ec2-vpcpeeringconnection.json",
+ "aws-ec2-vpnconnection.json",
+ "aws-ec2-vpnconnectionroute.json",
+ "aws-ec2-vpngateway.json",
"aws-ec2-vpngatewayroutepropagation.json",
- "aws-glue-crawler.json",
- "aws-cloudfront-function.json",
- "aws-apigateway-method.json",
- "aws-wafregional-regexpatternset.json",
- "aws-ssm-patchbaseline.json",
- "aws-servicediscovery-service.json",
- "aws-customerprofiles-objecttype.json",
- "aws-cloudfront-monitoringsubscription.json",
+ "aws-ecr-pullthroughcacherule.json",
+ "aws-ecr-registrypolicy.json",
+ "aws-ecr-replicationconfiguration.json",
+ "aws-ecr-repository.json",
+ "aws-ecr-repositorycreationtemplate.json",
+ "aws-ecs-capacityprovider.json",
+ "aws-ecs-cluster.json",
+ "aws-ecs-clustercapacityproviderassociations.json",
+ "aws-ecs-primarytaskset.json",
+ "aws-ecs-service.json",
+ "aws-ecs-taskdefinition.json",
+ "aws-ecs-taskset.json",
+ "aws-efs-accesspoint.json",
+ "aws-efs-filesystem.json",
"aws-efs-mounttarget.json",
- "aws-quicksight-dataset.json",
- "aws-ec2-vpnconnection.json",
- "aws-servicediscovery-publicdnsnamespace.json",
- "aws-shield-protectiongroup.json",
- "aws-networkmanager-vpcattachment.json",
- "aws-iam-user.json",
- "aws-emr-instancegroupconfig.json",
- "aws-mediaconnect-flow.json",
- "aws-stepfunctions-activity.json",
- "aws-sagemaker-project.json",
- "aws-ec2-localgatewayroutetablevirtualinterfacegroupassociation.json",
- "aws-logs-accountpolicy.json",
- "aws-s3-bucketpolicy.json",
- "aws-appsync-graphqlschema.json",
- "aws-redshift-cluster.json",
- "aws-codebuild-sourcecredential.json",
- "aws-emr-instancefleetconfig.json",
- "aws-emr-cluster.json",
- "aws-apigatewayv2-domainname.json",
- "aws-customerprofiles-eventstream.json",
- "aws-rds-dbcluster.json",
- "aws-servicecatalog-resourceupdateconstraint.json",
- "aws-transfer-agreement.json",
- "aws-chatbot-slackchannelconfiguration.json",
- "aws-cloudfront-distribution.json",
+ "aws-eks-accessentry.json",
+ "aws-eks-addon.json",
+ "aws-eks-cluster.json",
+ "aws-eks-fargateprofile.json",
+ "aws-eks-identityproviderconfig.json",
+ "aws-eks-nodegroup.json",
+ "aws-eks-podidentityassociation.json",
+ "aws-elasticache-cachecluster.json",
+ "aws-elasticache-parametergroup.json",
+ "aws-elasticache-replicationgroup.json",
+ "aws-elasticache-securitygroup.json",
+ "aws-elasticache-securitygroupingress.json",
+ "aws-elasticache-serverlesscache.json",
"aws-elasticache-subnetgroup.json",
- "aws-xray-group.json",
- "aws-oam-link.json",
- "aws-sagemaker-endpoint.json",
- "aws-elasticloadbalancingv2-truststorerevocation.json",
- "aws-networkfirewall-firewall.json",
- "aws-eventschemas-schema.json",
- "aws-m2-application.json",
- "aws-ses-template.json",
- "aws-kms-replicakey.json",
- "aws-redshift-clustersecuritygroup.json",
- "aws-route53-cidrcollection.json",
- "aws-ecr-pullthroughcacherule.json",
- "aws-glue-mltransform.json",
- "aws-appconfig-hostedconfigurationversion.json",
- "aws-datasync-locationefs.json",
- "aws-ec2-localgatewayroutetable.json",
- "aws-apigateway-resource.json",
- "aws-sagemaker-appimageconfig.json",
- "aws-verifiedpermissions-identitysource.json",
- "aws-macie-session.json",
+ "aws-elasticache-user.json",
+ "aws-elasticache-usergroup.json",
+ "aws-elasticbeanstalk-application.json",
+ "aws-elasticbeanstalk-applicationversion.json",
+ "aws-elasticbeanstalk-configurationtemplate.json",
+ "aws-elasticbeanstalk-environment.json",
+ "aws-elasticloadbalancing-loadbalancer.json",
+ "aws-elasticloadbalancingv2-listener.json",
+ "aws-elasticloadbalancingv2-listenercertificate.json",
+ "aws-elasticloadbalancingv2-listenerrule.json",
+ "aws-elasticloadbalancingv2-loadbalancer.json",
"aws-elasticloadbalancingv2-targetgroup.json",
- "aws-applicationautoscaling-scalingpolicy.json",
- "aws-pipes-pipe.json",
+ "aws-elasticloadbalancingv2-truststore.json",
+ "aws-elasticloadbalancingv2-truststorerevocation.json",
+ "aws-elasticsearch-domain.json",
+ "aws-emr-cluster.json",
+ "aws-emr-instancefleetconfig.json",
+ "aws-emr-instancegroupconfig.json",
+ "aws-emr-securityconfiguration.json",
+ "aws-emr-step.json",
+ "aws-emr-studio.json",
"aws-emr-studiosessionmapping.json",
- "aws-cloudformation-macro.json",
- "aws-sagemaker-workteam.json",
- "aws-lambda-layerversionpermission.json",
- "aws-route53resolver-resolverconfig.json",
- "aws-elasticache-user.json",
- "aws-sagemaker-image.json",
- "aws-logs-subscriptionfilter.json",
- "aws-codedeploy-application.json",
- "aws-dms-eventsubscription.json",
- "aws-lakeformation-principalpermissions.json",
- "aws-datasync-locations3.json",
- "aws-autoscaling-lifecyclehook.json",
+ "aws-emrserverless-application.json",
+ "aws-events-archive.json",
+ "aws-events-eventbus.json",
+ "aws-events-eventbuspolicy.json",
+ "aws-events-rule.json",
+ "aws-eventschemas-discoverer.json",
+ "aws-eventschemas-registry.json",
+ "aws-eventschemas-registrypolicy.json",
+ "aws-eventschemas-schema.json",
+ "aws-fis-experimenttemplate.json",
+ "aws-fis-targetaccountconfiguration.json",
+ "aws-fms-notificationchannel.json",
+ "aws-fms-policy.json",
+ "aws-fms-resourceset.json",
"aws-fsx-datarepositoryassociation.json",
- "aws-ec2-networkinterface.json",
- "aws-sagemaker-featuregroup.json",
- "aws-appsync-resolver.json",
- "aws-controltower-landingzone.json",
- "aws-rolesanywhere-trustanchor.json",
- "aws-route53resolver-resolverqueryloggingconfigassociation.json",
- "aws-imagebuilder-lifecyclepolicy.json",
- "aws-lambda-eventinvokeconfig.json",
- "aws-mediaconnect-flowoutput.json",
- "aws-lambda-layerversion.json",
- "aws-rum-appmonitor.json",
- "aws-rds-optiongroup.json",
- "aws-opsworks-userprofile.json",
+ "aws-fsx-filesystem.json",
+ "aws-fsx-snapshot.json",
+ "aws-fsx-storagevirtualmachine.json",
+ "aws-fsx-volume.json",
+ "aws-globalaccelerator-accelerator.json",
+ "aws-globalaccelerator-crossaccountattachment.json",
+ "aws-globalaccelerator-endpointgroup.json",
+ "aws-globalaccelerator-listener.json",
+ "aws-glue-classifier.json",
+ "aws-glue-connection.json",
+ "aws-glue-crawler.json",
+ "aws-glue-customentitytype.json",
+ "aws-glue-database.json",
+ "aws-glue-datacatalogencryptionsettings.json",
+ "aws-glue-dataqualityruleset.json",
+ "aws-glue-devendpoint.json",
+ "aws-glue-job.json",
+ "aws-glue-mltransform.json",
+ "aws-glue-partition.json",
+ "aws-glue-registry.json",
"aws-glue-schema.json",
- "aws-customerprofiles-domain.json",
- "aws-ec2-transitgatewayroute.json",
- "aws-ssm-maintenancewindow.json",
- "aws-lakeformation-tagassociation.json",
- "aws-ec2-ipamresourcediscovery.json",
- "aws-datasync-storagesystem.json",
- "aws-m2-environment.json",
- "aws-imagebuilder-infrastructureconfiguration.json",
- "aws-route53resolver-resolverendpoint.json",
- "aws-connect-contactflow.json",
- "aws-networkmanager-link.json",
- "aws-sagemaker-notebookinstance.json",
- "aws-sso-instanceaccesscontrolattributeconfiguration.json",
- "aws-wafregional-bytematchset.json",
- "aws-cloudwatch-anomalydetector.json",
- "aws-ec2-subnetnetworkaclassociation.json",
- "aws-servicecatalog-serviceaction.json",
- "aws-dms-migrationproject.json",
+ "aws-glue-schemaversion.json",
+ "aws-glue-schemaversionmetadata.json",
+ "aws-glue-securityconfiguration.json",
+ "aws-glue-table.json",
+ "aws-glue-trigger.json",
+ "aws-glue-workflow.json",
+ "aws-groundstation-config.json",
+ "aws-groundstation-dataflowendpointgroup.json",
+ "aws-groundstation-missionprofile.json",
+ "aws-guardduty-detector.json",
+ "aws-guardduty-filter.json",
+ "aws-guardduty-ipset.json",
+ "aws-guardduty-malwareprotectionplan.json",
+ "aws-guardduty-master.json",
+ "aws-guardduty-member.json",
+ "aws-guardduty-threatintelset.json",
+ "aws-iam-group.json",
+ "aws-iam-grouppolicy.json",
+ "aws-iam-instanceprofile.json",
+ "aws-iam-policy.json",
+ "aws-iam-role.json",
+ "aws-iam-rolepolicy.json",
+ "aws-iam-samlprovider.json",
+ "aws-iam-servercertificate.json",
+ "aws-iam-servicelinkedrole.json",
+ "aws-iam-user.json",
"aws-iam-userpolicy.json",
- "aws-connect-viewversion.json",
- "aws-cloudfront-originaccesscontrol.json",
- "aws-inspectorv2-cisscanconfiguration.json",
- "aws-cognito-userpool.json",
- "aws-secretsmanager-rotationschedule.json",
- "aws-securityhub-securitycontrol.json",
- "aws-lambda-permission.json",
- "aws-networkfirewall-firewallpolicy.json",
- "aws-eks-identityproviderconfig.json",
- "aws-ec2-ipamresourcediscoveryassociation.json",
- "aws-servicecatalogappregistry-attributegroup.json",
- "aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-appsync-graphqlapi.json",
- "aws-ec2-egressonlyinternetgateway.json",
- "aws-securityhub-insight.json",
- "aws-ec2-vpccidrblock.json",
+ "aws-iam-usertogroupaddition.json",
"aws-iam-virtualmfadevice.json",
- "aws-ec2-networkinsightspath.json",
- "aws-mediatailor-vodsource.json",
- "aws-acmpca-certificateauthority.json",
- "aws-athena-preparedstatement.json",
- "aws-autoscaling-scheduledaction.json",
- "aws-cognito-identitypoolprincipaltag.json",
- "aws-apigatewayv2-route.json",
+ "aws-identitystore-group.json",
+ "aws-identitystore-groupmembership.json",
+ "aws-imagebuilder-component.json",
+ "aws-imagebuilder-containerrecipe.json",
+ "aws-imagebuilder-distributionconfiguration.json",
+ "aws-imagebuilder-image.json",
+ "aws-imagebuilder-imagepipeline.json",
+ "aws-imagebuilder-imagerecipe.json",
+ "aws-imagebuilder-infrastructureconfiguration.json",
+ "aws-imagebuilder-lifecyclepolicy.json",
+ "aws-imagebuilder-workflow.json",
+ "aws-inspectorv2-cisscanconfiguration.json",
+ "aws-inspectorv2-filter.json",
+ "aws-internetmonitor-monitor.json",
+ "aws-kinesis-stream.json",
+ "aws-kinesisanalyticsv2-application.json",
+ "aws-kinesisfirehose-deliverystream.json",
+ "aws-kms-alias.json",
+ "aws-kms-key.json",
+ "aws-kms-replicakey.json",
+ "aws-lakeformation-datacellsfilter.json",
+ "aws-lakeformation-datalakesettings.json",
+ "aws-lakeformation-permissions.json",
+ "aws-lakeformation-principalpermissions.json",
"aws-lakeformation-resource.json",
- "aws-detective-memberinvitation.json",
- "aws-ec2-ipamscope.json",
- "aws-ec2-vpcendpoint.json",
- "aws-rds-eventsubscription.json",
- "module.json",
- "aws-customerprofiles-calculatedattributedefinition.json",
- "aws-config-aggregationauthorization.json",
- "aws-datasync-agent.json",
- "aws-cognito-userpoolidentityprovider.json",
- "aws-resiliencehub-resiliencypolicy.json",
- "aws-logs-loggroup.json",
- "aws-ecs-cluster.json",
- "aws-pcaconnectorad-template.json",
- "aws-ec2-placementgroup.json",
- "aws-organizations-account.json",
- "aws-ecr-repository.json",
- "aws-ses-dedicatedippool.json",
- "aws-mediaconnect-flowsource.json",
- "aws-appconfig-extension.json",
+ "aws-lakeformation-tag.json",
+ "aws-lakeformation-tagassociation.json",
+ "aws-lambda-alias.json",
+ "aws-lambda-codesigningconfig.json",
+ "aws-lambda-eventinvokeconfig.json",
+ "aws-lambda-eventsourcemapping.json",
+ "aws-lambda-layerversion.json",
+ "aws-lambda-layerversionpermission.json",
+ "aws-lambda-permission.json",
+ "aws-lambda-url.json",
+ "aws-lambda-version.json",
+ "aws-launchwizard-deployment.json",
+ "aws-lex-bot.json",
+ "aws-lex-botalias.json",
+ "aws-lex-botversion.json",
"aws-lex-resourcepolicy.json",
- "aws-elasticloadbalancingv2-listenerrule.json",
- "aws-elasticloadbalancingv2-truststore.json",
- "aws-glue-registry.json",
- "aws-ec2-keypair.json",
- "aws-fsx-filesystem.json",
- "aws-mediatailor-livesource.json",
- "aws-ec2-eipassociation.json",
- "aws-elasticbeanstalk-application.json",
- "aws-dlm-lifecyclepolicy.json",
- "aws-ec2-capacityreservation.json",
- "aws-elasticloadbalancing-loadbalancer.json",
- "aws-transfer-user.json",
- "aws-iam-rolepolicy.json",
- "aws-cognito-identitypool.json",
- "aws-ec2-trafficmirrortarget.json",
- "aws-connect-prompt.json",
- "aws-stepfunctions-statemachine.json",
- "aws-rds-dbclusterparametergroup.json",
- "aws-appmesh-virtualrouter.json",
- "aws-scheduler-schedulegroup.json",
- "aws-fsx-snapshot.json",
- "aws-eventschemas-registrypolicy.json",
- "aws-route53-keysigningkey.json",
- "aws-eventschemas-registry.json",
- "aws-config-remediationconfiguration.json",
- "aws-detective-organizationadmin.json",
- "aws-athena-datacatalog.json",
+ "aws-logs-accountpolicy.json",
+ "aws-logs-delivery.json",
+ "aws-logs-deliverydestination.json",
+ "aws-logs-deliverysource.json",
+ "aws-logs-destination.json",
+ "aws-logs-loganomalydetector.json",
+ "aws-logs-loggroup.json",
+ "aws-logs-logstream.json",
+ "aws-logs-metricfilter.json",
+ "aws-logs-querydefinition.json",
+ "aws-logs-resourcepolicy.json",
+ "aws-logs-subscriptionfilter.json",
+ "aws-m2-application.json",
+ "aws-m2-environment.json",
+ "aws-macie-allowlist.json",
+ "aws-macie-session.json",
+ "aws-mediaconnect-bridge.json",
+ "aws-mediaconnect-bridgeoutput.json",
+ "aws-mediaconnect-bridgesource.json",
+ "aws-mediaconnect-flow.json",
+ "aws-mediaconnect-flowentitlement.json",
+ "aws-mediaconnect-flowoutput.json",
"aws-mediaconnect-flowvpcinterface.json",
- "aws-glue-workflow.json",
- "aws-apigatewayv2-authorizer.json",
- "aws-sagemaker-userprofile.json",
- "aws-ec2-prefixlist.json",
- "aws-ec2-instance.json",
- "aws-networkmanager-device.json",
- "aws-ec2-subnetcidrblock.json",
- "aws-elasticbeanstalk-applicationversion.json",
- "aws-appmesh-virtualgateway.json",
- "aws-waf-sqlinjectionmatchset.json",
- "aws-ec2-transitgatewayvpcattachment.json",
- "aws-connect-routingprofile.json",
- "aws-ec2-flowlog.json",
- "aws-amazonmq-broker.json",
- "aws-emr-step.json",
- "aws-ssm-association.json",
- "aws-ec2-clientvpnendpoint.json",
- "aws-cloudfront-responseheaderspolicy.json",
- "aws-securityhub-automationrule.json",
- "aws-msk-clusterpolicy.json",
+ "aws-mediaconnect-gateway.json",
+ "aws-mediatailor-channel.json",
+ "aws-mediatailor-channelpolicy.json",
+ "aws-mediatailor-livesource.json",
+ "aws-mediatailor-playbackconfiguration.json",
"aws-mediatailor-sourcelocation.json",
- "aws-guardduty-master.json",
- "aws-kms-alias.json",
- "aws-xray-samplingrule.json",
- "aws-route53resolver-resolverrule.json",
- "aws-transfer-connector.json",
- "aws-appmesh-virtualnode.json",
- "aws-apigateway-documentationversion.json",
- "aws-wafv2-webaclassociation.json",
- "aws-oam-sink.json",
- "aws-codebuild-reportgroup.json",
- "aws-apigateway-gatewayresponse.json",
- "aws-ec2-enclavecertificateiamroleassociation.json",
- "aws-connect-phonenumber.json",
- "aws-sso-application.json",
- "aws-fsx-volume.json",
- "aws-route53resolver-outpostresolver.json",
- "aws-acmpca-certificate.json",
- "aws-ec2-ipamallocation.json",
- "aws-workspaces-workspace.json",
- "aws-emr-studio.json",
- "aws-ec2-instanceconnectendpoint.json",
- "aws-appsync-sourceapiassociation.json",
- "aws-datasync-locationobjectstorage.json",
- "aws-ecs-capacityprovider.json",
- "aws-elasticache-cachecluster.json",
- "aws-sagemaker-modelcard.json",
- "aws-logs-destination.json",
- "aws-eks-nodegroup.json",
- "aws-organizations-organizationalunit.json",
- "aws-appsync-datasource.json",
- "aws-sqs-queue.json",
- "aws-ec2-securitygroupingress.json",
- "aws-guardduty-detector.json",
- "aws-appflow-flow.json",
- "aws-apigateway-stage.json",
+ "aws-mediatailor-vodsource.json",
+ "aws-msk-batchscramsecret.json",
+ "aws-msk-cluster.json",
+ "aws-msk-clusterpolicy.json",
+ "aws-msk-configuration.json",
+ "aws-msk-vpcconnection.json",
+ "aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
+ "aws-neptune-dbsubnetgroup.json",
+ "aws-neptune-eventsubscription.json",
+ "aws-networkfirewall-firewall.json",
+ "aws-networkfirewall-firewallpolicy.json",
+ "aws-networkfirewall-loggingconfiguration.json",
+ "aws-networkfirewall-rulegroup.json",
+ "aws-networkfirewall-tlsinspectionconfiguration.json",
+ "aws-networkmanager-connectattachment.json",
+ "aws-networkmanager-connectpeer.json",
"aws-networkmanager-corenetwork.json",
- "aws-batch-computeenvironment.json",
- "aws-connect-instancestorageconfig.json",
- "aws-quicksight-vpcconnection.json",
- "aws-events-eventbuspolicy.json",
- "aws-athena-namedquery.json",
- "aws-ec2-trafficmirrorfilter.json",
- "aws-apigateway-deployment.json",
- "aws-lakeformation-datalakesettings.json",
- "aws-autoscaling-scalingpolicy.json",
- "aws-groundstation-config.json",
- "aws-resourceexplorer2-defaultviewassociation.json",
- "aws-ecr-registrypolicy.json",
- "aws-redshift-scheduledaction.json",
- "aws-rds-dbsecuritygroup.json",
- "aws-apigatewayv2-routeresponse.json",
- "aws-cloudwatch-metricstream.json",
- "aws-sso-applicationassignment.json",
- "aws-dms-dataprovider.json",
- "aws-ssm-parameter.json",
- "aws-apigatewayv2-apigatewaymanagedoverrides.json",
- "aws-config-deliverychannel.json",
- "aws-certificatemanager-account.json",
- "aws-iam-oidcprovider.json",
- "aws-lakeformation-tag.json",
- "aws-ce-anomalymonitor.json",
- "aws-servicecatalogappregistry-resourceassociation.json",
- "aws-ec2-vpngateway.json",
- "aws-cloudformation-stack.json",
- "aws-resourcegroups-group.json",
- "aws-cloudformation-resourcedefaultversion.json",
- "aws-signer-profilepermission.json",
- "aws-backup-restoretestingplan.json",
- "aws-quicksight-dashboard.json",
- "aws-ec2-ipam.json",
- "aws-pcaconnectorad-templategroupaccesscontrolentry.json",
- "aws-databrew-job.json",
- "aws-ec2-transitgatewaypeeringattachment.json",
- "aws-connect-queue.json",
- "aws-ecr-repositorycreationtemplate.json",
- "aws-quicksight-template.json",
- "aws-cloudfront-cachepolicy.json",
- "aws-appintegrations-dataintegration.json",
- "aws-rds-dbsubnetgroup.json",
- "aws-amazonmq-configuration.json",
- "aws-appconfig-deployment.json",
- "aws-accessanalyzer-analyzer.json",
- "aws-ec2-ec2fleet.json",
- "aws-dms-replicationinstance.json",
- "aws-servicecatalog-cloudformationproduct.json",
- "aws-ec2-vpcendpointservice.json",
- "aws-ec2-launchtemplate.json",
- "aws-cloudfront-originrequestpolicy.json",
- "aws-datasync-locationfsxontap.json",
+ "aws-networkmanager-customergatewayassociation.json",
+ "aws-networkmanager-device.json",
+ "aws-networkmanager-globalnetwork.json",
+ "aws-networkmanager-link.json",
"aws-networkmanager-linkassociation.json",
- "aws-cognito-userpoolriskconfigurationattachment.json",
- "aws-mediatailor-playbackconfiguration.json",
+ "aws-networkmanager-site.json",
+ "aws-networkmanager-sitetositevpnattachment.json",
+ "aws-networkmanager-transitgatewaypeering.json",
+ "aws-networkmanager-transitgatewayregistration.json",
+ "aws-networkmanager-transitgatewayroutetableattachment.json",
+ "aws-networkmanager-vpcattachment.json",
+ "aws-oam-link.json",
+ "aws-oam-sink.json",
+ "aws-opensearchservice-domain.json",
+ "aws-opsworks-app.json",
+ "aws-opsworks-elasticloadbalancerattachment.json",
+ "aws-opsworks-userprofile.json",
+ "aws-opsworks-volume.json",
+ "aws-organizations-account.json",
+ "aws-organizations-organization.json",
+ "aws-organizations-organizationalunit.json",
+ "aws-organizations-policy.json",
+ "aws-organizations-resourcepolicy.json",
+ "aws-pcaconnectorad-connector.json",
+ "aws-pcaconnectorad-directoryregistration.json",
"aws-pcaconnectorad-serviceprincipalname.json",
- "aws-elasticbeanstalk-environment.json",
- "aws-cognito-userpoolclient.json",
- "aws-wafregional-sqlinjectionmatchset.json",
- "aws-lambda-version.json",
- "aws-ec2-dhcpoptions.json",
- "aws-ec2-ipampool.json",
- "aws-iam-servicelinkedrole.json",
- "aws-cloudformation-hooktypeconfig.json",
- "aws-ec2-volume.json",
- "aws-ec2-eip.json",
- "aws-verifiedpermissions-policy.json",
- "aws-cloudformation-resourceversion.json",
- "aws-apigatewayv2-stage.json",
- "aws-cognito-logdeliveryconfiguration.json",
- "aws-chatbot-microsoftteamschannelconfiguration.json",
- "aws-rds-dbproxy.json",
+ "aws-pcaconnectorad-template.json",
+ "aws-pcaconnectorad-templategroupaccesscontrolentry.json",
+ "aws-pipes-pipe.json",
+ "aws-quicksight-analysis.json",
+ "aws-quicksight-dashboard.json",
+ "aws-quicksight-dataset.json",
+ "aws-quicksight-datasource.json",
+ "aws-quicksight-refreshschedule.json",
+ "aws-quicksight-template.json",
+ "aws-quicksight-theme.json",
+ "aws-quicksight-vpcconnection.json",
+ "aws-ram-permission.json",
+ "aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
+ "aws-rds-dbclusterparametergroup.json",
+ "aws-rds-dbinstance.json",
"aws-rds-dbparametergroup.json",
- "aws-securityhub-hub.json",
+ "aws-rds-dbproxy.json",
+ "aws-rds-dbproxyendpoint.json",
+ "aws-rds-dbproxytargetgroup.json",
+ "aws-rds-dbsecuritygroup.json",
+ "aws-rds-dbsecuritygroupingress.json",
+ "aws-rds-dbsubnetgroup.json",
+ "aws-rds-eventsubscription.json",
+ "aws-rds-globalcluster.json",
+ "aws-rds-integration.json",
+ "aws-rds-optiongroup.json",
+ "aws-redshift-cluster.json",
+ "aws-redshift-clusterparametergroup.json",
+ "aws-redshift-clustersecuritygroup.json",
+ "aws-redshift-clustersecuritygroupingress.json",
+ "aws-redshift-clustersubnetgroup.json",
+ "aws-redshift-endpointaccess.json",
+ "aws-redshift-endpointauthorization.json",
+ "aws-redshift-eventsubscription.json",
+ "aws-redshift-scheduledaction.json",
+ "aws-resiliencehub-app.json",
+ "aws-resiliencehub-resiliencypolicy.json",
+ "aws-resourceexplorer2-defaultviewassociation.json",
+ "aws-resourceexplorer2-index.json",
+ "aws-resourceexplorer2-view.json",
+ "aws-resourcegroups-group.json",
+ "aws-rolesanywhere-crl.json",
+ "aws-rolesanywhere-profile.json",
+ "aws-rolesanywhere-trustanchor.json",
+ "aws-route53-cidrcollection.json",
+ "aws-route53-dnssec.json",
+ "aws-route53-keysigningkey.json",
+ "aws-route53-recordset.json",
+ "aws-route53-recordsetgroup.json",
+ "aws-route53profiles-profile.json",
+ "aws-route53profiles-profileassociation.json",
+ "aws-route53profiles-profileresourceassociation.json",
+ "aws-route53resolver-firewalldomainlist.json",
+ "aws-route53resolver-firewallrulegroupassociation.json",
+ "aws-route53resolver-outpostresolver.json",
+ "aws-route53resolver-resolverconfig.json",
+ "aws-route53resolver-resolverdnssecconfig.json",
+ "aws-route53resolver-resolverendpoint.json",
+ "aws-route53resolver-resolverqueryloggingconfig.json",
+ "aws-route53resolver-resolverqueryloggingconfigassociation.json",
+ "aws-route53resolver-resolverrule.json",
+ "aws-route53resolver-resolverruleassociation.json",
+ "aws-rum-appmonitor.json",
+ "aws-s3-accessgrant.json",
+ "aws-s3-accessgrantsinstance.json",
+ "aws-s3-accessgrantslocation.json",
"aws-s3-accesspoint.json",
+ "aws-s3-bucket.json",
+ "aws-s3-bucketpolicy.json",
+ "aws-s3objectlambda-accesspoint.json",
+ "aws-s3objectlambda-accesspointpolicy.json",
+ "aws-s3outposts-accesspoint.json",
+ "aws-s3outposts-bucket.json",
"aws-s3outposts-bucketpolicy.json",
- "aws-batch-jobqueue.json",
- "aws-elasticloadbalancingv2-listener.json",
- "aws-redshift-eventsubscription.json",
- "aws-connect-user.json",
- "aws-cloudformation-waitconditionhandle.json",
- "aws-globalaccelerator-accelerator.json",
- "aws-eks-addon.json",
+ "aws-s3outposts-endpoint.json",
+ "aws-sagemaker-app.json",
+ "aws-sagemaker-appimageconfig.json",
+ "aws-sagemaker-coderepository.json",
+ "aws-sagemaker-endpoint.json",
+ "aws-sagemaker-endpointconfig.json",
+ "aws-sagemaker-featuregroup.json",
+ "aws-sagemaker-image.json",
+ "aws-sagemaker-imageversion.json",
+ "aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-model.json",
+ "aws-sagemaker-modelcard.json",
+ "aws-sagemaker-modelpackage.json",
+ "aws-sagemaker-modelpackagegroup.json",
+ "aws-sagemaker-notebookinstance.json",
+ "aws-sagemaker-notebookinstancelifecycleconfig.json",
+ "aws-sagemaker-pipeline.json",
+ "aws-sagemaker-project.json",
+ "aws-sagemaker-space.json",
+ "aws-sagemaker-workteam.json",
+ "aws-scheduler-schedule.json",
+ "aws-scheduler-schedulegroup.json",
+ "aws-sdb-domain.json",
+ "aws-secretsmanager-resourcepolicy.json",
+ "aws-secretsmanager-rotationschedule.json",
+ "aws-secretsmanager-secret.json",
+ "aws-securityhub-automationrule.json",
+ "aws-securityhub-delegatedadmin.json",
+ "aws-securityhub-hub.json",
+ "aws-securityhub-insight.json",
+ "aws-securityhub-organizationconfiguration.json",
+ "aws-securityhub-productsubscription.json",
+ "aws-securityhub-securitycontrol.json",
+ "aws-securityhub-standard.json",
+ "aws-servicecatalog-cloudformationproduct.json",
+ "aws-servicecatalog-cloudformationprovisionedproduct.json",
+ "aws-servicecatalog-launchnotificationconstraint.json",
+ "aws-servicecatalog-launchroleconstraint.json",
+ "aws-servicecatalog-launchtemplateconstraint.json",
+ "aws-servicecatalog-portfolioshare.json",
+ "aws-servicecatalog-resourceupdateconstraint.json",
+ "aws-servicecatalog-serviceaction.json",
+ "aws-servicecatalog-serviceactionassociation.json",
+ "aws-servicecatalog-stacksetconstraint.json",
+ "aws-servicecatalog-tagoption.json",
+ "aws-servicecatalogappregistry-application.json",
+ "aws-servicecatalogappregistry-attributegroup.json",
+ "aws-servicecatalogappregistry-attributegroupassociation.json",
+ "aws-servicecatalogappregistry-resourceassociation.json",
+ "aws-servicediscovery-httpnamespace.json",
+ "aws-servicediscovery-instance.json",
+ "aws-servicediscovery-privatednsnamespace.json",
+ "aws-servicediscovery-publicdnsnamespace.json",
+ "aws-servicediscovery-service.json",
+ "aws-ses-configurationset.json",
+ "aws-ses-configurationseteventdestination.json",
+ "aws-ses-contactlist.json",
+ "aws-ses-dedicatedippool.json",
+ "aws-ses-emailidentity.json",
+ "aws-ses-template.json",
+ "aws-ses-vdmattributes.json",
+ "aws-shield-drtaccess.json",
+ "aws-shield-proactiveengagement.json",
+ "aws-shield-protection.json",
+ "aws-shield-protectiongroup.json",
+ "aws-signer-profilepermission.json",
+ "aws-signer-signingprofile.json",
+ "aws-sns-subscription.json",
+ "aws-sns-topic.json",
+ "aws-sns-topicinlinepolicy.json",
+ "aws-sns-topicpolicy.json",
+ "aws-sqs-queue.json",
+ "aws-sqs-queueinlinepolicy.json",
+ "aws-sqs-queuepolicy.json",
+ "aws-ssm-association.json",
+ "aws-ssm-document.json",
+ "aws-ssm-maintenancewindow.json",
+ "aws-ssm-maintenancewindowtarget.json",
+ "aws-ssm-maintenancewindowtask.json",
+ "aws-ssm-parameter.json",
+ "aws-ssm-patchbaseline.json",
+ "aws-sso-application.json",
+ "aws-sso-applicationassignment.json",
+ "aws-sso-assignment.json",
+ "aws-sso-instanceaccesscontrolattributeconfiguration.json",
+ "aws-sso-permissionset.json",
+ "aws-stepfunctions-statemachinealias.json",
+ "aws-stepfunctions-statemachineversion.json",
+ "aws-synthetics-canary.json",
+ "aws-systemsmanagersap-application.json",
+ "aws-transfer-agreement.json",
+ "aws-transfer-certificate.json",
+ "aws-transfer-connector.json",
+ "aws-transfer-profile.json",
+ "aws-transfer-server.json",
+ "aws-transfer-user.json",
+ "aws-transfer-workflow.json",
+ "aws-verifiedpermissions-identitysource.json",
+ "aws-verifiedpermissions-policy.json",
+ "aws-verifiedpermissions-policystore.json",
+ "aws-verifiedpermissions-policytemplate.json",
+ "aws-voiceid-domain.json",
+ "aws-waf-bytematchset.json",
+ "aws-waf-sqlinjectionmatchset.json",
+ "aws-wafregional-bytematchset.json",
+ "aws-wafregional-regexpatternset.json",
+ "aws-wafregional-sqlinjectionmatchset.json",
+ "aws-wafregional-webaclassociation.json",
+ "aws-wafregional-xssmatchset.json",
+ "aws-wafv2-ipset.json",
+ "aws-wafv2-loggingconfiguration.json",
+ "aws-wafv2-regexpatternset.json",
+ "aws-wafv2-rulegroup.json",
+ "aws-wafv2-webacl.json",
+ "aws-wafv2-webaclassociation.json",
+ "aws-workspaces-workspace.json",
+ "aws-xray-group.json",
+ "aws-xray-resourcepolicy.json",
+ "aws-xray-samplingrule.json",
+ "module.json",
]
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-elasticache-parametergroup.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-elasticache-parametergroup.json
deleted file mode 100644
index c524f26845..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-elasticache-parametergroup.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/CacheParameterGroupFamily"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "CacheParameterGroupFamily": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Properties": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "Description",
- "CacheParameterGroupFamily"
- ],
- "typeName": "AWS::ElastiCache::ParameterGroup"
-}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-iam-oidcprovider.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-iam-oidcprovider.json
new file mode 100644
index 0000000000..1794a452ca
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-iam-oidcprovider.json
@@ -0,0 +1,120 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Url"
+ ],
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Value",
+ "Key"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "iam:CreateOpenIDConnectProvider",
+ "iam:TagOpenIDConnectProvider",
+ "iam:GetOpenIDConnectProvider"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "iam:DeleteOpenIDConnectProvider"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "iam:ListOpenIDConnectProvider",
+ "iam:GetOpenIDConnectProvider"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "iam:GetOpenIDConnectProvider"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "iam:UpdateOpenIDConnectProviderThumbprint",
+ "iam:RemoveClientIDFromOpenIDConnectProvider",
+ "iam:AddClientIDToOpenIDConnectProvider",
+ "iam:GetOpenIDConnectProvider",
+ "iam:TagOpenIDConnectProvider",
+ "iam:UntagOpenIDConnectProvider",
+ "iam:ListOpenIDConnectProviderTags"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "type": "string"
+ },
+ "ClientIdList": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "ThumbprintList": {
+ "insertionOrder": false,
+ "items": {
+ "maxLength": 40,
+ "minLength": 40,
+ "pattern": "[0-9A-Fa-f]{40}",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "type": "array"
+ },
+ "Url": {
+ "maxLength": 255,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn"
+ ],
+ "required": [
+ "ThumbprintList"
+ ],
+ "tagging": {
+ "cloudFormationSystemTags": false,
+ "tagOnCreate": true,
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::IAM::OIDCProvider"
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-delivery.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-delivery.json
deleted file mode 100644
index 9d504c7dc9..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-delivery.json
+++ /dev/null
@@ -1,130 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DeliverySourceName",
- "/properties/DeliveryDestinationArn"
- ],
- "definitions": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 16,
- "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$",
- "type": "string"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "logs:CreateDelivery",
- "logs:GetDelivery",
- "logs:DescribeDeliveries",
- "logs:ListTagsForResource",
- "logs:TagResource",
- "logs:GetDeliverySource",
- "logs:GetDeliveryDestination"
- ]
- },
- "delete": {
- "permissions": [
- "logs:DeleteDelivery",
- "logs:ListTagsForResource",
- "logs:UntagResource"
- ]
- },
- "list": {
- "permissions": [
- "logs:DescribeDeliveries",
- "logs:ListTagsForResource"
- ]
- },
- "read": {
- "permissions": [
- "logs:GetDelivery",
- "logs:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "logs:GetDelivery",
- "logs:ListTagsForResource",
- "logs:TagResource",
- "logs:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/DeliveryId"
- ],
- "properties": {
- "Arn": {
- "$ref": "#/definitions/Arn"
- },
- "DeliveryDestinationArn": {
- "$ref": "#/definitions/Arn"
- },
- "DeliveryDestinationType": {
- "maxLength": 12,
- "minLength": 1,
- "pattern": "^[0-9A-Za-z]+$",
- "type": "string"
- },
- "DeliveryId": {
- "maxLength": 64,
- "minLength": 1,
- "pattern": "^[0-9A-Za-z]+$",
- "type": "string"
- },
- "DeliverySourceName": {
- "maxLength": 60,
- "minLength": 1,
- "pattern": "[\\w-]*$",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/DeliveryId",
- "/properties/Arn",
- "/properties/DeliveryDestinationType"
- ],
- "required": [
- "DeliverySourceName",
- "DeliveryDestinationArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Logs::Delivery"
-}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-deliverydestination.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-deliverydestination.json
deleted file mode 100644
index 41e9e764ad..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-deliverydestination.json
+++ /dev/null
@@ -1,152 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name",
- "/properties/DestinationResourceArn"
- ],
- "definitions": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 16,
- "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$",
- "type": "string"
- },
- "DestinationPolicy": {
- "additionalProperties": false,
- "properties": {
- "DeliveryDestinationName": {
- "maxLength": 60,
- "minLength": 1,
- "type": "string"
- },
- "DeliveryDestinationPolicy": {
- "maxLength": 51200,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "DeliveryDestinationName",
- "DeliveryDestinationPolicy"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "logs:PutDeliveryDestination",
- "logs:GetDeliveryDestination",
- "logs:ListTagsForResource",
- "logs:TagResource",
- "logs:UntagResource",
- "logs:PutDeliveryDestinationPolicy",
- "logs:GetDeliveryDestinationPolicy"
- ]
- },
- "delete": {
- "permissions": [
- "logs:DeleteDeliveryDestination",
- "logs:DeleteDeliveryDestinationPolicy"
- ]
- },
- "list": {
- "permissions": [
- "logs:DescribeDeliveryDestinations",
- "logs:GetDeliveryDestinationPolicy"
- ]
- },
- "read": {
- "permissions": [
- "logs:GetDeliveryDestination",
- "logs:ListTagsForResource",
- "logs:GetDeliveryDestinationPolicy"
- ]
- },
- "update": {
- "permissions": [
- "logs:PutDeliveryDestination",
- "logs:GetDeliveryDestination",
- "logs:ListTagsForResource",
- "logs:TagResource",
- "logs:UntagResource",
- "logs:DeleteDeliveryDestinationPolicy",
- "logs:PutDeliveryDestinationPolicy",
- "logs:GetDeliveryDestinationPolicy"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Name"
- ],
- "properties": {
- "Arn": {
- "$ref": "#/definitions/Arn"
- },
- "DeliveryDestinationPolicy": {
- "items": {
- "$ref": "#/definitions/DestinationPolicy"
- },
- "type": "object"
- },
- "DeliveryDestinationType": {
- "maxLength": 12,
- "minLength": 1,
- "pattern": "^[0-9A-Za-z]+$",
- "type": "string"
- },
- "DestinationResourceArn": {
- "$ref": "#/definitions/Arn"
- },
- "Name": {
- "maxLength": 60,
- "minLength": 1,
- "pattern": "[\\w-]*$",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/DeliveryDestinationType"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Logs::DeliveryDestination"
-}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-deliverysource.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-deliverysource.json
deleted file mode 100644
index 30c5c13d9e..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-logs-deliverysource.json
+++ /dev/null
@@ -1,138 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name"
- ],
- "definitions": {
- "Arn": {
- "maxLength": 2048,
- "minLength": 16,
- "pattern": "^arn:(aws[a-zA-Z-]*)?:[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9_/.-]{0,63}:[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,1023}$",
- "type": "string"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 128,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 256,
- "minLength": 0,
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "logs:PutDeliverySource",
- "logs:GetDeliverySource",
- "logs:ListTagsForResource",
- "logs:TagResource",
- "logs:AllowVendedLogDeliveryForResource",
- "codewhisperer:AllowVendedLogDeliveryForResource",
- "autoloop:AllowVendedLogDeliveryForResource",
- "workmail:AllowVendedLogDeliveryForResource"
- ]
- },
- "delete": {
- "permissions": [
- "logs:DeleteDeliverySource"
- ]
- },
- "list": {
- "permissions": [
- "logs:DescribeDeliverySources"
- ]
- },
- "read": {
- "permissions": [
- "logs:GetDeliverySource",
- "logs:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "logs:PutDeliverySource",
- "logs:GetDeliverySource",
- "logs:ListTagsForResource",
- "logs:TagResource",
- "logs:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Name"
- ],
- "properties": {
- "Arn": {
- "$ref": "#/definitions/Arn"
- },
- "LogType": {
- "maxLength": 255,
- "minLength": 1,
- "pattern": "[\\w-]*$",
- "type": "string"
- },
- "Name": {
- "maxLength": 60,
- "minLength": 1,
- "pattern": "[\\w-]*$",
- "type": "string"
- },
- "ResourceArn": {
- "$ref": "#/definitions/Arn"
- },
- "ResourceArns": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Arn"
- },
- "type": "array",
- "uniqueItems": true
- },
- "Service": {
- "maxLength": 255,
- "minLength": 1,
- "pattern": "[\\w-]*$",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": true
- }
- },
- "readOnlyProperties": [
- "/properties/Service",
- "/properties/ResourceArns",
- "/properties/Arn"
- ],
- "required": [
- "Name"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-logs.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::Logs::DeliverySource",
- "writeOnlyProperties": [
- "/properties/ResourceArn"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-mediaconnect-flowsource.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-mediaconnect-flowsource.json
new file mode 100644
index 0000000000..cf7d326061
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-mediaconnect-flowsource.json
@@ -0,0 +1,200 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/Name"
+ ],
+ "definitions": {
+ "Encryption": {
+ "additionalProperties": false,
+ "properties": {
+ "Algorithm": {
+ "enum": [
+ "aes128",
+ "aes192",
+ "aes256"
+ ],
+ "type": "string"
+ },
+ "ConstantInitializationVector": {
+ "type": "string"
+ },
+ "DeviceId": {
+ "type": "string"
+ },
+ "KeyType": {
+ "default": "static-key",
+ "enum": [
+ "speke",
+ "static-key",
+ "srt-password"
+ ],
+ "type": "string"
+ },
+ "Region": {
+ "type": "string"
+ },
+ "ResourceId": {
+ "type": "string"
+ },
+ "RoleArn": {
+ "type": "string"
+ },
+ "SecretArn": {
+ "type": "string"
+ },
+ "Url": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "RoleArn"
+ ],
+ "type": "object"
+ },
+ "GatewayBridgeSource": {
+ "additionalProperties": false,
+ "properties": {
+ "BridgeArn": {
+ "type": "string"
+ },
+ "VpcInterfaceAttachment": {
+ "$ref": "#/definitions/VpcInterfaceAttachment"
+ }
+ },
+ "required": [
+ "BridgeArn"
+ ],
+ "type": "object"
+ },
+ "VpcInterfaceAttachment": {
+ "additionalProperties": false,
+ "properties": {
+ "VpcInterfaceName": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "mediaconnect:CreateFlow",
+ "mediaconnect:DescribeFlow",
+ "mediaconnect:AddFlowSources",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "mediaconnect:DescribeFlow",
+ "mediaconnect:RemoveFlowSource"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "mediaconnect:DescribeFlow"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "mediaconnect:DescribeFlow"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "mediaconnect:DescribeFlow",
+ "mediaconnect:UpdateFlowSource"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/SourceArn"
+ ],
+ "properties": {
+ "Decryption": {
+ "$ref": "#/definitions/Encryption"
+ },
+ "Description": {
+ "type": "string"
+ },
+ "EntitlementArn": {
+ "type": "string"
+ },
+ "FlowArn": {
+ "type": "string"
+ },
+ "GatewayBridgeSource": {
+ "$ref": "#/definitions/GatewayBridgeSource"
+ },
+ "IngestIp": {
+ "type": "string"
+ },
+ "IngestPort": {
+ "type": "integer"
+ },
+ "MaxBitrate": {
+ "type": "integer"
+ },
+ "MaxLatency": {
+ "default": 2000,
+ "type": "integer"
+ },
+ "MinLatency": {
+ "default": 2000,
+ "type": "integer"
+ },
+ "Name": {
+ "type": "string"
+ },
+ "Protocol": {
+ "enum": [
+ "zixi-push",
+ "rtp-fec",
+ "rtp",
+ "rist",
+ "srt-listener",
+ "srt-caller"
+ ],
+ "type": "string"
+ },
+ "SenderControlPort": {
+ "type": "integer"
+ },
+ "SenderIpAddress": {
+ "type": "string"
+ },
+ "SourceArn": {
+ "type": "string"
+ },
+ "SourceIngestPort": {
+ "type": "string"
+ },
+ "SourceListenerAddress": {
+ "type": "string"
+ },
+ "SourceListenerPort": {
+ "type": "integer"
+ },
+ "StreamId": {
+ "type": "string"
+ },
+ "VpcInterfaceName": {
+ "type": "string"
+ },
+ "WhitelistCidr": {
+ "type": "string"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/IngestIp",
+ "/properties/SourceArn",
+ "/properties/SourceIngestPort"
+ ],
+ "required": [
+ "Name",
+ "Description"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-mediaconnect.git",
+ "typeName": "AWS::MediaConnect::FlowSource"
+}
diff --git a/src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-domain.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-domain.json
similarity index 99%
rename from src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-domain.json
rename to src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-domain.json
index 9bb8b441f8..f6f11084f6 100644
--- a/src/cfnlint/data/schemas/providers/us_west_2/aws-sagemaker-domain.json
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-domain.json
@@ -16,7 +16,7 @@
"items": {
"$ref": "#/definitions/CustomImage"
},
- "maxItems": 30,
+ "maxItems": 200,
"minItems": 0,
"type": "array",
"uniqueItems": false
@@ -195,10 +195,11 @@
"insertionOrder": false,
"items": {
"maxLength": 12,
- "pattern": "^[0-9]$",
+ "minLength": 12,
+ "pattern": "^\\d+$",
"type": "string"
},
- "maxItems": 10,
+ "maxItems": 20,
"minItems": 0,
"type": "array",
"uniqueItems": false
@@ -269,7 +270,7 @@
"items": {
"$ref": "#/definitions/CustomImage"
},
- "maxItems": 30,
+ "maxItems": 200,
"minItems": 0,
"type": "array",
"uniqueItems": false
@@ -306,7 +307,7 @@
"items": {
"$ref": "#/definitions/CustomImage"
},
- "maxItems": 30,
+ "maxItems": 200,
"minItems": 0,
"type": "array",
"uniqueItems": false
@@ -325,7 +326,7 @@
"items": {
"$ref": "#/definitions/CustomImage"
},
- "maxItems": 30,
+ "maxItems": 200,
"minItems": 0,
"type": "array",
"uniqueItems": false
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-userprofile.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-userprofile.json
new file mode 100644
index 0000000000..f7e1db12f6
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-sagemaker-userprofile.json
@@ -0,0 +1,535 @@
+{
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/DomainId",
+ "/properties/UserProfileName",
+ "/properties/SingleSignOnUserIdentifier",
+ "/properties/SingleSignOnUserValue",
+ "/properties/UserSettings/RStudioServerProAppSettings/AccessStatus",
+ "/properties/UserSettings/RStudioServerProAppSettings/UserGroup",
+ "/properties/Tags"
+ ],
+ "definitions": {
+ "CodeEditorAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "CodeRepository": {
+ "additionalProperties": false,
+ "properties": {
+ "RepositoryUrl": {
+ "maxLength": 256,
+ "pattern": "^https://([.\\-_a-zA-Z0-9]+/?){3,1016}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "RepositoryUrl"
+ ],
+ "type": "object"
+ },
+ "CustomFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "EFSFileSystemConfig": {
+ "$ref": "#/definitions/EFSFileSystemConfig"
+ }
+ },
+ "type": "object"
+ },
+ "CustomImage": {
+ "additionalProperties": false,
+ "properties": {
+ "AppImageConfigName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}",
+ "type": "string"
+ },
+ "ImageName": {
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]([-.]?[a-zA-Z0-9]){0,62}$",
+ "type": "string"
+ },
+ "ImageVersionNumber": {
+ "minimum": 0,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "AppImageConfigName",
+ "ImageName"
+ ],
+ "type": "object"
+ },
+ "CustomPosixUserConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "Gid": {
+ "maximum": 4000000,
+ "minimum": 1001,
+ "type": "integer"
+ },
+ "Uid": {
+ "maximum": 4000000,
+ "minimum": 10000,
+ "type": "integer"
+ }
+ },
+ "required": [
+ "Uid",
+ "Gid"
+ ],
+ "type": "object"
+ },
+ "DefaultEbsStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ },
+ "MaximumEbsVolumeSizeInGb": {
+ "$ref": "#/definitions/SpaceEbsVolumeSizeInGb"
+ }
+ },
+ "required": [
+ "DefaultEbsVolumeSizeInGb",
+ "MaximumEbsVolumeSizeInGb"
+ ],
+ "type": "object"
+ },
+ "DefaultSpaceStorageSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultEbsStorageSettings": {
+ "$ref": "#/definitions/DefaultEbsStorageSettings"
+ }
+ },
+ "type": "object"
+ },
+ "EFSFileSystemConfig": {
+ "additionalProperties": false,
+ "properties": {
+ "FileSystemId": {
+ "maxLength": 21,
+ "minLength": 11,
+ "pattern": "^(fs-[0-9a-f]{8,})$",
+ "type": "string"
+ },
+ "FileSystemPath": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^\\/\\S*$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "FileSystemId"
+ ],
+ "type": "object"
+ },
+ "JupyterLabAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeRepositories": {
+ "items": {
+ "$ref": "#/definitions/CodeRepository"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ },
+ "LifecycleConfigArns": {
+ "items": {
+ "$ref": "#/definitions/StudioLifecycleConfigArn"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "type": "object"
+ },
+ "JupyterServerAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "KernelGatewayAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CustomImages": {
+ "items": {
+ "$ref": "#/definitions/CustomImage"
+ },
+ "maxItems": 30,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "DefaultResourceSpec": {
+ "$ref": "#/definitions/ResourceSpec"
+ }
+ },
+ "type": "object"
+ },
+ "RStudioServerProAppSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "AccessStatus": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ },
+ "UserGroup": {
+ "enum": [
+ "R_STUDIO_ADMIN",
+ "R_STUDIO_USER"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "ResourceSpec": {
+ "additionalProperties": false,
+ "properties": {
+ "InstanceType": {
+ "enum": [
+ "system",
+ "ml.t3.micro",
+ "ml.t3.small",
+ "ml.t3.medium",
+ "ml.t3.large",
+ "ml.t3.xlarge",
+ "ml.t3.2xlarge",
+ "ml.m5.large",
+ "ml.m5.xlarge",
+ "ml.m5.2xlarge",
+ "ml.m5.4xlarge",
+ "ml.m5.8xlarge",
+ "ml.m5.12xlarge",
+ "ml.m5.16xlarge",
+ "ml.m5.24xlarge",
+ "ml.c5.large",
+ "ml.c5.xlarge",
+ "ml.c5.2xlarge",
+ "ml.c5.4xlarge",
+ "ml.c5.9xlarge",
+ "ml.c5.12xlarge",
+ "ml.c5.18xlarge",
+ "ml.c5.24xlarge",
+ "ml.p3.2xlarge",
+ "ml.p3.8xlarge",
+ "ml.p3.16xlarge",
+ "ml.g4dn.xlarge",
+ "ml.g4dn.2xlarge",
+ "ml.g4dn.4xlarge",
+ "ml.g4dn.8xlarge",
+ "ml.g4dn.12xlarge",
+ "ml.g4dn.16xlarge",
+ "ml.r5.large",
+ "ml.r5.xlarge",
+ "ml.r5.2xlarge",
+ "ml.r5.4xlarge",
+ "ml.r5.8xlarge",
+ "ml.r5.12xlarge",
+ "ml.r5.16xlarge",
+ "ml.r5.24xlarge",
+ "ml.p3dn.24xlarge",
+ "ml.m5d.large",
+ "ml.m5d.xlarge",
+ "ml.m5d.2xlarge",
+ "ml.m5d.4xlarge",
+ "ml.m5d.8xlarge",
+ "ml.m5d.12xlarge",
+ "ml.m5d.16xlarge",
+ "ml.m5d.24xlarge",
+ "ml.g5.xlarge",
+ "ml.g5.2xlarge",
+ "ml.g5.4xlarge",
+ "ml.g5.8xlarge",
+ "ml.g5.12xlarge",
+ "ml.g5.16xlarge",
+ "ml.g5.24xlarge",
+ "ml.g5.48xlarge",
+ "ml.p4d.24xlarge",
+ "ml.p4de.24xlarge",
+ "ml.geospatial.interactive",
+ "ml.trn1.2xlarge",
+ "ml.trn1.32xlarge",
+ "ml.trn1n.32xlarge"
+ ],
+ "type": "string"
+ },
+ "SageMakerImageArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image/[a-z0-9]([-.]?[a-z0-9])*$",
+ "type": "string"
+ },
+ "SageMakerImageVersionArn": {
+ "maxLength": 256,
+ "pattern": "^arn:aws(-[\\w]+)*:sagemaker:.+:[0-9]{12}:image-version/[a-z0-9]([-.]?[a-z0-9])*/[0-9]+$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SharingSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "NotebookOutputOption": {
+ "enum": [
+ "Allowed",
+ "Disabled"
+ ],
+ "type": "string"
+ },
+ "S3KmsKeyId": {
+ "maxLength": 2048,
+ "pattern": ".*",
+ "type": "string"
+ },
+ "S3OutputPath": {
+ "maxLength": 1024,
+ "pattern": "^(https|s3)://([^/]+)/?(.*)$",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SpaceEbsVolumeSizeInGb": {
+ "maximum": 16384,
+ "minimum": 5,
+ "type": "integer"
+ },
+ "StudioLifecycleConfigArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:studio-lifecycle-config/.*",
+ "type": "string"
+ },
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "UserSettings": {
+ "additionalProperties": false,
+ "properties": {
+ "CodeEditorAppSettings": {
+ "$ref": "#/definitions/CodeEditorAppSettings"
+ },
+ "CustomFileSystemConfigs": {
+ "items": {
+ "$ref": "#/definitions/CustomFileSystemConfig"
+ },
+ "maxItems": 2,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": true
+ },
+ "CustomPosixUserConfig": {
+ "$ref": "#/definitions/CustomPosixUserConfig"
+ },
+ "DefaultLandingUri": {
+ "maxLength": 1023,
+ "type": "string"
+ },
+ "ExecutionRole": {
+ "maxLength": 2048,
+ "minLength": 20,
+ "pattern": "^arn:aws[a-z\\-]*:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+$",
+ "type": "string"
+ },
+ "JupyterLabAppSettings": {
+ "$ref": "#/definitions/JupyterLabAppSettings"
+ },
+ "JupyterServerAppSettings": {
+ "$ref": "#/definitions/JupyterServerAppSettings"
+ },
+ "KernelGatewayAppSettings": {
+ "$ref": "#/definitions/KernelGatewayAppSettings"
+ },
+ "RStudioServerProAppSettings": {
+ "$ref": "#/definitions/RStudioServerProAppSettings"
+ },
+ "SecurityGroups": {
+ "format": "AWS::EC2::SecurityGroup.Ids",
+ "items": {
+ "format": "AWS::EC2::SecurityGroup.GroupId",
+ "maxLength": 32,
+ "pattern": "[-0-9a-zA-Z]+",
+ "type": "string"
+ },
+ "maxItems": 5,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "SharingSettings": {
+ "$ref": "#/definitions/SharingSettings"
+ },
+ "SpaceStorageSettings": {
+ "$ref": "#/definitions/DefaultSpaceStorageSettings"
+ },
+ "StudioWebPortal": {
+ "enum": [
+ "ENABLED",
+ "DISABLED"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sagemaker:CreateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sagemaker:DeleteUserProfile",
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sagemaker:ListUserProfiles"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sagemaker:DescribeUserProfile"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sagemaker:UpdateUserProfile",
+ "sagemaker:DescribeUserProfile",
+ "sagemaker:DescribeImage",
+ "sagemaker:DescribeImageVersion",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/UserProfileName",
+ "/properties/DomainId"
+ ],
+ "properties": {
+ "DomainId": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "SingleSignOnUserIdentifier": {
+ "pattern": "UserName",
+ "type": "string"
+ },
+ "SingleSignOnUserValue": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Tags": {
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 50,
+ "minItems": 0,
+ "type": "array",
+ "uniqueItems": false
+ },
+ "UserProfileArn": {
+ "maxLength": 256,
+ "pattern": "arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:user-profile/.*",
+ "type": "string"
+ },
+ "UserProfileName": {
+ "maxLength": 63,
+ "minLength": 1,
+ "type": "string"
+ },
+ "UserSettings": {
+ "$ref": "#/definitions/UserSettings",
+ "maxItems": 50,
+ "minItems": 0,
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/UserProfileArn"
+ ],
+ "required": [
+ "DomainId",
+ "UserProfileName"
+ ],
+ "typeName": "AWS::SageMaker::UserProfile",
+ "writeOnlyProperties": [
+ "/properties/Tags"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-secretsmanager-secret.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-secretsmanager-secret.json
deleted file mode 100644
index 8cf3aab10e..0000000000
--- a/src/cfnlint/data/schemas/providers/af_south_1/aws-secretsmanager-secret.json
+++ /dev/null
@@ -1,170 +0,0 @@
-{
- "$schema": "https://schema.cloudformation.us-east-1.amazonaws.com/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/Name"
- ],
- "definitions": {
- "GenerateSecretString": {
- "additionalProperties": false,
- "properties": {
- "ExcludeCharacters": {
- "type": "string"
- },
- "ExcludeLowercase": {
- "type": "boolean"
- },
- "ExcludeNumbers": {
- "type": "boolean"
- },
- "ExcludePunctuation": {
- "type": "boolean"
- },
- "ExcludeUppercase": {
- "type": "boolean"
- },
- "GenerateStringKey": {
- "type": "string"
- },
- "IncludeSpace": {
- "type": "boolean"
- },
- "PasswordLength": {
- "type": "integer"
- },
- "RequireEachIncludedType": {
- "type": "boolean"
- },
- "SecretStringTemplate": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "ReplicaRegion": {
- "additionalProperties": false,
- "properties": {
- "KmsKeyId": {
- "type": "string"
- },
- "Region": {
- "type": "string"
- }
- },
- "required": [
- "Region"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "secretsmanager:DescribeSecret",
- "secretsmanager:GetRandomPassword",
- "secretsmanager:CreateSecret",
- "secretsmanager:TagResource"
- ]
- },
- "delete": {
- "permissions": [
- "secretsmanager:DeleteSecret",
- "secretsmanager:DescribeSecret",
- "secretsmanager:RemoveRegionsFromReplication"
- ]
- },
- "list": {
- "permissions": [
- "secretsmanager:ListSecrets"
- ]
- },
- "read": {
- "permissions": [
- "secretsmanager:DescribeSecret",
- "secretsmanager:GetSecretValue"
- ]
- },
- "update": {
- "permissions": [
- "secretsmanager:UpdateSecret",
- "secretsmanager:TagResource",
- "secretsmanager:UntagResource",
- "secretsmanager:GetRandomPassword",
- "secretsmanager:GetSecretValue",
- "secretsmanager:ReplicateSecretToRegions",
- "secretsmanager:RemoveRegionsFromReplication"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Description": {
- "type": "string"
- },
- "GenerateSecretString": {
- "$ref": "#/definitions/GenerateSecretString"
- },
- "Id": {
- "type": "string"
- },
- "KmsKeyId": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "ReplicaRegions": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/ReplicaRegion"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SecretString": {
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-secretsmanager.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::SecretsManager::Secret",
- "writeOnlyProperties": [
- "/properties/SecretString",
- "/properties/GenerateSecretString"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-sso-instance.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-sso-instance.json
new file mode 100644
index 0000000000..26c2ca063a
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-sso-instance.json
@@ -0,0 +1,125 @@
+{
+ "additionalProperties": false,
+ "definitions": {
+ "Tag": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "[\\w+=,.@-]+",
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 0,
+ "pattern": "[\\w+=,.@-]+",
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "sso:CreateInstance",
+ "sso:DescribeInstance",
+ "sso:TagResource",
+ "iam:CreateServiceLinkedRole",
+ "sso:TagInstance",
+ "sso:ListTagsForResource"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "sso:DeleteInstance"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "sso:ListInstances"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "sso:DescribeInstance",
+ "sso:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "sso:UpdateInstance",
+ "sso:TagResource",
+ "sso:UntagResource",
+ "sso:ListTagsForResource",
+ "sso:TagInstance",
+ "sso:DescribeInstance"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/InstanceArn"
+ ],
+ "properties": {
+ "IdentityStoreId": {
+ "maxLength": 64,
+ "minLength": 1,
+ "pattern": "^[a-zA-Z0-9-]*$",
+ "type": "string"
+ },
+ "InstanceArn": {
+ "maxLength": 1224,
+ "minLength": 10,
+ "pattern": "^arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):sso:::instance/(sso)?ins-[a-zA-Z0-9-.]{16}$",
+ "type": "string"
+ },
+ "Name": {
+ "maxLength": 32,
+ "minLength": 1,
+ "pattern": "^[\\w+=,.@-]+$",
+ "type": "string"
+ },
+ "OwnerAccountId": {
+ "maxLength": 12,
+ "minLength": 12,
+ "pattern": "^\\d{12}?$",
+ "type": "string"
+ },
+ "Status": {
+ "enum": [
+ "CREATE_IN_PROGRESS",
+ "DELETE_IN_PROGRESS",
+ "ACTIVE"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/Tag"
+ },
+ "maxItems": 75,
+ "type": "array",
+ "uniqueItems": false
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/InstanceArn",
+ "/properties/OwnerAccountId",
+ "/properties/IdentityStoreId",
+ "/properties/Status"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-sso/aws-sso-instance",
+ "tagging": {
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::SSO::Instance"
+}
diff --git a/src/cfnlint/data/schemas/providers/ca_central_1/aws-iot-policy.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-stepfunctions-activity.json
similarity index 50%
rename from src/cfnlint/data/schemas/providers/ca_central_1/aws-iot-policy.json
rename to src/cfnlint/data/schemas/providers/af_south_1/aws-stepfunctions-activity.json
index 70a8d4861b..7aaf191ed1 100644
--- a/src/cfnlint/data/schemas/providers/ca_central_1/aws-iot-policy.json
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-stepfunctions-activity.json
@@ -1,16 +1,20 @@
{
"additionalProperties": false,
"createOnlyProperties": [
- "/properties/PolicyName"
+ "/properties/Name"
],
"definitions": {
- "Tag": {
+ "TagsEntry": {
"additionalProperties": false,
"properties": {
"Key": {
+ "maxLength": 128,
+ "minLength": 1,
"type": "string"
},
"Value": {
+ "maxLength": 256,
+ "minLength": 1,
"type": "string"
}
},
@@ -24,80 +28,65 @@
"handlers": {
"create": {
"permissions": [
- "iot:CreatePolicy",
- "iot:GetPolicy",
- "iot:TagResource",
- "iot:ListTagsForResource"
+ "states:CreateActivity",
+ "states:TagResource"
]
},
"delete": {
"permissions": [
- "iot:DeletePolicy",
- "iot:GetPolicy",
- "iot:ListPolicyVersions",
- "iot:DeletePolicyVersion"
+ "states:DescribeActivity",
+ "states:DeleteActivity"
]
},
"list": {
"permissions": [
- "iot:ListPolicies"
+ "states:ListActivities"
]
},
"read": {
"permissions": [
- "iot:GetPolicy",
- "iot:ListTagsForResource"
+ "states:DescribeActivity",
+ "states:ListTagsForResource"
]
},
"update": {
"permissions": [
- "iot:GetPolicy",
- "iot:ListPolicyVersions",
- "iot:CreatePolicyVersion",
- "iot:DeletePolicyVersion",
- "iot:SetDefaultPolicyVersion",
- "iot:TagResource",
- "iot:UntagResource",
- "iot:ListTagsForResource"
+ "states:ListTagsForResource",
+ "states:TagResource",
+ "states:UntagResource"
]
}
},
"primaryIdentifier": [
- "/properties/Id"
+ "/properties/Arn"
],
"properties": {
"Arn": {
+ "maxLength": 2048,
+ "minLength": 1,
"type": "string"
},
- "Id": {
- "type": "string"
- },
- "PolicyDocument": {
- "maxLength": 404600,
+ "Name": {
+ "maxLength": 80,
"minLength": 1,
- "type": [
- "object",
- "string"
- ]
- },
- "PolicyName": {
"type": "string"
},
"Tags": {
- "insertionOrder": true,
+ "insertionOrder": false,
"items": {
- "$ref": "#/definitions/Tag"
+ "$ref": "#/definitions/TagsEntry"
},
- "type": "array"
+ "type": "array",
+ "uniqueItems": false
}
},
"readOnlyProperties": [
- "/properties/Arn",
- "/properties/Id"
+ "/properties/Arn"
],
"required": [
- "PolicyDocument"
+ "Name"
],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
"tagging": {
"cloudFormationSystemTags": true,
"tagOnCreate": true,
@@ -105,5 +94,5 @@
"tagUpdatable": true,
"taggable": true
},
- "typeName": "AWS::IoT::Policy"
+ "typeName": "AWS::StepFunctions::Activity"
}
diff --git a/src/cfnlint/data/schemas/providers/af_south_1/aws-stepfunctions-statemachine.json b/src/cfnlint/data/schemas/providers/af_south_1/aws-stepfunctions-statemachine.json
new file mode 100644
index 0000000000..c8a1b0f42e
--- /dev/null
+++ b/src/cfnlint/data/schemas/providers/af_south_1/aws-stepfunctions-statemachine.json
@@ -0,0 +1,256 @@
+{
+ "additionalIdentifiers": [
+ [
+ "/properties/StateMachineName"
+ ]
+ ],
+ "additionalProperties": false,
+ "createOnlyProperties": [
+ "/properties/StateMachineName",
+ "/properties/StateMachineType"
+ ],
+ "definitions": {
+ "CloudWatchLogsLogGroup": {
+ "additionalProperties": false,
+ "properties": {
+ "LogGroupArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "Definition": {
+ "minProperties": 1,
+ "type": "object"
+ },
+ "DefinitionSubstitutions": {
+ "additionalProperties": false,
+ "minProperties": 1,
+ "patternProperties": {
+ ".*": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ },
+ {
+ "type": "boolean"
+ }
+ ]
+ }
+ },
+ "type": "object"
+ },
+ "LogDestination": {
+ "additionalProperties": false,
+ "properties": {
+ "CloudWatchLogsLogGroup": {
+ "$ref": "#/definitions/CloudWatchLogsLogGroup"
+ }
+ },
+ "type": "object"
+ },
+ "LoggingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Destinations": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/LogDestination"
+ },
+ "minItems": 1,
+ "type": "array"
+ },
+ "IncludeExecutionData": {
+ "type": "boolean"
+ },
+ "Level": {
+ "enum": [
+ "ALL",
+ "ERROR",
+ "FATAL",
+ "OFF"
+ ],
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "S3Location": {
+ "additionalProperties": false,
+ "properties": {
+ "Bucket": {
+ "type": "string"
+ },
+ "Key": {
+ "type": "string"
+ },
+ "Version": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "Bucket",
+ "Key"
+ ],
+ "type": "object"
+ },
+ "TagsEntry": {
+ "additionalProperties": false,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ }
+ },
+ "required": [
+ "Key",
+ "Value"
+ ],
+ "type": "object"
+ },
+ "TracingConfiguration": {
+ "additionalProperties": false,
+ "properties": {
+ "Enabled": {
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "handlers": {
+ "create": {
+ "permissions": [
+ "states:CreateStateMachine",
+ "states:DescribeStateMachine",
+ "states:TagResource",
+ "iam:PassRole",
+ "s3:GetObject"
+ ]
+ },
+ "delete": {
+ "permissions": [
+ "states:DeleteStateMachine",
+ "states:DescribeStateMachine"
+ ]
+ },
+ "list": {
+ "permissions": [
+ "states:ListStateMachines"
+ ]
+ },
+ "read": {
+ "permissions": [
+ "states:DescribeStateMachine",
+ "states:ListTagsForResource"
+ ]
+ },
+ "update": {
+ "permissions": [
+ "states:UpdateStateMachine",
+ "states:TagResource",
+ "states:UntagResource",
+ "states:ListTagsForResource",
+ "iam:PassRole"
+ ]
+ }
+ },
+ "primaryIdentifier": [
+ "/properties/Arn"
+ ],
+ "properties": {
+ "Arn": {
+ "maxLength": 2048,
+ "minLength": 1,
+ "type": "string"
+ },
+ "Definition": {
+ "$ref": "#/definitions/Definition"
+ },
+ "DefinitionS3Location": {
+ "$ref": "#/definitions/S3Location"
+ },
+ "DefinitionString": {
+ "maxLength": 1048576,
+ "minLength": 1,
+ "type": "string"
+ },
+ "DefinitionSubstitutions": {
+ "$ref": "#/definitions/DefinitionSubstitutions"
+ },
+ "LoggingConfiguration": {
+ "$ref": "#/definitions/LoggingConfiguration"
+ },
+ "Name": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "RoleArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "StateMachineName": {
+ "maxLength": 80,
+ "minLength": 1,
+ "type": "string"
+ },
+ "StateMachineRevisionId": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string"
+ },
+ "StateMachineType": {
+ "enum": [
+ "STANDARD",
+ "EXPRESS"
+ ],
+ "type": "string"
+ },
+ "Tags": {
+ "insertionOrder": false,
+ "items": {
+ "$ref": "#/definitions/TagsEntry"
+ },
+ "type": "array",
+ "uniqueItems": false
+ },
+ "TracingConfiguration": {
+ "$ref": "#/definitions/TracingConfiguration"
+ }
+ },
+ "readOnlyProperties": [
+ "/properties/Arn",
+ "/properties/Name",
+ "/properties/StateMachineRevisionId"
+ ],
+ "required": [
+ "RoleArn"
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-stepfunctions.git",
+ "tagging": {
+ "cloudFormationSystemTags": true,
+ "tagOnCreate": true,
+ "tagProperty": "/properties/Tags",
+ "tagUpdatable": true,
+ "taggable": true
+ },
+ "typeName": "AWS::StepFunctions::StateMachine",
+ "writeOnlyProperties": [
+ "/properties/Definition",
+ "/properties/DefinitionS3Location",
+ "/properties/DefinitionSubstitutions"
+ ]
+}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
index b1678e0e41..8dfab0dfdd 100644
--- a/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
+++ b/src/cfnlint/data/schemas/providers/ap_east_1/__init__.py
@@ -1,1520 +1,1548 @@
-from typing import List
+from __future__ import annotations
# pylint: disable=too-many-lines
-types = [
- "AWS::CDK::Metadata",
- "Module",
- "AWS::ApiGatewayV2::Integration",
- "AWS::ApiGatewayV2::ApiMapping",
- "AWS::CE::AnomalySubscription",
- "AWS::Shield::DRTAccess",
- "AWS::SSO::Assignment",
- "AWS::Glue::Partition",
- "AWS::RDS::Integration",
- "AWS::EC2::TransitGatewayRouteTablePropagation",
- "AWS::Shield::ProactiveEngagement",
- "AWS::ApiGateway::BasePathMapping",
- "AWS::WAFRegional::GeoMatchSet",
- "AWS::S3::AccessGrantsLocation",
- "AWS::GuardDuty::Filter",
- "AWS::ECS::Service",
- "AWS::ServiceCatalog::PortfolioPrincipalAssociation",
- "AWS::RAM::ResourceShare",
- "AWS::MemoryDB::Cluster",
- "AWS::DMS::ReplicationConfig",
- "AWS::DynamoDB::Table",
+types: list[str] = [
+ "AWS::ACMPCA::Certificate",
+ "AWS::ACMPCA::CertificateAuthority",
+ "AWS::ACMPCA::CertificateAuthorityActivation",
+ "AWS::ACMPCA::Permission",
+ "AWS::ARCZonalShift::ZonalAutoshiftConfiguration",
+ "AWS::AccessAnalyzer::Analyzer",
+ "AWS::AmazonMQ::Broker",
+ "AWS::AmazonMQ::Configuration",
"AWS::AmazonMQ::ConfigurationAssociation",
- "AWS::WAFRegional::IPSet",
- "AWS::EC2::SecurityGroupEgress",
- "AWS::EC2::LocalGatewayRouteTableVPCAssociation",
- "AWS::Config::OrganizationConfigRule",
- "AWS::Glue::DataQualityRuleset",
- "AWS::MediaConnect::Bridge",
- "AWS::Route53Profiles::ProfileAssociation",
- "AWS::Config::ConfigurationRecorder",
- "AWS::EC2::NetworkPerformanceMetricSubscription",
- "AWS::CloudFront::ContinuousDeploymentPolicy",
- "AWS::ECR::ReplicationConfiguration",
- "AWS::AppConfig::ExtensionAssociation",
- "AWS::S3Outposts::AccessPoint",
- "AWS::EC2::IPAMPoolCidr",
- "AWS::IoT::TopicRuleDestination",
+ "AWS::Amplify::App",
"AWS::Amplify::Branch",
- "AWS::Redshift::ClusterSubnetGroup",
- "AWS::RDS::DBInstance",
- "AWS::EC2::VPCDHCPOptionsAssociation",
+ "AWS::Amplify::Domain",
+ "AWS::ApiGateway::Account",
+ "AWS::ApiGateway::ApiKey",
+ "AWS::ApiGateway::Authorizer",
+ "AWS::ApiGateway::BasePathMapping",
+ "AWS::ApiGateway::ClientCertificate",
+ "AWS::ApiGateway::Deployment",
+ "AWS::ApiGateway::DocumentationPart",
+ "AWS::ApiGateway::DocumentationVersion",
+ "AWS::ApiGateway::DomainName",
+ "AWS::ApiGateway::GatewayResponse",
+ "AWS::ApiGateway::Method",
"AWS::ApiGateway::Model",
+ "AWS::ApiGateway::RequestValidator",
+ "AWS::ApiGateway::Resource",
+ "AWS::ApiGateway::RestApi",
+ "AWS::ApiGateway::Stage",
+ "AWS::ApiGateway::UsagePlan",
+ "AWS::ApiGateway::UsagePlanKey",
+ "AWS::ApiGateway::VpcLink",
+ "AWS::ApiGatewayV2::Api",
+ "AWS::ApiGatewayV2::ApiGatewayManagedOverrides",
+ "AWS::ApiGatewayV2::ApiMapping",
+ "AWS::ApiGatewayV2::Authorizer",
+ "AWS::ApiGatewayV2::Deployment",
+ "AWS::ApiGatewayV2::DomainName",
+ "AWS::ApiGatewayV2::Integration",
"AWS::ApiGatewayV2::IntegrationResponse",
- "AWS::EC2::NetworkAcl",
- "AWS::Lambda::EventSourceMapping",
- "AWS::Logs::ResourcePolicy",
- "AWS::ServiceCatalog::LaunchNotificationConstraint",
- "AWS::DMS::InstanceProfile",
- "AWS::IoT::CACertificate",
- "AWS::EC2::NetworkAclEntry",
- "AWS::EC2::NetworkInsightsAccessScopeAnalysis",
- "AWS::Transfer::Certificate",
- "AWS::ApiGateway::DocumentationPart",
- "AWS::Route53Profiles::Profile",
- "AWS::CloudWatch::CompositeAlarm",
- "AWS::Route53Resolver::FirewallDomainList",
- "AWS::Redshift::EndpointAccess",
+ "AWS::ApiGatewayV2::Model",
+ "AWS::ApiGatewayV2::Route",
+ "AWS::ApiGatewayV2::RouteResponse",
+ "AWS::ApiGatewayV2::Stage",
+ "AWS::ApiGatewayV2::VpcLink",
"AWS::AppConfig::Application",
- "AWS::OpsWorks::Stack",
- "AWS::Lambda::Url",
- "AWS::GameLift::Fleet",
- "AWS::DataSync::LocationFSxWindows",
- "AWS::GameLift::Build",
- "AWS::ApiGateway::RequestValidator",
- "AWS::AutoScaling::WarmPool",
+ "AWS::AppConfig::ConfigurationProfile",
+ "AWS::AppConfig::Deployment",
+ "AWS::AppConfig::DeploymentStrategy",
+ "AWS::AppConfig::Environment",
+ "AWS::AppConfig::Extension",
+ "AWS::AppConfig::ExtensionAssociation",
+ "AWS::AppConfig::HostedConfigurationVersion",
+ "AWS::AppMesh::GatewayRoute",
+ "AWS::AppMesh::Mesh",
+ "AWS::AppMesh::Route",
+ "AWS::AppMesh::VirtualGateway",
+ "AWS::AppMesh::VirtualNode",
+ "AWS::AppMesh::VirtualRouter",
+ "AWS::AppMesh::VirtualService",
+ "AWS::AppSync::ApiCache",
+ "AWS::AppSync::ApiKey",
+ "AWS::AppSync::DataSource",
+ "AWS::AppSync::DomainName",
+ "AWS::AppSync::DomainNameApiAssociation",
+ "AWS::AppSync::FunctionConfiguration",
+ "AWS::AppSync::GraphQLApi",
+ "AWS::AppSync::GraphQLSchema",
+ "AWS::AppSync::Resolver",
+ "AWS::AppSync::SourceApiAssociation",
"AWS::ApplicationAutoScaling::ScalableTarget",
- "AWS::ApiGatewayV2::Model",
- "AWS::Config::StoredQuery",
- "AWS::ACMPCA::Permission",
- "AWS::Neptune::DBSubnetGroup",
- "AWS::Cassandra::Keyspace",
- "AWS::Transfer::Server",
- "AWS::ApiGateway::DomainName",
- "AWS::ECS::PrimaryTaskSet",
- "AWS::FMS::ResourceSet",
- "AWS::Cognito::UserPoolDomain",
+ "AWS::ApplicationAutoScaling::ScalingPolicy",
+ "AWS::ApplicationInsights::Application",
+ "AWS::ApplicationSignals::ServiceLevelObjective",
+ "AWS::Athena::DataCatalog",
+ "AWS::Athena::NamedQuery",
+ "AWS::Athena::PreparedStatement",
+ "AWS::Athena::WorkGroup",
"AWS::AutoScaling::AutoScalingGroup",
- "AWS::WAFv2::RegexPatternSet",
- "AWS::EKS::FargateProfile",
- "AWS::Route53::DNSSEC",
- "AWS::Redshift::EndpointAuthorization",
- "AWS::EC2::TransitGatewayRouteTable",
- "AWS::ControlTower::EnabledControl",
- "AWS::S3::AccessGrantsInstance",
- "AWS::Macie::CustomDataIdentifier",
- "AWS::Cognito::IdentityPoolRoleAttachment",
- "AWS::Route53::RecordSet",
- "AWS::EKS::AccessEntry",
- "AWS::ElastiCache::SecurityGroup",
+ "AWS::AutoScaling::LaunchConfiguration",
+ "AWS::AutoScaling::LifecycleHook",
+ "AWS::AutoScaling::ScalingPolicy",
+ "AWS::AutoScaling::ScheduledAction",
+ "AWS::AutoScaling::WarmPool",
+ "AWS::AutoScalingPlans::ScalingPlan",
+ "AWS::Backup::BackupPlan",
+ "AWS::Backup::BackupSelection",
+ "AWS::Backup::BackupVault",
"AWS::Backup::Framework",
- "AWS::OpsWorks::Layer",
- "AWS::CloudTrail::EventDataStore",
- "AWS::KinesisFirehose::DeliveryStream",
- "AWS::EC2::NetworkInsightsAccessScope",
- "AWS::Cognito::UserPoolUserToGroupAttachment",
- "AWS::PCAConnectorAD::DirectoryRegistration",
- "AWS::SageMaker::CodeRepository",
- "AWS::ImageBuilder::Component",
- "AWS::MediaConnect::FlowEntitlement",
- "AWS::Glue::Connection",
- "AWS::AppMesh::Route",
- "AWS::IAM::Group",
- "AWS::Macie::FindingsFilter",
- "AWS::Organizations::ResourcePolicy",
- "AWS::WAFRegional::WebACLAssociation",
- "AWS::EC2::TransitGatewayMulticastGroupSource",
- "AWS::Transfer::Profile",
- "AWS::DataBrew::Recipe",
- "AWS::SSO::Instance",
- "AWS::GameLift::Alias",
- "AWS::AppSync::DomainName",
- "AWS::ApiGateway::UsagePlanKey",
- "AWS::FMS::Policy",
- "AWS::CloudFront::RealtimeLogConfig",
- "AWS::SageMaker::Pipeline",
- "AWS::CloudTrail::Channel",
- "AWS::DocDB::DBInstance",
- "AWS::LakeFormation::DataCellsFilter",
- "AWS::DataSync::LocationHDFS",
- "AWS::Events::Archive",
- "AWS::MSK::Cluster",
- "AWS::SecurityHub::DelegatedAdmin",
- "AWS::ControlTower::EnabledBaseline",
- "AWS::EC2::VPCEndpointConnectionNotification",
- "AWS::CodePipeline::Pipeline",
- "AWS::OpsWorks::Instance",
- "AWS::Config::ConfigurationAggregator",
- "AWS::ImageBuilder::ImagePipeline",
- "AWS::ElasticLoadBalancingV2::ListenerCertificate",
- "AWS::CloudFormation::ModuleVersion",
- "AWS::Cloud9::EnvironmentEC2",
- "AWS::Route53Resolver::ResolverRuleAssociation",
- "AWS::FSx::StorageVirtualMachine",
- "AWS::Synthetics::Canary",
- "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption",
+ "AWS::Backup::ReportPlan",
+ "AWS::Backup::RestoreTestingPlan",
"AWS::Backup::RestoreTestingSelection",
- "AWS::SNS::Subscription",
- "AWS::AppMesh::Mesh",
- "AWS::EC2::NatGateway",
- "AWS::InternetMonitor::Monitor",
- "AWS::Transfer::Workflow",
- "AWS::S3::AccessGrant",
- "AWS::AppConfig::DeploymentStrategy",
- "AWS::Glue::DevEndpoint",
- "AWS::SageMaker::ModelPackage",
- "AWS::WAFRegional::SizeConstraintSet",
- "AWS::EventSchemas::Discoverer",
- "AWS::ElastiCache::UserGroup",
- "AWS::IoT::ThingGroup",
- "AWS::Logs::DeliveryDestination",
- "AWS::ImageBuilder::ImageRecipe",
- "AWS::IoT::SoftwarePackage",
- "AWS::ApiGateway::RestApi",
- "AWS::OpsWorks::ElasticLoadBalancerAttachment",
- "AWS::AppMesh::VirtualService",
- "AWS::S3ObjectLambda::AccessPointPolicy",
- "AWS::NetworkManager::TransitGatewayRegistration",
- "AWS::Amplify::App",
- "AWS::InspectorV2::Filter",
- "AWS::ElastiCache::ReplicationGroup",
- "AWS::StepFunctions::StateMachineAlias",
+ "AWS::BackupGateway::Hypervisor",
+ "AWS::Batch::ComputeEnvironment",
+ "AWS::Batch::JobDefinition",
+ "AWS::Batch::JobQueue",
+ "AWS::Batch::SchedulingPolicy",
+ "AWS::CDK::Metadata",
+ "AWS::CE::AnomalyMonitor",
+ "AWS::CE::AnomalySubscription",
+ "AWS::CE::CostCategory",
+ "AWS::Cassandra::Keyspace",
"AWS::Cassandra::Table",
- "AWS::Cognito::UserPoolResourceServer",
- "AWS::RDS::GlobalCluster",
+ "AWS::CertificateManager::Account",
+ "AWS::CertificateManager::Certificate",
+ "AWS::Chatbot::MicrosoftTeamsChannelConfiguration",
+ "AWS::Chatbot::SlackChannelConfiguration",
+ "AWS::Cloud9::EnvironmentEC2",
+ "AWS::CloudFormation::CustomResource",
+ "AWS::CloudFormation::HookDefaultVersion",
+ "AWS::CloudFormation::HookTypeConfig",
+ "AWS::CloudFormation::HookVersion",
+ "AWS::CloudFormation::Macro",
"AWS::CloudFormation::ModuleDefaultVersion",
- "AWS::CE::CostCategory",
- "AWS::ApplicationSignals::ServiceLevelObjective",
- "AWS::Route53Profiles::ProfileResourceAssociation",
- "AWS::SSO::PermissionSet",
- "AWS::Glue::Job",
- "AWS::ServiceCatalog::CloudFormationProvisionedProduct",
- "AWS::Route53::HostedZone",
- "AWS::EKS::PodIdentityAssociation",
- "AWS::ResourceExplorer2::Index",
- "AWS::Glue::Table",
- "AWS::WAFRegional::WebACL",
- "AWS::Logs::MetricFilter",
- "AWS::Lambda::Function",
- "AWS::SNS::Topic",
- "AWS::Backup::BackupSelection",
- "AWS::DataSync::LocationFSxLustre",
- "AWS::SageMaker::App",
- "AWS::Logs::DeliverySource",
- "AWS::EC2::VPCGatewayAttachment",
- "AWS::CloudTrail::Trail",
- "AWS::EC2::VPNConnectionRoute",
- "AWS::EC2::InternetGateway",
- "AWS::EC2::GatewayRouteTableAssociation",
- "AWS::WAFv2::IPSet",
- "AWS::MediaConnect::BridgeOutput",
- "AWS::SSM::Document",
- "AWS::IAM::Role",
- "AWS::Events::ApiDestination",
- "AWS::DMS::Endpoint",
- "AWS::ElastiCache::ServerlessCache",
+ "AWS::CloudFormation::ModuleVersion",
+ "AWS::CloudFormation::PublicTypeVersion",
+ "AWS::CloudFormation::Publisher",
+ "AWS::CloudFormation::ResourceDefaultVersion",
+ "AWS::CloudFormation::ResourceVersion",
+ "AWS::CloudFormation::Stack",
+ "AWS::CloudFormation::StackSet",
+ "AWS::CloudFormation::TypeActivation",
+ "AWS::CloudFormation::WaitCondition",
+ "AWS::CloudFormation::WaitConditionHandle",
+ "AWS::CloudFront::CachePolicy",
"AWS::CloudFront::CloudFrontOriginAccessIdentity",
- "AWS::CodeStarNotifications::NotificationRule",
- "AWS::SageMaker::EndpointConfig",
- "AWS::AppMesh::GatewayRoute",
- "AWS::ApiGateway::ApiKey",
- "AWS::AutoScaling::LaunchConfiguration",
- "AWS::ApiGateway::ClientCertificate",
- "AWS::KinesisAnalyticsV2::Application",
- "AWS::Lambda::Alias",
- "AWS::Logs::LogAnomalyDetector",
- "AWS::WAF::IPSet",
- "AWS::EC2::TransitGatewayMulticastDomainAssociation",
- "AWS::S3Outposts::Endpoint",
- "AWS::WAF::SizeConstraintSet",
- "AWS::EC2::TransitGatewayRouteTableAssociation",
- "AWS::AppConfig::Environment",
- "AWS::Neptune::EventSubscription",
- "AWS::ImageBuilder::Image",
- "AWS::ElastiCache::SecurityGroupIngress",
- "AWS::WAFRegional::XssMatchSet",
- "AWS::RDS::DBProxyTargetGroup",
- "AWS::CloudWatch::Dashboard",
+ "AWS::CloudFront::ContinuousDeploymentPolicy",
+ "AWS::CloudFront::Distribution",
+ "AWS::CloudFront::Function",
+ "AWS::CloudFront::KeyGroup",
+ "AWS::CloudFront::KeyValueStore",
+ "AWS::CloudFront::MonitoringSubscription",
+ "AWS::CloudFront::OriginAccessControl",
+ "AWS::CloudFront::OriginRequestPolicy",
+ "AWS::CloudFront::PublicKey",
+ "AWS::CloudFront::RealtimeLogConfig",
+ "AWS::CloudFront::ResponseHeadersPolicy",
+ "AWS::CloudFront::StreamingDistribution",
+ "AWS::CloudTrail::Channel",
+ "AWS::CloudTrail::EventDataStore",
+ "AWS::CloudTrail::ResourcePolicy",
+ "AWS::CloudTrail::Trail",
"AWS::CloudWatch::Alarm",
- "AWS::IoT::ThingType",
- "AWS::GuardDuty::Member",
- "AWS::CloudFormation::CustomResource",
- "AWS::FIS::TargetAccountConfiguration",
- "AWS::KinesisAnalytics::ApplicationOutput",
- "AWS::WAFv2::RuleGroup",
- "AWS::SageMaker::ModelPackageGroup",
- "AWS::ElastiCache::ParameterGroup",
- "AWS::NetworkFirewall::LoggingConfiguration",
- "AWS::Glue::Classifier",
- "AWS::CodeDeploy::DeploymentGroup",
- "AWS::SageMaker::InferenceExperiment",
- "AWS::CloudFormation::StackSet",
- "AWS::EC2::Route",
- "AWS::FIS::ExperimentTemplate",
+ "AWS::CloudWatch::AnomalyDetector",
+ "AWS::CloudWatch::CompositeAlarm",
+ "AWS::CloudWatch::Dashboard",
+ "AWS::CloudWatch::InsightRule",
+ "AWS::CloudWatch::MetricStream",
+ "AWS::CodeBuild::Project",
+ "AWS::CodeBuild::ReportGroup",
+ "AWS::CodeBuild::SourceCredential",
"AWS::CodeCommit::Repository",
- "AWS::CloudFormation::HookVersion",
- "AWS::RolesAnywhere::Profile",
- "AWS::XRay::ResourcePolicy",
- "AWS::IoT::ResourceSpecificLogging",
- "AWS::ServiceCatalog::LaunchTemplateConstraint",
- "AWS::WAFv2::LoggingConfiguration",
- "AWS::DynamoDB::GlobalTable",
- "AWS::Backup::BackupPlan",
- "AWS::ImageBuilder::DistributionConfiguration",
- "AWS::LakeFormation::Permissions",
- "AWS::ResourceExplorer2::View",
- "AWS::Glue::DataCatalogEncryptionSettings",
- "AWS::CloudFront::PublicKey",
- "AWS::PCAConnectorAD::Connector",
- "AWS::IdentityStore::Group",
- "AWS::RAM::Permission",
- "AWS::DataSync::Task",
- "AWS::ECS::TaskDefinition",
- "AWS::SageMaker::Model",
- "AWS::MemoryDB::ParameterGroup",
- "AWS::Shield::Protection",
- "AWS::IdentityStore::GroupMembership",
- "AWS::AppSync::FunctionConfiguration",
- "AWS::EC2::SpotFleet",
- "AWS::Glue::SchemaVersion",
- "AWS::SageMaker::Space",
- "AWS::IoT::PolicyPrincipalAttachment",
- "AWS::FMS::NotificationChannel",
- "AWS::MSK::BatchScramSecret",
+ "AWS::CodeDeploy::Application",
+ "AWS::CodeDeploy::DeploymentConfig",
+ "AWS::CodeDeploy::DeploymentGroup",
+ "AWS::CodePipeline::CustomActionType",
+ "AWS::CodePipeline::Pipeline",
+ "AWS::CodePipeline::Webhook",
+ "AWS::CodeStarNotifications::NotificationRule",
+ "AWS::Cognito::IdentityPool",
+ "AWS::Cognito::IdentityPoolPrincipalTag",
+ "AWS::Cognito::IdentityPoolRoleAttachment",
+ "AWS::Cognito::LogDeliveryConfiguration",
+ "AWS::Cognito::UserPool",
+ "AWS::Cognito::UserPoolClient",
+ "AWS::Cognito::UserPoolDomain",
+ "AWS::Cognito::UserPoolGroup",
+ "AWS::Cognito::UserPoolIdentityProvider",
+ "AWS::Cognito::UserPoolResourceServer",
+ "AWS::Cognito::UserPoolRiskConfigurationAttachment",
+ "AWS::Cognito::UserPoolUICustomizationAttachment",
+ "AWS::Cognito::UserPoolUser",
+ "AWS::Cognito::UserPoolUserToGroupAttachment",
+ "AWS::Config::AggregationAuthorization",
+ "AWS::Config::ConfigRule",
+ "AWS::Config::ConfigurationAggregator",
+ "AWS::Config::ConfigurationRecorder",
+ "AWS::Config::ConformancePack",
+ "AWS::Config::DeliveryChannel",
+ "AWS::Config::OrganizationConfigRule",
+ "AWS::Config::RemediationConfiguration",
+ "AWS::Config::StoredQuery",
+ "AWS::ControlTower::EnabledBaseline",
+ "AWS::ControlTower::EnabledControl",
+ "AWS::ControlTower::LandingZone",
+ "AWS::DLM::LifecyclePolicy",
"AWS::DMS::Certificate",
- "AWS::S3::Bucket",
- "AWS::GuardDuty::IPSet",
- "AWS::ServiceDiscovery::HttpNamespace",
- "AWS::EMR::SecurityConfiguration",
- "AWS::CloudWatch::InsightRule",
- "AWS::ApiGateway::UsagePlan",
- "AWS::Batch::SchedulingPolicy",
- "AWS::IoT::Authorizer",
- "AWS::MediaConnect::BridgeSource",
- "AWS::ApiGatewayV2::VpcLink",
- "AWS::IoT::JobTemplate",
- "AWS::ServiceCatalog::PortfolioProductAssociation",
+ "AWS::DMS::DataProvider",
+ "AWS::DMS::Endpoint",
+ "AWS::DMS::EventSubscription",
+ "AWS::DMS::InstanceProfile",
+ "AWS::DMS::MigrationProject",
+ "AWS::DMS::ReplicationConfig",
+ "AWS::DMS::ReplicationInstance",
+ "AWS::DMS::ReplicationSubnetGroup",
+ "AWS::DMS::ReplicationTask",
+ "AWS::DataBrew::Dataset",
+ "AWS::DataBrew::Job",
"AWS::DataBrew::Project",
- "AWS::Athena::WorkGroup",
- "AWS::SageMaker::ImageVersion",
- "AWS::ApiGatewayV2::Api",
- "AWS::Detective::Graph",
- "AWS::ServiceCatalog::PortfolioShare",
- "AWS::ApiGateway::VpcLink",
- "AWS::NetworkManager::CustomerGatewayAssociation",
- "AWS::IAM::ServerCertificate",
- "AWS::IoT::SecurityProfile",
- "AWS::GlobalAccelerator::CrossAccountAttachment",
- "AWS::Events::EventBus",
- "AWS::DocDB::EventSubscription",
- "AWS::SQS::QueueInlinePolicy",
- "AWS::Organizations::Organization",
- "AWS::AutoScalingPlans::ScalingPlan",
- "AWS::SSM::MaintenanceWindowTarget",
- "AWS::ApiGateway::Authorizer",
- "AWS::BackupGateway::Hypervisor",
- "AWS::IAM::Policy",
- "AWS::DataBrew::Schedule",
- "AWS::CloudFormation::Publisher",
- "AWS::RDS::DBSecurityGroupIngress",
- "AWS::SecurityHub::OrganizationConfiguration",
- "AWS::EC2::TransitGatewayMulticastGroupMember",
- "AWS::EC2::VolumeAttachment",
- "AWS::Glue::SecurityConfiguration",
- "AWS::NetworkFirewall::TLSInspectionConfiguration",
+ "AWS::DataBrew::Recipe",
"AWS::DataBrew::Ruleset",
- "AWS::ApplicationInsights::Application",
- "AWS::ECS::ClusterCapacityProviderAssociations",
- "AWS::AppConfig::ConfigurationProfile",
- "AWS::Route53Resolver::FirewallRuleGroup",
- "AWS::MSK::Configuration",
- "AWS::EC2::TransitGateway",
- "AWS::Cognito::UserPoolGroup",
- "AWS::EC2::VPCEndpointServicePermissions",
- "AWS::SSM::MaintenanceWindowTask",
- "AWS::EC2::TransitGatewayMulticastDomain",
- "AWS::VerifiedPermissions::PolicyTemplate",
- "AWS::EKS::Cluster",
- "AWS::CodeBuild::Project",
- "AWS::EFS::FileSystem",
- "AWS::Logs::QueryDefinition",
- "AWS::SecurityHub::ProductSubscription",
- "AWS::IAM::InstanceProfile",
- "AWS::IoT::BillingGroup",
+ "AWS::DataBrew::Schedule",
+ "AWS::DataPipeline::Pipeline",
+ "AWS::DataSync::Agent",
+ "AWS::DataSync::LocationAzureBlob",
+ "AWS::DataSync::LocationEFS",
+ "AWS::DataSync::LocationFSxLustre",
+ "AWS::DataSync::LocationFSxONTAP",
+ "AWS::DataSync::LocationFSxOpenZFS",
+ "AWS::DataSync::LocationFSxWindows",
+ "AWS::DataSync::LocationHDFS",
"AWS::DataSync::LocationNFS",
- "AWS::Amplify::Domain",
- "AWS::KinesisAnalyticsV2::ApplicationOutput",
- "AWS::SageMaker::Domain",
- "AWS::CertificateManager::Certificate",
- "AWS::Glue::SchemaVersionMetadata",
- "AWS::SDB::Domain",
- "AWS::EC2::SubnetRouteTableAssociation",
- "AWS::ServiceCatalog::ServiceActionAssociation",
- "AWS::Cognito::UserPoolUICustomizationAttachment",
- "AWS::SageMaker::NotebookInstanceLifecycleConfig",
- "AWS::ImageBuilder::ContainerRecipe",
- "AWS::EFS::AccessPoint",
- "AWS::Redshift::ClusterSecurityGroupIngress",
- "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation",
- "AWS::ElasticLoadBalancingV2::LoadBalancer",
- "AWS::OpenSearchService::Domain",
- "AWS::ServiceDiscovery::Instance",
- "AWS::Elasticsearch::Domain",
- "AWS::KinesisAnalytics::Application",
- "AWS::ApiGatewayV2::Deployment",
- "AWS::ServiceCatalog::StackSetConstraint",
- "AWS::MemoryDB::User",
- "AWS::EC2::NetworkInterfacePermission",
- "AWS::ServiceCatalog::TagOption",
- "AWS::ServiceDiscovery::PrivateDnsNamespace",
- "AWS::ServiceCatalog::LaunchRoleConstraint",
- "AWS::IoT::RoleAlias",
- "AWS::SageMaker::ModelBiasJobDefinition",
- "AWS::SecretsManager::ResourcePolicy",
- "AWS::CloudFormation::HookDefaultVersion",
- "AWS::Config::ConfigRule",
- "AWS::IoT::SoftwarePackageVersion",
- "AWS::EC2::NetworkInsightsAnalysis",
+ "AWS::DataSync::LocationObjectStorage",
+ "AWS::DataSync::LocationS3",
+ "AWS::DataSync::LocationSMB",
+ "AWS::DataSync::StorageSystem",
+ "AWS::DataSync::Task",
+ "AWS::Detective::Graph",
+ "AWS::Detective::MemberInvitation",
+ "AWS::Detective::OrganizationAdmin",
+ "AWS::DirectoryService::MicrosoftAD",
+ "AWS::DirectoryService::SimpleAD",
+ "AWS::DocDB::DBCluster",
+ "AWS::DocDB::DBClusterParameterGroup",
+ "AWS::DocDB::DBInstance",
+ "AWS::DocDB::DBSubnetGroup",
+ "AWS::DocDB::EventSubscription",
+ "AWS::DocDBElastic::Cluster",
+ "AWS::DynamoDB::GlobalTable",
+ "AWS::DynamoDB::Table",
+ "AWS::EC2::CapacityReservation",
+ "AWS::EC2::CapacityReservationFleet",
+ "AWS::EC2::ClientVpnAuthorizationRule",
+ "AWS::EC2::ClientVpnEndpoint",
"AWS::EC2::ClientVpnRoute",
- "AWS::ImageBuilder::Workflow",
- "AWS::ECS::TaskSet",
- "AWS::AppSync::ApiKey",
- "AWS::CloudFormation::TypeActivation",
- "AWS::ACMPCA::CertificateAuthorityActivation",
- "AWS::GuardDuty::ThreatIntelSet",
- "AWS::WAFRegional::RateBasedRule",
- "AWS::KinesisVideo::SignalingChannel",
- "AWS::Macie::AllowList",
- "AWS::EC2::VPC",
- "AWS::ARCZonalShift::ZonalAutoshiftConfiguration",
- "AWS::MSK::VpcConnection",
- "AWS::DataSync::LocationAzureBlob",
- "AWS::Logs::LogStream",
- "AWS::DMS::ReplicationSubnetGroup",
- "AWS::S3Outposts::Bucket",
- "AWS::Route53::RecordSetGroup",
- "AWS::KinesisAnalytics::ApplicationReferenceDataSource",
- "AWS::EC2::LocalGatewayRoute",
- "AWS::CloudFormation::PublicTypeVersion",
- "AWS::OpsWorks::App",
- "AWS::Kinesis::Stream",
- "AWS::Backup::ReportPlan",
- "AWS::Batch::JobDefinition",
- "AWS::IAM::SAMLProvider",
- "AWS::CloudFront::KeyGroup",
- "AWS::EC2::NetworkInterfaceAttachment",
- "AWS::EC2::TransitGatewayAttachment",
- "AWS::Glue::CustomEntityType",
- "AWS::Cognito::UserPoolUser",
- "AWS::CodeDeploy::DeploymentConfig",
- "AWS::NetworkManager::GlobalNetwork",
- "AWS::StepFunctions::StateMachineVersion",
- "AWS::ServiceCatalogAppRegistry::Application",
- "AWS::NetworkManager::Site",
- "AWS::Glue::Database",
- "AWS::Neptune::DBCluster",
- "AWS::Backup::BackupVault",
+ "AWS::EC2::ClientVpnTargetNetworkAssociation",
"AWS::EC2::CustomerGateway",
- "AWS::IAM::GroupPolicy",
- "AWS::Scheduler::Schedule",
- "AWS::WAF::ByteMatchSet",
- "AWS::Neptune::DBClusterParameterGroup",
- "AWS::EMRServerless::Application",
+ "AWS::EC2::DHCPOptions",
+ "AWS::EC2::EC2Fleet",
+ "AWS::EC2::EIP",
+ "AWS::EC2::EIPAssociation",
+ "AWS::EC2::EgressOnlyInternetGateway",
+ "AWS::EC2::EnclaveCertificateIamRoleAssociation",
+ "AWS::EC2::FlowLog",
+ "AWS::EC2::GatewayRouteTableAssociation",
"AWS::EC2::Host",
- "AWS::Lambda::CodeSigningConfig",
- "AWS::SystemsManagerSAP::Application",
- "AWS::DMS::ReplicationTask",
+ "AWS::EC2::IPAM",
+ "AWS::EC2::IPAMAllocation",
+ "AWS::EC2::IPAMPool",
+ "AWS::EC2::IPAMPoolCidr",
+ "AWS::EC2::IPAMResourceDiscovery",
+ "AWS::EC2::IPAMResourceDiscoveryAssociation",
+ "AWS::EC2::IPAMScope",
+ "AWS::EC2::Instance",
+ "AWS::EC2::InstanceConnectEndpoint",
+ "AWS::EC2::InternetGateway",
+ "AWS::EC2::KeyPair",
+ "AWS::EC2::LaunchTemplate",
+ "AWS::EC2::LocalGatewayRoute",
+ "AWS::EC2::LocalGatewayRouteTable",
+ "AWS::EC2::LocalGatewayRouteTableVPCAssociation",
+ "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation",
+ "AWS::EC2::NatGateway",
+ "AWS::EC2::NetworkAcl",
+ "AWS::EC2::NetworkAclEntry",
+ "AWS::EC2::NetworkInsightsAccessScope",
+ "AWS::EC2::NetworkInsightsAccessScopeAnalysis",
+ "AWS::EC2::NetworkInsightsAnalysis",
+ "AWS::EC2::NetworkInsightsPath",
+ "AWS::EC2::NetworkInterface",
+ "AWS::EC2::NetworkInterfaceAttachment",
+ "AWS::EC2::NetworkInterfacePermission",
+ "AWS::EC2::NetworkPerformanceMetricSubscription",
+ "AWS::EC2::PlacementGroup",
+ "AWS::EC2::PrefixList",
+ "AWS::EC2::Route",
"AWS::EC2::RouteTable",
- "AWS::MediaConnect::Gateway",
- "AWS::RDS::DBProxyEndpoint",
- "AWS::DataSync::LocationSMB",
- "AWS::ResilienceHub::App",
- "AWS::SecurityHub::Standard",
- "AWS::RolesAnywhere::CRL",
- "AWS::SNS::TopicInlinePolicy",
- "AWS::Redshift::ClusterParameterGroup",
- "AWS::Organizations::Policy",
- "AWS::Glue::Trigger",
- "AWS::GlobalAccelerator::Listener",
- "AWS::VerifiedPermissions::PolicyStore",
- "AWS::Signer::SigningProfile",
- "AWS::EC2::VPCPeeringConnection",
- "AWS::SNS::TopicPolicy",
- "AWS::MWAA::Environment",
- "AWS::NetworkFirewall::RuleGroup",
- "AWS::DataSync::LocationFSxOpenZFS",
- "AWS::KMS::Key",
- "AWS::Route53Resolver::ResolverDNSSECConfig",
- "AWS::ServiceCatalog::AcceptedPortfolioShare",
- "AWS::Route53Resolver::FirewallRuleGroupAssociation",
- "AWS::Route53Resolver::ResolverQueryLoggingConfig",
+ "AWS::EC2::SecurityGroup",
+ "AWS::EC2::SecurityGroupEgress",
+ "AWS::EC2::SecurityGroupIngress",
"AWS::EC2::SnapshotBlockPublicAccess",
+ "AWS::EC2::SpotFleet",
"AWS::EC2::Subnet",
- "AWS::CloudTrail::ResourcePolicy",
- "AWS::S3ObjectLambda::AccessPoint",
- "AWS::WAF::Rule",
- "AWS::ElasticBeanstalk::ConfigurationTemplate",
- "AWS::SQS::QueuePolicy",
- "AWS::AppSync::DomainNameApiAssociation",
- "AWS::AppSync::ApiCache",
- "AWS::ApiGateway::Account",
- "AWS::WAFv2::WebACL",
- "AWS::GlobalAccelerator::EndpointGroup",
+ "AWS::EC2::SubnetCidrBlock",
+ "AWS::EC2::SubnetNetworkAclAssociation",
+ "AWS::EC2::SubnetRouteTableAssociation",
+ "AWS::EC2::TrafficMirrorFilter",
+ "AWS::EC2::TrafficMirrorFilterRule",
+ "AWS::EC2::TrafficMirrorSession",
+ "AWS::EC2::TrafficMirrorTarget",
+ "AWS::EC2::TransitGateway",
+ "AWS::EC2::TransitGatewayAttachment",
"AWS::EC2::TransitGatewayConnect",
- "AWS::EC2::SecurityGroup",
- "AWS::EC2::CapacityReservationFleet",
- "AWS::OpsWorks::Volume",
- "AWS::IAM::UserToGroupAddition",
- "AWS::Events::Rule",
- "AWS::CloudFront::KeyValueStore",
- "AWS::GuardDuty::MalwareProtectionPlan",
- "AWS::DataBrew::Dataset",
+ "AWS::EC2::TransitGatewayMulticastDomain",
+ "AWS::EC2::TransitGatewayMulticastDomainAssociation",
+ "AWS::EC2::TransitGatewayMulticastGroupMember",
+ "AWS::EC2::TransitGatewayMulticastGroupSource",
+ "AWS::EC2::TransitGatewayPeeringAttachment",
+ "AWS::EC2::TransitGatewayRoute",
+ "AWS::EC2::TransitGatewayRouteTable",
+ "AWS::EC2::TransitGatewayRouteTableAssociation",
+ "AWS::EC2::TransitGatewayRouteTablePropagation",
+ "AWS::EC2::TransitGatewayVpcAttachment",
+ "AWS::EC2::VPC",
+ "AWS::EC2::VPCCidrBlock",
+ "AWS::EC2::VPCDHCPOptionsAssociation",
+ "AWS::EC2::VPCEndpoint",
+ "AWS::EC2::VPCEndpointConnectionNotification",
+ "AWS::EC2::VPCEndpointService",
+ "AWS::EC2::VPCEndpointServicePermissions",
+ "AWS::EC2::VPCGatewayAttachment",
+ "AWS::EC2::VPCPeeringConnection",
+ "AWS::EC2::VPNConnection",
+ "AWS::EC2::VPNConnectionRoute",
+ "AWS::EC2::VPNGateway",
"AWS::EC2::VPNGatewayRoutePropagation",
- "AWS::Glue::Crawler",
- "AWS::CloudFront::Function",
- "AWS::ApiGateway::Method",
- "AWS::WAFRegional::RegexPatternSet",
- "AWS::SSM::PatchBaseline",
- "AWS::ServiceDiscovery::Service",
- "AWS::CloudFront::MonitoringSubscription",
+ "AWS::EC2::Volume",
+ "AWS::EC2::VolumeAttachment",
+ "AWS::ECR::PullThroughCacheRule",
+ "AWS::ECR::RegistryPolicy",
+ "AWS::ECR::ReplicationConfiguration",
+ "AWS::ECR::Repository",
+ "AWS::ECR::RepositoryCreationTemplate",
+ "AWS::ECS::CapacityProvider",
+ "AWS::ECS::Cluster",
+ "AWS::ECS::ClusterCapacityProviderAssociations",
+ "AWS::ECS::PrimaryTaskSet",
+ "AWS::ECS::Service",
+ "AWS::ECS::TaskDefinition",
+ "AWS::ECS::TaskSet",
+ "AWS::EFS::AccessPoint",
+ "AWS::EFS::FileSystem",
"AWS::EFS::MountTarget",
- "AWS::EC2::VPNConnection",
- "AWS::WAF::WebACL",
- "AWS::ServiceDiscovery::PublicDnsNamespace",
- "AWS::Shield::ProtectionGroup",
- "AWS::IAM::User",
- "AWS::EMR::InstanceGroupConfig",
- "AWS::MediaConnect::Flow",
- "AWS::StepFunctions::Activity",
- "AWS::SageMaker::Project",
- "AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation",
- "AWS::Logs::AccountPolicy",
- "AWS::S3::BucketPolicy",
- "AWS::AppSync::GraphQLSchema",
- "AWS::IoT::CustomMetric",
- "AWS::Redshift::Cluster",
- "AWS::CodeBuild::SourceCredential",
- "AWS::EMR::InstanceFleetConfig",
+ "AWS::EKS::AccessEntry",
+ "AWS::EKS::Addon",
+ "AWS::EKS::Cluster",
+ "AWS::EKS::FargateProfile",
+ "AWS::EKS::IdentityProviderConfig",
+ "AWS::EKS::Nodegroup",
+ "AWS::EKS::PodIdentityAssociation",
"AWS::EMR::Cluster",
- "AWS::CodePipeline::Webhook",
- "AWS::ApiGatewayV2::DomainName",
- "AWS::RDS::DBCluster",
- "AWS::ServiceCatalog::ResourceUpdateConstraint",
- "AWS::Transfer::Agreement",
- "AWS::Chatbot::SlackChannelConfiguration",
- "AWS::CloudFront::Distribution",
- "AWS::ElastiCache::SubnetGroup",
- "AWS::XRay::Group",
- "AWS::Oam::Link",
- "AWS::IoT::DomainConfiguration",
- "AWS::SageMaker::Endpoint",
- "AWS::ElasticLoadBalancingV2::TrustStoreRevocation",
- "AWS::NetworkFirewall::Firewall",
- "AWS::EventSchemas::Schema",
- "AWS::KMS::ReplicaKey",
- "AWS::Redshift::ClusterSecurityGroup",
- "AWS::Route53::CidrCollection",
- "AWS::ECR::PullThroughCacheRule",
- "AWS::Glue::MLTransform",
- "AWS::AppConfig::HostedConfigurationVersion",
- "AWS::DataSync::LocationEFS",
- "AWS::EC2::LocalGatewayRouteTable",
- "AWS::ApiGateway::Resource",
- "AWS::SageMaker::AppImageConfig",
- "AWS::Macie::Session",
- "AWS::ElasticLoadBalancingV2::TargetGroup",
- "AWS::ApplicationAutoScaling::ScalingPolicy",
- "AWS::Pipes::Pipe",
+ "AWS::EMR::InstanceFleetConfig",
+ "AWS::EMR::InstanceGroupConfig",
+ "AWS::EMR::SecurityConfiguration",
+ "AWS::EMR::Step",
+ "AWS::EMR::Studio",
"AWS::EMR::StudioSessionMapping",
- "AWS::CloudFormation::Macro",
- "AWS::SageMaker::Workteam",
- "AWS::Lambda::LayerVersionPermission",
- "AWS::SecretsManager::Secret",
- "AWS::Route53Resolver::ResolverConfig",
+ "AWS::EMRServerless::Application",
+ "AWS::ElastiCache::CacheCluster",
+ "AWS::ElastiCache::ParameterGroup",
+ "AWS::ElastiCache::ReplicationGroup",
+ "AWS::ElastiCache::SecurityGroup",
+ "AWS::ElastiCache::SecurityGroupIngress",
+ "AWS::ElastiCache::ServerlessCache",
+ "AWS::ElastiCache::SubnetGroup",
"AWS::ElastiCache::User",
- "AWS::Neptune::DBInstance",
- "AWS::SageMaker::Image",
- "AWS::Logs::SubscriptionFilter",
- "AWS::CodeDeploy::Application",
- "AWS::DMS::EventSubscription",
- "AWS::IoT::TopicRule",
- "AWS::LakeFormation::PrincipalPermissions",
- "AWS::DataSync::LocationS3",
- "AWS::AutoScaling::LifecycleHook",
+ "AWS::ElastiCache::UserGroup",
+ "AWS::ElasticBeanstalk::Application",
+ "AWS::ElasticBeanstalk::ApplicationVersion",
+ "AWS::ElasticBeanstalk::ConfigurationTemplate",
+ "AWS::ElasticBeanstalk::Environment",
+ "AWS::ElasticLoadBalancing::LoadBalancer",
+ "AWS::ElasticLoadBalancingV2::Listener",
+ "AWS::ElasticLoadBalancingV2::ListenerCertificate",
+ "AWS::ElasticLoadBalancingV2::ListenerRule",
+ "AWS::ElasticLoadBalancingV2::LoadBalancer",
+ "AWS::ElasticLoadBalancingV2::TargetGroup",
+ "AWS::ElasticLoadBalancingV2::TrustStore",
+ "AWS::ElasticLoadBalancingV2::TrustStoreRevocation",
+ "AWS::Elasticsearch::Domain",
+ "AWS::EventSchemas::Discoverer",
+ "AWS::EventSchemas::Registry",
+ "AWS::EventSchemas::RegistryPolicy",
+ "AWS::EventSchemas::Schema",
+ "AWS::Events::ApiDestination",
+ "AWS::Events::Archive",
+ "AWS::Events::Connection",
+ "AWS::Events::EventBus",
+ "AWS::Events::EventBusPolicy",
+ "AWS::Events::Rule",
+ "AWS::FIS::ExperimentTemplate",
+ "AWS::FIS::TargetAccountConfiguration",
+ "AWS::FMS::NotificationChannel",
+ "AWS::FMS::Policy",
+ "AWS::FMS::ResourceSet",
"AWS::FSx::DataRepositoryAssociation",
- "AWS::EC2::NetworkInterface",
- "AWS::SageMaker::FeatureGroup",
- "AWS::AppSync::Resolver",
- "AWS::ControlTower::LandingZone",
- "AWS::RolesAnywhere::TrustAnchor",
- "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation",
- "AWS::ImageBuilder::LifecyclePolicy",
- "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource",
- "AWS::Lambda::EventInvokeConfig",
- "AWS::MediaConnect::FlowOutput",
- "AWS::Lambda::LayerVersion",
- "AWS::KinesisVideo::Stream",
- "AWS::RDS::OptionGroup",
- "AWS::OpsWorks::UserProfile",
+ "AWS::FSx::FileSystem",
+ "AWS::FSx::Snapshot",
+ "AWS::FSx::StorageVirtualMachine",
+ "AWS::FSx::Volume",
+ "AWS::GameLift::Alias",
+ "AWS::GameLift::Build",
+ "AWS::GameLift::Fleet",
+ "AWS::GlobalAccelerator::Accelerator",
+ "AWS::GlobalAccelerator::CrossAccountAttachment",
+ "AWS::GlobalAccelerator::EndpointGroup",
+ "AWS::GlobalAccelerator::Listener",
+ "AWS::Glue::Classifier",
+ "AWS::Glue::Connection",
+ "AWS::Glue::Crawler",
+ "AWS::Glue::CustomEntityType",
+ "AWS::Glue::DataCatalogEncryptionSettings",
+ "AWS::Glue::DataQualityRuleset",
+ "AWS::Glue::Database",
+ "AWS::Glue::DevEndpoint",
+ "AWS::Glue::Job",
+ "AWS::Glue::MLTransform",
+ "AWS::Glue::Partition",
+ "AWS::Glue::Registry",
"AWS::Glue::Schema",
- "AWS::DocDB::DBSubnetGroup",
- "AWS::Logs::Delivery",
- "AWS::ServiceCatalog::Portfolio",
- "AWS::IoT::Policy",
- "AWS::EC2::TransitGatewayRoute",
- "AWS::SSM::MaintenanceWindow",
- "AWS::LakeFormation::TagAssociation",
- "AWS::EC2::IPAMResourceDiscovery",
- "AWS::DataSync::StorageSystem",
- "AWS::ImageBuilder::InfrastructureConfiguration",
- "AWS::IoT::Logging",
- "AWS::CloudFormation::WaitCondition",
- "AWS::Route53Resolver::ResolverEndpoint",
- "AWS::IoT::ScheduledAudit",
- "AWS::NetworkManager::Link",
- "AWS::SageMaker::NotebookInstance",
- "AWS::SSO::InstanceAccessControlAttributeConfiguration",
- "AWS::WAFRegional::ByteMatchSet",
- "AWS::CloudWatch::AnomalyDetector",
- "AWS::EC2::SubnetNetworkAclAssociation",
- "AWS::ServiceCatalog::ServiceAction",
- "AWS::DMS::MigrationProject",
+ "AWS::Glue::SchemaVersion",
+ "AWS::Glue::SchemaVersionMetadata",
+ "AWS::Glue::SecurityConfiguration",
+ "AWS::Glue::Table",
+ "AWS::Glue::Trigger",
+ "AWS::Glue::Workflow",
+ "AWS::GuardDuty::Detector",
+ "AWS::GuardDuty::Filter",
+ "AWS::GuardDuty::IPSet",
+ "AWS::GuardDuty::MalwareProtectionPlan",
+ "AWS::GuardDuty::Master",
+ "AWS::GuardDuty::Member",
+ "AWS::GuardDuty::ThreatIntelSet",
+ "AWS::IAM::AccessKey",
+ "AWS::IAM::Group",
+ "AWS::IAM::GroupPolicy",
+ "AWS::IAM::InstanceProfile",
+ "AWS::IAM::ManagedPolicy",
+ "AWS::IAM::OIDCProvider",
+ "AWS::IAM::Policy",
+ "AWS::IAM::Role",
+ "AWS::IAM::RolePolicy",
+ "AWS::IAM::SAMLProvider",
+ "AWS::IAM::ServerCertificate",
+ "AWS::IAM::ServiceLinkedRole",
+ "AWS::IAM::User",
"AWS::IAM::UserPolicy",
- "AWS::CloudFront::OriginAccessControl",
- "AWS::InspectorV2::CisScanConfiguration",
- "AWS::IoT::MitigationAction",
- "AWS::Cognito::UserPool",
- "AWS::SecretsManager::RotationSchedule",
- "AWS::SecurityHub::SecurityControl",
- "AWS::Lambda::Permission",
- "AWS::NetworkFirewall::FirewallPolicy",
- "AWS::EKS::IdentityProviderConfig",
- "AWS::EC2::IPAMResourceDiscoveryAssociation",
- "AWS::ServiceCatalogAppRegistry::AttributeGroup",
- "AWS::EC2::ClientVpnTargetNetworkAssociation",
- "AWS::AppSync::GraphQLApi",
- "AWS::EC2::EgressOnlyInternetGateway",
- "AWS::SecurityHub::Insight",
- "AWS::Config::ConformancePack",
- "AWS::EC2::VPCCidrBlock",
+ "AWS::IAM::UserToGroupAddition",
"AWS::IAM::VirtualMFADevice",
- "AWS::EC2::NetworkInsightsPath",
- "AWS::Neptune::DBParameterGroup",
- "AWS::ACMPCA::CertificateAuthority",
- "AWS::Athena::PreparedStatement",
- "AWS::AutoScaling::ScheduledAction",
- "AWS::ApiGatewayV2::Route",
- "AWS::LakeFormation::Resource",
- "AWS::Detective::MemberInvitation",
- "AWS::EC2::IPAMScope",
- "AWS::SageMaker::DataQualityJobDefinition",
- "AWS::DirectoryService::SimpleAD",
- "AWS::CloudFront::StreamingDistribution",
- "AWS::EC2::VPCEndpoint",
- "AWS::RDS::EventSubscription",
- "AWS::Config::AggregationAuthorization",
- "AWS::DataSync::Agent",
- "AWS::Cognito::UserPoolIdentityProvider",
- "AWS::ResilienceHub::ResiliencyPolicy",
+ "AWS::IdentityStore::Group",
+ "AWS::IdentityStore::GroupMembership",
+ "AWS::ImageBuilder::Component",
+ "AWS::ImageBuilder::ContainerRecipe",
+ "AWS::ImageBuilder::DistributionConfiguration",
+ "AWS::ImageBuilder::Image",
+ "AWS::ImageBuilder::ImagePipeline",
+ "AWS::ImageBuilder::ImageRecipe",
+ "AWS::ImageBuilder::InfrastructureConfiguration",
+ "AWS::ImageBuilder::LifecyclePolicy",
+ "AWS::ImageBuilder::Workflow",
+ "AWS::InspectorV2::CisScanConfiguration",
+ "AWS::InspectorV2::Filter",
+ "AWS::InternetMonitor::Monitor",
+ "AWS::IoT::AccountAuditConfiguration",
+ "AWS::IoT::Authorizer",
+ "AWS::IoT::BillingGroup",
+ "AWS::IoT::CACertificate",
+ "AWS::IoT::Certificate",
+ "AWS::IoT::CertificateProvider",
+ "AWS::IoT::CustomMetric",
"AWS::IoT::Dimension",
- "AWS::Logs::LogGroup",
- "AWS::ECS::Cluster",
- "AWS::EC2::TrafficMirrorFilterRule",
- "AWS::PCAConnectorAD::Template",
- "AWS::EC2::PlacementGroup",
- "AWS::Organizations::Account",
- "AWS::ECR::Repository",
+ "AWS::IoT::DomainConfiguration",
"AWS::IoT::FleetMetric",
- "AWS::MediaConnect::FlowSource",
- "AWS::AppConfig::Extension",
- "AWS::ElasticLoadBalancingV2::ListenerRule",
- "AWS::ElasticLoadBalancingV2::TrustStore",
- "AWS::Glue::Registry",
- "AWS::EC2::KeyPair",
- "AWS::FSx::FileSystem",
- "AWS::EC2::EIPAssociation",
- "AWS::ElasticBeanstalk::Application",
+ "AWS::IoT::JobTemplate",
+ "AWS::IoT::Logging",
+ "AWS::IoT::MitigationAction",
+ "AWS::IoT::Policy",
+ "AWS::IoT::PolicyPrincipalAttachment",
+ "AWS::IoT::ProvisioningTemplate",
+ "AWS::IoT::ResourceSpecificLogging",
+ "AWS::IoT::RoleAlias",
+ "AWS::IoT::ScheduledAudit",
+ "AWS::IoT::SecurityProfile",
+ "AWS::IoT::SoftwarePackage",
+ "AWS::IoT::SoftwarePackageVersion",
+ "AWS::IoT::Thing",
+ "AWS::IoT::ThingGroup",
"AWS::IoT::ThingPrincipalAttachment",
- "AWS::DLM::LifecyclePolicy",
- "AWS::EC2::CapacityReservation",
- "AWS::ElasticLoadBalancing::LoadBalancer",
- "AWS::Transfer::User",
- "AWS::IAM::RolePolicy",
- "AWS::Cognito::IdentityPool",
- "AWS::EC2::TrafficMirrorTarget",
- "AWS::StepFunctions::StateMachine",
- "AWS::RDS::DBClusterParameterGroup",
- "AWS::WAF::XssMatchSet",
- "AWS::AppMesh::VirtualRouter",
- "AWS::IoT::CertificateProvider",
- "AWS::Scheduler::ScheduleGroup",
- "AWS::FSx::Snapshot",
- "AWS::EventSchemas::RegistryPolicy",
- "AWS::Route53::KeySigningKey",
- "AWS::EventSchemas::Registry",
- "AWS::Config::RemediationConfiguration",
- "AWS::Detective::OrganizationAdmin",
- "AWS::Events::Connection",
- "AWS::Athena::DataCatalog",
- "AWS::DocDB::DBCluster",
+ "AWS::IoT::ThingType",
+ "AWS::IoT::TopicRule",
+ "AWS::IoT::TopicRuleDestination",
+ "AWS::KMS::Alias",
+ "AWS::KMS::Key",
+ "AWS::KMS::ReplicaKey",
+ "AWS::Kinesis::Stream",
+ "AWS::Kinesis::StreamConsumer",
+ "AWS::KinesisAnalytics::Application",
+ "AWS::KinesisAnalytics::ApplicationOutput",
+ "AWS::KinesisAnalytics::ApplicationReferenceDataSource",
+ "AWS::KinesisAnalyticsV2::Application",
+ "AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption",
+ "AWS::KinesisAnalyticsV2::ApplicationOutput",
+ "AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource",
+ "AWS::KinesisFirehose::DeliveryStream",
+ "AWS::KinesisVideo::SignalingChannel",
+ "AWS::KinesisVideo::Stream",
+ "AWS::LakeFormation::DataCellsFilter",
+ "AWS::LakeFormation::DataLakeSettings",
+ "AWS::LakeFormation::Permissions",
+ "AWS::LakeFormation::PrincipalPermissions",
+ "AWS::LakeFormation::Resource",
+ "AWS::LakeFormation::Tag",
+ "AWS::LakeFormation::TagAssociation",
+ "AWS::Lambda::Alias",
+ "AWS::Lambda::CodeSigningConfig",
+ "AWS::Lambda::EventInvokeConfig",
+ "AWS::Lambda::EventSourceMapping",
+ "AWS::Lambda::Function",
+ "AWS::Lambda::LayerVersion",
+ "AWS::Lambda::LayerVersionPermission",
+ "AWS::Lambda::Permission",
+ "AWS::Lambda::Url",
+ "AWS::Lambda::Version",
+ "AWS::LaunchWizard::Deployment",
+ "AWS::Logs::AccountPolicy",
+ "AWS::Logs::Delivery",
+ "AWS::Logs::DeliveryDestination",
+ "AWS::Logs::DeliverySource",
+ "AWS::Logs::Destination",
+ "AWS::Logs::LogAnomalyDetector",
+ "AWS::Logs::LogGroup",
+ "AWS::Logs::LogStream",
+ "AWS::Logs::MetricFilter",
+ "AWS::Logs::QueryDefinition",
+ "AWS::Logs::ResourcePolicy",
+ "AWS::Logs::SubscriptionFilter",
+ "AWS::MSK::BatchScramSecret",
+ "AWS::MSK::Cluster",
+ "AWS::MSK::ClusterPolicy",
+ "AWS::MSK::Configuration",
+ "AWS::MSK::VpcConnection",
+ "AWS::MWAA::Environment",
+ "AWS::Macie::AllowList",
+ "AWS::Macie::CustomDataIdentifier",
+ "AWS::Macie::FindingsFilter",
+ "AWS::Macie::Session",
+ "AWS::MediaConnect::Bridge",
+ "AWS::MediaConnect::BridgeOutput",
+ "AWS::MediaConnect::BridgeSource",
+ "AWS::MediaConnect::Flow",
+ "AWS::MediaConnect::FlowEntitlement",
+ "AWS::MediaConnect::FlowOutput",
+ "AWS::MediaConnect::FlowSource",
"AWS::MediaConnect::FlowVpcInterface",
- "AWS::Glue::Workflow",
- "AWS::ApiGatewayV2::Authorizer",
- "AWS::IoT::AccountAuditConfiguration",
- "AWS::SageMaker::UserProfile",
- "AWS::EC2::PrefixList",
- "AWS::EC2::Instance",
+ "AWS::MediaConnect::Gateway",
+ "AWS::MemoryDB::ACL",
+ "AWS::MemoryDB::Cluster",
+ "AWS::MemoryDB::ParameterGroup",
+ "AWS::MemoryDB::SubnetGroup",
+ "AWS::MemoryDB::User",
+ "AWS::Neptune::DBCluster",
+ "AWS::Neptune::DBClusterParameterGroup",
+ "AWS::Neptune::DBInstance",
+ "AWS::Neptune::DBParameterGroup",
+ "AWS::Neptune::DBSubnetGroup",
+ "AWS::Neptune::EventSubscription",
+ "AWS::NetworkFirewall::Firewall",
+ "AWS::NetworkFirewall::FirewallPolicy",
+ "AWS::NetworkFirewall::LoggingConfiguration",
+ "AWS::NetworkFirewall::RuleGroup",
+ "AWS::NetworkFirewall::TLSInspectionConfiguration",
+ "AWS::NetworkManager::CustomerGatewayAssociation",
"AWS::NetworkManager::Device",
- "AWS::EC2::SubnetCidrBlock",
- "AWS::ElasticBeanstalk::ApplicationVersion",
- "AWS::AppMesh::VirtualGateway",
- "AWS::WAF::SqlInjectionMatchSet",
- "AWS::EC2::TransitGatewayVpcAttachment",
- "AWS::EC2::FlowLog",
- "AWS::AmazonMQ::Broker",
- "AWS::EMR::Step",
- "AWS::SSM::Association",
- "AWS::EC2::ClientVpnEndpoint",
- "AWS::CloudFront::ResponseHeadersPolicy",
- "AWS::SecurityHub::AutomationRule",
- "AWS::MSK::ClusterPolicy",
- "AWS::GuardDuty::Master",
- "AWS::KMS::Alias",
- "AWS::XRay::SamplingRule",
- "AWS::Route53Resolver::ResolverRule",
- "AWS::Transfer::Connector",
- "AWS::AppMesh::VirtualNode",
- "AWS::ApiGateway::DocumentationVersion",
- "AWS::WAFv2::WebACLAssociation",
+ "AWS::NetworkManager::GlobalNetwork",
+ "AWS::NetworkManager::Link",
+ "AWS::NetworkManager::LinkAssociation",
+ "AWS::NetworkManager::Site",
+ "AWS::NetworkManager::TransitGatewayRegistration",
+ "AWS::Oam::Link",
"AWS::Oam::Sink",
- "AWS::CodeBuild::ReportGroup",
- "AWS::ApiGateway::GatewayResponse",
- "AWS::EC2::ClientVpnAuthorizationRule",
- "AWS::EC2::EnclaveCertificateIamRoleAssociation",
- "AWS::SSO::Application",
- "AWS::FSx::Volume",
- "AWS::Route53Resolver::OutpostResolver",
- "AWS::ACMPCA::Certificate",
- "AWS::EC2::IPAMAllocation",
- "AWS::WorkSpaces::Workspace",
- "AWS::EMR::Studio",
- "AWS::EC2::InstanceConnectEndpoint",
- "AWS::DirectoryService::MicrosoftAD",
- "AWS::MemoryDB::SubnetGroup",
- "AWS::AppSync::SourceApiAssociation",
- "AWS::DataSync::LocationObjectStorage",
- "AWS::ECS::CapacityProvider",
- "AWS::ElastiCache::CacheCluster",
- "AWS::SageMaker::ModelCard",
- "AWS::Logs::Destination",
- "AWS::EKS::Nodegroup",
+ "AWS::OpenSearchService::Domain",
+ "AWS::OpsWorks::App",
+ "AWS::OpsWorks::ElasticLoadBalancerAttachment",
+ "AWS::OpsWorks::Instance",
+ "AWS::OpsWorks::Layer",
+ "AWS::OpsWorks::Stack",
+ "AWS::OpsWorks::UserProfile",
+ "AWS::OpsWorks::Volume",
+ "AWS::Organizations::Account",
+ "AWS::Organizations::Organization",
"AWS::Organizations::OrganizationalUnit",
- "AWS::AppSync::DataSource",
- "AWS::SQS::Queue",
- "AWS::EC2::SecurityGroupIngress",
- "AWS::GuardDuty::Detector",
- "AWS::SageMaker::ModelQualityJobDefinition",
- "AWS::IoT::ProvisioningTemplate",
- "AWS::ApiGateway::Stage",
- "AWS::Batch::ComputeEnvironment",
- "AWS::DataPipeline::Pipeline",
- "AWS::IoT::Thing",
- "AWS::Route53::HealthCheck",
- "AWS::Events::EventBusPolicy",
- "AWS::Athena::NamedQuery",
- "AWS::EC2::TrafficMirrorFilter",
- "AWS::ApiGateway::Deployment",
- "AWS::WAFRegional::Rule",
- "AWS::LakeFormation::DataLakeSettings",
- "AWS::AutoScaling::ScalingPolicy",
- "AWS::ResourceExplorer2::DefaultViewAssociation",
- "AWS::ECR::RegistryPolicy",
- "AWS::Redshift::ScheduledAction",
- "AWS::RDS::DBSecurityGroup",
- "AWS::ApiGatewayV2::RouteResponse",
- "AWS::CloudWatch::MetricStream",
- "AWS::SSO::ApplicationAssignment",
- "AWS::DMS::DataProvider",
- "AWS::SSM::Parameter",
- "AWS::ApiGatewayV2::ApiGatewayManagedOverrides",
- "AWS::Config::DeliveryChannel",
- "AWS::CertificateManager::Account",
- "AWS::SageMaker::MonitoringSchedule",
- "AWS::IAM::OIDCProvider",
- "AWS::LakeFormation::Tag",
- "AWS::CE::AnomalyMonitor",
- "AWS::ServiceCatalogAppRegistry::ResourceAssociation",
- "AWS::EC2::VPNGateway",
- "AWS::CloudFormation::Stack",
- "AWS::ResourceGroups::Group",
- "AWS::CloudFormation::ResourceDefaultVersion",
- "AWS::Signer::ProfilePermission",
- "AWS::Backup::RestoreTestingPlan",
- "AWS::DocDB::DBClusterParameterGroup",
- "AWS::ServiceCatalog::TagOptionAssociation",
- "AWS::EC2::IPAM",
+ "AWS::Organizations::Policy",
+ "AWS::Organizations::ResourcePolicy",
+ "AWS::PCAConnectorAD::Connector",
+ "AWS::PCAConnectorAD::DirectoryRegistration",
+ "AWS::PCAConnectorAD::ServicePrincipalName",
+ "AWS::PCAConnectorAD::Template",
"AWS::PCAConnectorAD::TemplateGroupAccessControlEntry",
- "AWS::DataBrew::Job",
- "AWS::EC2::TransitGatewayPeeringAttachment",
- "AWS::ECR::RepositoryCreationTemplate",
- "AWS::CloudFront::CachePolicy",
- "AWS::IAM::AccessKey",
+ "AWS::Pipes::Pipe",
+ "AWS::RAM::Permission",
+ "AWS::RAM::ResourceShare",
+ "AWS::RDS::DBCluster",
+ "AWS::RDS::DBClusterParameterGroup",
+ "AWS::RDS::DBInstance",
+ "AWS::RDS::DBParameterGroup",
+ "AWS::RDS::DBProxy",
+ "AWS::RDS::DBProxyEndpoint",
+ "AWS::RDS::DBProxyTargetGroup",
+ "AWS::RDS::DBSecurityGroup",
+ "AWS::RDS::DBSecurityGroupIngress",
"AWS::RDS::DBSubnetGroup",
- "AWS::SecretsManager::SecretTargetAttachment",
- "AWS::AmazonMQ::Configuration",
- "AWS::AppConfig::Deployment",
- "AWS::CodePipeline::CustomActionType",
- "AWS::AccessAnalyzer::Analyzer",
- "AWS::EC2::EC2Fleet",
- "AWS::DMS::ReplicationInstance",
- "AWS::ServiceCatalog::CloudFormationProduct",
- "AWS::EC2::VPCEndpointService",
- "AWS::IAM::ManagedPolicy",
- "AWS::EC2::LaunchTemplate",
- "AWS::CloudFront::OriginRequestPolicy",
- "AWS::DataSync::LocationFSxONTAP",
- "AWS::NetworkManager::LinkAssociation",
- "AWS::Cognito::UserPoolRiskConfigurationAttachment",
- "AWS::PCAConnectorAD::ServicePrincipalName",
- "AWS::ElasticBeanstalk::Environment",
- "AWS::Cognito::UserPoolClient",
- "AWS::WAFRegional::SqlInjectionMatchSet",
- "AWS::Lambda::Version",
- "AWS::EC2::DHCPOptions",
- "AWS::EC2::IPAMPool",
- "AWS::Kinesis::StreamConsumer",
- "AWS::IAM::ServiceLinkedRole",
- "AWS::CloudFormation::HookTypeConfig",
- "AWS::EC2::Volume",
- "AWS::IoT::Certificate",
- "AWS::EC2::EIP",
- "AWS::VerifiedPermissions::Policy",
- "AWS::CloudFormation::ResourceVersion",
- "AWS::SageMaker::ModelExplainabilityJobDefinition",
- "AWS::ApiGatewayV2::Stage",
- "AWS::Chatbot::MicrosoftTeamsChannelConfiguration",
- "AWS::RDS::DBProxy",
- "AWS::RDS::DBParameterGroup",
- "AWS::SecurityHub::Hub",
+ "AWS::RDS::EventSubscription",
+ "AWS::RDS::GlobalCluster",
+ "AWS::RDS::Integration",
+ "AWS::RDS::OptionGroup",
+ "AWS::Redshift::Cluster",
+ "AWS::Redshift::ClusterParameterGroup",
+ "AWS::Redshift::ClusterSecurityGroup",
+ "AWS::Redshift::ClusterSecurityGroupIngress",
+ "AWS::Redshift::ClusterSubnetGroup",
+ "AWS::Redshift::EndpointAccess",
+ "AWS::Redshift::EndpointAuthorization",
+ "AWS::Redshift::EventSubscription",
+ "AWS::Redshift::ScheduledAction",
+ "AWS::ResilienceHub::App",
+ "AWS::ResilienceHub::ResiliencyPolicy",
+ "AWS::ResourceExplorer2::DefaultViewAssociation",
+ "AWS::ResourceExplorer2::Index",
+ "AWS::ResourceExplorer2::View",
+ "AWS::ResourceGroups::Group",
+ "AWS::RolesAnywhere::CRL",
+ "AWS::RolesAnywhere::Profile",
+ "AWS::RolesAnywhere::TrustAnchor",
+ "AWS::Route53::CidrCollection",
+ "AWS::Route53::DNSSEC",
+ "AWS::Route53::HealthCheck",
+ "AWS::Route53::HostedZone",
+ "AWS::Route53::KeySigningKey",
+ "AWS::Route53::RecordSet",
+ "AWS::Route53::RecordSetGroup",
+ "AWS::Route53Profiles::Profile",
+ "AWS::Route53Profiles::ProfileAssociation",
+ "AWS::Route53Profiles::ProfileResourceAssociation",
+ "AWS::Route53Resolver::FirewallDomainList",
+ "AWS::Route53Resolver::FirewallRuleGroup",
+ "AWS::Route53Resolver::FirewallRuleGroupAssociation",
+ "AWS::Route53Resolver::OutpostResolver",
+ "AWS::Route53Resolver::ResolverConfig",
+ "AWS::Route53Resolver::ResolverDNSSECConfig",
+ "AWS::Route53Resolver::ResolverEndpoint",
+ "AWS::Route53Resolver::ResolverQueryLoggingConfig",
+ "AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation",
+ "AWS::Route53Resolver::ResolverRule",
+ "AWS::Route53Resolver::ResolverRuleAssociation",
+ "AWS::S3::AccessGrant",
+ "AWS::S3::AccessGrantsInstance",
+ "AWS::S3::AccessGrantsLocation",
"AWS::S3::AccessPoint",
- "AWS::EC2::TrafficMirrorSession",
+ "AWS::S3::Bucket",
+ "AWS::S3::BucketPolicy",
+ "AWS::S3ObjectLambda::AccessPoint",
+ "AWS::S3ObjectLambda::AccessPointPolicy",
+ "AWS::S3Outposts::AccessPoint",
+ "AWS::S3Outposts::Bucket",
"AWS::S3Outposts::BucketPolicy",
- "AWS::Batch::JobQueue",
- "AWS::ElasticLoadBalancingV2::Listener",
- "AWS::Redshift::EventSubscription",
- "AWS::MemoryDB::ACL",
- "AWS::CloudFormation::WaitConditionHandle",
- "AWS::GlobalAccelerator::Accelerator",
- "AWS::EKS::Addon",
+ "AWS::S3Outposts::Endpoint",
+ "AWS::SDB::Domain",
+ "AWS::SNS::Subscription",
+ "AWS::SNS::Topic",
+ "AWS::SNS::TopicInlinePolicy",
+ "AWS::SNS::TopicPolicy",
+ "AWS::SQS::Queue",
+ "AWS::SQS::QueueInlinePolicy",
+ "AWS::SQS::QueuePolicy",
+ "AWS::SSM::Association",
+ "AWS::SSM::Document",
+ "AWS::SSM::MaintenanceWindow",
+ "AWS::SSM::MaintenanceWindowTarget",
+ "AWS::SSM::MaintenanceWindowTask",
+ "AWS::SSM::Parameter",
+ "AWS::SSM::PatchBaseline",
+ "AWS::SSO::Application",
+ "AWS::SSO::ApplicationAssignment",
+ "AWS::SSO::Assignment",
+ "AWS::SSO::Instance",
+ "AWS::SSO::InstanceAccessControlAttributeConfiguration",
+ "AWS::SSO::PermissionSet",
+ "AWS::SageMaker::App",
+ "AWS::SageMaker::AppImageConfig",
+ "AWS::SageMaker::CodeRepository",
+ "AWS::SageMaker::DataQualityJobDefinition",
+ "AWS::SageMaker::Domain",
+ "AWS::SageMaker::Endpoint",
+ "AWS::SageMaker::EndpointConfig",
+ "AWS::SageMaker::FeatureGroup",
+ "AWS::SageMaker::Image",
+ "AWS::SageMaker::ImageVersion",
+ "AWS::SageMaker::InferenceExperiment",
+ "AWS::SageMaker::Model",
+ "AWS::SageMaker::ModelBiasJobDefinition",
+ "AWS::SageMaker::ModelCard",
+ "AWS::SageMaker::ModelExplainabilityJobDefinition",
+ "AWS::SageMaker::ModelPackage",
+ "AWS::SageMaker::ModelPackageGroup",
+ "AWS::SageMaker::ModelQualityJobDefinition",
+ "AWS::SageMaker::MonitoringSchedule",
+ "AWS::SageMaker::NotebookInstance",
+ "AWS::SageMaker::NotebookInstanceLifecycleConfig",
+ "AWS::SageMaker::Pipeline",
+ "AWS::SageMaker::Project",
+ "AWS::SageMaker::Space",
+ "AWS::SageMaker::UserProfile",
+ "AWS::SageMaker::Workteam",
+ "AWS::Scheduler::Schedule",
+ "AWS::Scheduler::ScheduleGroup",
+ "AWS::SecretsManager::ResourcePolicy",
+ "AWS::SecretsManager::RotationSchedule",
+ "AWS::SecretsManager::Secret",
+ "AWS::SecretsManager::SecretTargetAttachment",
+ "AWS::SecurityHub::AutomationRule",
+ "AWS::SecurityHub::DelegatedAdmin",
+ "AWS::SecurityHub::Hub",
+ "AWS::SecurityHub::Insight",
+ "AWS::SecurityHub::OrganizationConfiguration",
+ "AWS::SecurityHub::ProductSubscription",
+ "AWS::SecurityHub::SecurityControl",
+ "AWS::SecurityHub::Standard",
+ "AWS::ServiceCatalog::AcceptedPortfolioShare",
+ "AWS::ServiceCatalog::CloudFormationProduct",
+ "AWS::ServiceCatalog::CloudFormationProvisionedProduct",
+ "AWS::ServiceCatalog::LaunchNotificationConstraint",
+ "AWS::ServiceCatalog::LaunchRoleConstraint",
+ "AWS::ServiceCatalog::LaunchTemplateConstraint",
+ "AWS::ServiceCatalog::Portfolio",
+ "AWS::ServiceCatalog::PortfolioPrincipalAssociation",
+ "AWS::ServiceCatalog::PortfolioProductAssociation",
+ "AWS::ServiceCatalog::PortfolioShare",
+ "AWS::ServiceCatalog::ResourceUpdateConstraint",
+ "AWS::ServiceCatalog::ServiceAction",
+ "AWS::ServiceCatalog::ServiceActionAssociation",
+ "AWS::ServiceCatalog::StackSetConstraint",
+ "AWS::ServiceCatalog::TagOption",
+ "AWS::ServiceCatalog::TagOptionAssociation",
+ "AWS::ServiceCatalogAppRegistry::Application",
+ "AWS::ServiceCatalogAppRegistry::AttributeGroup",
+ "AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation",
+ "AWS::ServiceCatalogAppRegistry::ResourceAssociation",
+ "AWS::ServiceDiscovery::HttpNamespace",
+ "AWS::ServiceDiscovery::Instance",
+ "AWS::ServiceDiscovery::PrivateDnsNamespace",
+ "AWS::ServiceDiscovery::PublicDnsNamespace",
+ "AWS::ServiceDiscovery::Service",
+ "AWS::Shield::DRTAccess",
+ "AWS::Shield::ProactiveEngagement",
+ "AWS::Shield::Protection",
+ "AWS::Shield::ProtectionGroup",
+ "AWS::Signer::ProfilePermission",
+ "AWS::Signer::SigningProfile",
+ "AWS::StepFunctions::Activity",
+ "AWS::StepFunctions::StateMachine",
+ "AWS::StepFunctions::StateMachineAlias",
+ "AWS::StepFunctions::StateMachineVersion",
+ "AWS::Synthetics::Canary",
+ "AWS::SystemsManagerSAP::Application",
+ "AWS::Transfer::Agreement",
+ "AWS::Transfer::Certificate",
+ "AWS::Transfer::Connector",
+ "AWS::Transfer::Profile",
+ "AWS::Transfer::Server",
+ "AWS::Transfer::User",
+ "AWS::Transfer::Workflow",
+ "AWS::VerifiedPermissions::Policy",
+ "AWS::VerifiedPermissions::PolicyStore",
+ "AWS::VerifiedPermissions::PolicyTemplate",
+ "AWS::WAF::ByteMatchSet",
+ "AWS::WAF::IPSet",
+ "AWS::WAF::Rule",
+ "AWS::WAF::SizeConstraintSet",
+ "AWS::WAF::SqlInjectionMatchSet",
+ "AWS::WAF::WebACL",
+ "AWS::WAF::XssMatchSet",
+ "AWS::WAFRegional::ByteMatchSet",
+ "AWS::WAFRegional::GeoMatchSet",
+ "AWS::WAFRegional::IPSet",
+ "AWS::WAFRegional::RateBasedRule",
+ "AWS::WAFRegional::RegexPatternSet",
+ "AWS::WAFRegional::Rule",
+ "AWS::WAFRegional::SizeConstraintSet",
+ "AWS::WAFRegional::SqlInjectionMatchSet",
+ "AWS::WAFRegional::WebACL",
+ "AWS::WAFRegional::WebACLAssociation",
+ "AWS::WAFRegional::XssMatchSet",
+ "AWS::WAFv2::IPSet",
+ "AWS::WAFv2::LoggingConfiguration",
+ "AWS::WAFv2::RegexPatternSet",
+ "AWS::WAFv2::RuleGroup",
+ "AWS::WAFv2::WebACL",
+ "AWS::WAFv2::WebACLAssociation",
+ "AWS::WorkSpaces::Workspace",
+ "AWS::XRay::Group",
+ "AWS::XRay::ResourcePolicy",
+ "AWS::XRay::SamplingRule",
+ "Module",
]
# pylint: disable=too-many-lines
-cached: List[str] = [
+cached: list[str] = [
"Module",
- "aws-apigatewayv2-integration.json",
- "aws-apigatewayv2-apimapping.json",
- "aws-ce-anomalysubscription.json",
- "aws-shield-drtaccess.json",
- "aws-sso-assignment.json",
- "aws-glue-partition.json",
- "aws-rds-integration.json",
- "aws-ec2-transitgatewayroutetablepropagation.json",
- "aws-shield-proactiveengagement.json",
- "aws-apigateway-basepathmapping.json",
- "aws-s3-accessgrantslocation.json",
- "aws-guardduty-filter.json",
- "aws-ecs-service.json",
- "aws-ram-resourceshare.json",
- "aws-memorydb-cluster.json",
- "aws-dms-replicationconfig.json",
- "aws-dynamodb-table.json",
- "aws-ec2-securitygroupegress.json",
- "aws-ec2-localgatewayroutetablevpcassociation.json",
- "aws-config-organizationconfigrule.json",
- "aws-glue-dataqualityruleset.json",
- "aws-mediaconnect-bridge.json",
- "aws-route53profiles-profileassociation.json",
- "aws-config-configurationrecorder.json",
- "aws-ec2-networkperformancemetricsubscription.json",
- "aws-cloudfront-continuousdeploymentpolicy.json",
- "aws-ecr-replicationconfiguration.json",
- "aws-appconfig-extensionassociation.json",
- "aws-s3outposts-accesspoint.json",
- "aws-ec2-ipampoolcidr.json",
- "aws-iot-topicruledestination.json",
+ "aws-accessanalyzer-analyzer.json",
+ "aws-acmpca-certificate.json",
+ "aws-acmpca-certificateauthority.json",
+ "aws-acmpca-certificateauthorityactivation.json",
+ "aws-acmpca-permission.json",
+ "aws-amazonmq-broker.json",
+ "aws-amazonmq-configuration.json",
+ "aws-amplify-app.json",
"aws-amplify-branch.json",
- "aws-redshift-clustersubnetgroup.json",
- "aws-rds-dbinstance.json",
- "aws-ec2-vpcdhcpoptionsassociation.json",
- "aws-apigateway-model.json",
- "aws-apigatewayv2-integrationresponse.json",
- "aws-ec2-networkacl.json",
- "aws-lambda-eventsourcemapping.json",
- "aws-logs-resourcepolicy.json",
- "aws-servicecatalog-launchnotificationconstraint.json",
- "aws-dms-instanceprofile.json",
- "aws-ec2-networkinsightsaccessscopeanalysis.json",
- "aws-transfer-certificate.json",
- "aws-apigateway-documentationpart.json",
- "aws-route53profiles-profile.json",
- "aws-cloudwatch-compositealarm.json",
- "aws-route53resolver-firewalldomainlist.json",
- "aws-redshift-endpointaccess.json",
- "aws-appconfig-application.json",
- "aws-opsworks-stack.json",
- "aws-lambda-url.json",
- "aws-datasync-locationfsxwindows.json",
- "aws-apigateway-requestvalidator.json",
- "aws-autoscaling-warmpool.json",
- "aws-applicationautoscaling-scalabletarget.json",
- "aws-apigatewayv2-model.json",
- "aws-config-storedquery.json",
- "aws-acmpca-permission.json",
- "aws-neptune-dbsubnetgroup.json",
- "aws-cassandra-keyspace.json",
- "aws-transfer-server.json",
- "aws-apigateway-domainname.json",
- "aws-ecs-primarytaskset.json",
- "aws-fms-resourceset.json",
- "aws-autoscaling-autoscalinggroup.json",
- "aws-wafv2-regexpatternset.json",
- "aws-eks-fargateprofile.json",
- "aws-route53-dnssec.json",
- "aws-redshift-endpointauthorization.json",
- "aws-ec2-transitgatewayroutetable.json",
- "aws-controltower-enabledcontrol.json",
- "aws-s3-accessgrantsinstance.json",
- "aws-macie-customdataidentifier.json",
- "aws-route53-recordset.json",
- "aws-eks-accessentry.json",
- "aws-elasticache-securitygroup.json",
- "aws-backup-framework.json",
- "aws-opsworks-layer.json",
- "aws-kinesisfirehose-deliverystream.json",
- "aws-ec2-networkinsightsaccessscope.json",
- "aws-pcaconnectorad-directoryregistration.json",
- "aws-sagemaker-coderepository.json",
- "aws-imagebuilder-component.json",
- "aws-mediaconnect-flowentitlement.json",
- "aws-glue-connection.json",
- "aws-appmesh-route.json",
- "aws-iam-group.json",
- "aws-macie-findingsfilter.json",
- "aws-organizations-resourcepolicy.json",
- "aws-wafregional-webaclassociation.json",
- "aws-ec2-transitgatewaymulticastgroupsource.json",
- "aws-transfer-profile.json",
- "aws-databrew-recipe.json",
- "aws-sso-instance.json",
- "aws-appsync-domainname.json",
- "aws-apigateway-usageplankey.json",
- "aws-fms-policy.json",
- "aws-cloudfront-realtimelogconfig.json",
- "aws-sagemaker-pipeline.json",
- "aws-cloudtrail-channel.json",
- "aws-docdb-dbinstance.json",
- "aws-lakeformation-datacellsfilter.json",
- "aws-datasync-locationhdfs.json",
- "aws-events-archive.json",
- "aws-msk-cluster.json",
- "aws-securityhub-delegatedadmin.json",
- "aws-controltower-enabledbaseline.json",
- "aws-ec2-vpcendpointconnectionnotification.json",
- "aws-codepipeline-pipeline.json",
- "aws-opsworks-instance.json",
- "aws-config-configurationaggregator.json",
- "aws-imagebuilder-imagepipeline.json",
- "aws-elasticloadbalancingv2-listenercertificate.json",
- "aws-cloudformation-moduleversion.json",
- "aws-cloud9-environmentec2.json",
- "aws-route53resolver-resolverruleassociation.json",
- "aws-fsx-storagevirtualmachine.json",
- "aws-synthetics-canary.json",
- "aws-backup-restoretestingselection.json",
- "aws-sns-subscription.json",
- "aws-appmesh-mesh.json",
- "aws-ec2-natgateway.json",
- "aws-internetmonitor-monitor.json",
- "aws-transfer-workflow.json",
- "aws-s3-accessgrant.json",
- "aws-appconfig-deploymentstrategy.json",
- "aws-glue-devendpoint.json",
- "aws-sagemaker-modelpackage.json",
- "aws-eventschemas-discoverer.json",
- "aws-elasticache-usergroup.json",
- "aws-iot-thinggroup.json",
- "aws-imagebuilder-imagerecipe.json",
- "aws-iot-softwarepackage.json",
- "aws-apigateway-restapi.json",
- "aws-opsworks-elasticloadbalancerattachment.json",
- "aws-appmesh-virtualservice.json",
- "aws-s3objectlambda-accesspointpolicy.json",
- "aws-networkmanager-transitgatewayregistration.json",
- "aws-amplify-app.json",
- "aws-inspectorv2-filter.json",
- "aws-elasticache-replicationgroup.json",
- "aws-stepfunctions-statemachinealias.json",
- "aws-cassandra-table.json",
- "aws-rds-globalcluster.json",
- "aws-cloudformation-moduledefaultversion.json",
- "aws-ce-costcategory.json",
- "aws-applicationsignals-servicelevelobjective.json",
- "aws-route53profiles-profileresourceassociation.json",
- "aws-sso-permissionset.json",
- "aws-glue-job.json",
- "aws-servicecatalog-cloudformationprovisionedproduct.json",
- "aws-route53-hostedzone.json",
- "aws-eks-podidentityassociation.json",
- "aws-resourceexplorer2-index.json",
- "aws-glue-table.json",
- "aws-logs-metricfilter.json",
- "aws-sns-topic.json",
- "aws-backup-backupselection.json",
- "aws-datasync-locationfsxlustre.json",
- "aws-sagemaker-app.json",
- "aws-ec2-vpcgatewayattachment.json",
- "aws-cloudtrail-trail.json",
- "aws-ec2-vpnconnectionroute.json",
- "aws-ec2-internetgateway.json",
- "aws-ec2-gatewayroutetableassociation.json",
- "aws-wafv2-ipset.json",
- "aws-mediaconnect-bridgeoutput.json",
- "aws-ssm-document.json",
- "aws-iam-role.json",
- "aws-dms-endpoint.json",
- "aws-elasticache-serverlesscache.json",
- "aws-cloudfront-cloudfrontoriginaccessidentity.json",
- "aws-codestarnotifications-notificationrule.json",
- "aws-sagemaker-endpointconfig.json",
- "aws-appmesh-gatewayroute.json",
+ "aws-amplify-domain.json",
+ "aws-apigateway-account.json",
"aws-apigateway-apikey.json",
- "aws-autoscaling-launchconfiguration.json",
- "aws-apigateway-clientcertificate.json",
- "aws-kinesisanalyticsv2-application.json",
- "aws-lambda-alias.json",
- "aws-logs-loganomalydetector.json",
- "aws-waf-ipset.json",
- "aws-ec2-transitgatewaymulticastdomainassociation.json",
- "aws-s3outposts-endpoint.json",
- "aws-waf-sizeconstraintset.json",
- "aws-ec2-transitgatewayroutetableassociation.json",
- "aws-appconfig-environment.json",
- "aws-neptune-eventsubscription.json",
- "aws-imagebuilder-image.json",
- "aws-elasticache-securitygroupingress.json",
- "aws-wafregional-xssmatchset.json",
- "aws-rds-dbproxytargetgroup.json",
- "aws-cloudwatch-alarm.json",
- "aws-iot-thingtype.json",
- "aws-guardduty-member.json",
- "aws-cloudformation-customresource.json",
- "aws-fis-targetaccountconfiguration.json",
- "aws-kinesisanalytics-applicationoutput.json",
- "aws-wafv2-rulegroup.json",
- "aws-sagemaker-modelpackagegroup.json",
- "aws-networkfirewall-loggingconfiguration.json",
- "aws-glue-classifier.json",
- "aws-codedeploy-deploymentgroup.json",
- "aws-sagemaker-inferenceexperiment.json",
- "aws-cloudformation-stackset.json",
- "aws-ec2-route.json",
- "aws-fis-experimenttemplate.json",
- "aws-codecommit-repository.json",
- "aws-cloudformation-hookversion.json",
- "aws-rolesanywhere-profile.json",
- "aws-xray-resourcepolicy.json",
- "aws-iot-resourcespecificlogging.json",
- "aws-servicecatalog-launchtemplateconstraint.json",
- "aws-wafv2-loggingconfiguration.json",
- "aws-dynamodb-globaltable.json",
- "aws-backup-backupplan.json",
- "aws-imagebuilder-distributionconfiguration.json",
- "aws-lakeformation-permissions.json",
- "aws-resourceexplorer2-view.json",
- "aws-glue-datacatalogencryptionsettings.json",
- "aws-cloudfront-publickey.json",
- "aws-pcaconnectorad-connector.json",
- "aws-identitystore-group.json",
- "aws-ram-permission.json",
- "aws-datasync-task.json",
- "aws-ecs-taskdefinition.json",
- "aws-sagemaker-model.json",
- "aws-memorydb-parametergroup.json",
- "aws-shield-protection.json",
- "aws-identitystore-groupmembership.json",
- "aws-appsync-functionconfiguration.json",
- "aws-ec2-spotfleet.json",
- "aws-glue-schemaversion.json",
- "aws-sagemaker-space.json",
- "aws-iot-policyprincipalattachment.json",
- "aws-fms-notificationchannel.json",
- "aws-msk-batchscramsecret.json",
- "aws-dms-certificate.json",
- "aws-s3-bucket.json",
- "aws-guardduty-ipset.json",
- "aws-servicediscovery-httpnamespace.json",
- "aws-emr-securityconfiguration.json",
- "aws-cloudwatch-insightrule.json",
- "aws-apigateway-usageplan.json",
- "aws-batch-schedulingpolicy.json",
- "aws-mediaconnect-bridgesource.json",
- "aws-iot-jobtemplate.json",
- "aws-databrew-project.json",
- "aws-athena-workgroup.json",
- "aws-sagemaker-imageversion.json",
- "aws-apigatewayv2-api.json",
- "aws-detective-graph.json",
- "aws-servicecatalog-portfolioshare.json",
- "aws-apigateway-vpclink.json",
- "aws-networkmanager-customergatewayassociation.json",
- "aws-iam-servercertificate.json",
- "aws-iot-securityprofile.json",
- "aws-globalaccelerator-crossaccountattachment.json",
- "aws-events-eventbus.json",
- "aws-docdb-eventsubscription.json",
- "aws-sqs-queueinlinepolicy.json",
- "aws-organizations-organization.json",
- "aws-ssm-maintenancewindowtarget.json",
"aws-apigateway-authorizer.json",
- "aws-backupgateway-hypervisor.json",
- "aws-iam-policy.json",
- "aws-databrew-schedule.json",
- "aws-cloudformation-publisher.json",
- "aws-rds-dbsecuritygroupingress.json",
- "aws-securityhub-organizationconfiguration.json",
- "aws-ec2-transitgatewaymulticastgroupmember.json",
- "aws-ec2-volumeattachment.json",
- "aws-glue-securityconfiguration.json",
- "aws-networkfirewall-tlsinspectionconfiguration.json",
- "aws-databrew-ruleset.json",
- "aws-applicationinsights-application.json",
- "aws-ecs-clustercapacityproviderassociations.json",
- "aws-appconfig-configurationprofile.json",
- "aws-route53resolver-firewallrulegroup.json",
- "aws-msk-configuration.json",
- "aws-ec2-transitgateway.json",
- "aws-ec2-vpcendpointservicepermissions.json",
- "aws-ssm-maintenancewindowtask.json",
- "aws-ec2-transitgatewaymulticastdomain.json",
- "aws-verifiedpermissions-policytemplate.json",
- "aws-eks-cluster.json",
- "aws-codebuild-project.json",
- "aws-efs-filesystem.json",
- "aws-logs-querydefinition.json",
- "aws-securityhub-productsubscription.json",
- "aws-iam-instanceprofile.json",
- "aws-iot-billinggroup.json",
- "aws-datasync-locationnfs.json",
- "aws-amplify-domain.json",
- "aws-kinesisanalyticsv2-applicationoutput.json",
- "aws-sagemaker-domain.json",
- "aws-certificatemanager-certificate.json",
- "aws-glue-schemaversionmetadata.json",
- "aws-sdb-domain.json",
- "aws-ec2-subnetroutetableassociation.json",
- "aws-servicecatalog-serviceactionassociation.json",
- "aws-sagemaker-notebookinstancelifecycleconfig.json",
- "aws-imagebuilder-containerrecipe.json",
- "aws-efs-accesspoint.json",
- "aws-redshift-clustersecuritygroupingress.json",
- "aws-servicecatalogappregistry-attributegroupassociation.json",
- "aws-elasticloadbalancingv2-loadbalancer.json",
- "aws-opensearchservice-domain.json",
- "aws-servicediscovery-instance.json",
- "aws-elasticsearch-domain.json",
- "aws-apigatewayv2-deployment.json",
- "aws-servicecatalog-stacksetconstraint.json",
- "aws-memorydb-user.json",
- "aws-ec2-networkinterfacepermission.json",
- "aws-servicecatalog-tagoption.json",
- "aws-servicediscovery-privatednsnamespace.json",
- "aws-servicecatalog-launchroleconstraint.json",
- "aws-sagemaker-modelbiasjobdefinition.json",
- "aws-secretsmanager-resourcepolicy.json",
- "aws-cloudformation-hookdefaultversion.json",
- "aws-config-configrule.json",
- "aws-iot-softwarepackageversion.json",
- "aws-ec2-networkinsightsanalysis.json",
- "aws-ec2-clientvpnroute.json",
- "aws-imagebuilder-workflow.json",
- "aws-ecs-taskset.json",
+ "aws-apigateway-basepathmapping.json",
+ "aws-apigateway-clientcertificate.json",
+ "aws-apigateway-deployment.json",
+ "aws-apigateway-documentationpart.json",
+ "aws-apigateway-documentationversion.json",
+ "aws-apigateway-domainname.json",
+ "aws-apigateway-gatewayresponse.json",
+ "aws-apigateway-method.json",
+ "aws-apigateway-model.json",
+ "aws-apigateway-requestvalidator.json",
+ "aws-apigateway-resource.json",
+ "aws-apigateway-restapi.json",
+ "aws-apigateway-stage.json",
+ "aws-apigateway-usageplan.json",
+ "aws-apigateway-usageplankey.json",
+ "aws-apigateway-vpclink.json",
+ "aws-apigatewayv2-api.json",
+ "aws-apigatewayv2-apigatewaymanagedoverrides.json",
+ "aws-apigatewayv2-apimapping.json",
+ "aws-apigatewayv2-authorizer.json",
+ "aws-apigatewayv2-deployment.json",
+ "aws-apigatewayv2-domainname.json",
+ "aws-apigatewayv2-integration.json",
+ "aws-apigatewayv2-integrationresponse.json",
+ "aws-apigatewayv2-model.json",
+ "aws-apigatewayv2-route.json",
+ "aws-apigatewayv2-routeresponse.json",
+ "aws-apigatewayv2-stage.json",
+ "aws-appconfig-application.json",
+ "aws-appconfig-configurationprofile.json",
+ "aws-appconfig-deployment.json",
+ "aws-appconfig-deploymentstrategy.json",
+ "aws-appconfig-environment.json",
+ "aws-appconfig-extension.json",
+ "aws-appconfig-extensionassociation.json",
+ "aws-appconfig-hostedconfigurationversion.json",
+ "aws-applicationautoscaling-scalabletarget.json",
+ "aws-applicationautoscaling-scalingpolicy.json",
+ "aws-applicationinsights-application.json",
+ "aws-applicationsignals-servicelevelobjective.json",
+ "aws-appmesh-gatewayroute.json",
+ "aws-appmesh-mesh.json",
+ "aws-appmesh-route.json",
+ "aws-appmesh-virtualgateway.json",
+ "aws-appmesh-virtualnode.json",
+ "aws-appmesh-virtualrouter.json",
+ "aws-appmesh-virtualservice.json",
+ "aws-appsync-apicache.json",
"aws-appsync-apikey.json",
- "aws-cloudformation-typeactivation.json",
- "aws-acmpca-certificateauthorityactivation.json",
- "aws-guardduty-threatintelset.json",
- "aws-kinesisvideo-signalingchannel.json",
- "aws-macie-allowlist.json",
- "aws-ec2-vpc.json",
+ "aws-appsync-datasource.json",
+ "aws-appsync-domainname.json",
+ "aws-appsync-domainnameapiassociation.json",
+ "aws-appsync-functionconfiguration.json",
+ "aws-appsync-graphqlapi.json",
+ "aws-appsync-graphqlschema.json",
+ "aws-appsync-resolver.json",
+ "aws-appsync-sourceapiassociation.json",
"aws-arczonalshift-zonalautoshiftconfiguration.json",
- "aws-msk-vpcconnection.json",
- "aws-datasync-locationazureblob.json",
- "aws-logs-logstream.json",
- "aws-dms-replicationsubnetgroup.json",
- "aws-s3outposts-bucket.json",
- "aws-route53-recordsetgroup.json",
- "aws-ec2-localgatewayroute.json",
- "aws-cloudformation-publictypeversion.json",
- "aws-opsworks-app.json",
- "aws-kinesis-stream.json",
+ "aws-athena-datacatalog.json",
+ "aws-athena-namedquery.json",
+ "aws-athena-preparedstatement.json",
+ "aws-athena-workgroup.json",
+ "aws-autoscaling-autoscalinggroup.json",
+ "aws-autoscaling-launchconfiguration.json",
+ "aws-autoscaling-lifecyclehook.json",
+ "aws-autoscaling-scalingpolicy.json",
+ "aws-autoscaling-scheduledaction.json",
+ "aws-autoscaling-warmpool.json",
+ "aws-backup-backupplan.json",
+ "aws-backup-backupselection.json",
+ "aws-backup-backupvault.json",
+ "aws-backup-framework.json",
"aws-backup-reportplan.json",
+ "aws-backup-restoretestingplan.json",
+ "aws-backup-restoretestingselection.json",
+ "aws-backupgateway-hypervisor.json",
+ "aws-batch-computeenvironment.json",
"aws-batch-jobdefinition.json",
- "aws-iam-samlprovider.json",
+ "aws-batch-jobqueue.json",
+ "aws-batch-schedulingpolicy.json",
+ "aws-cassandra-keyspace.json",
+ "aws-cassandra-table.json",
+ "aws-ce-anomalymonitor.json",
+ "aws-ce-anomalysubscription.json",
+ "aws-ce-costcategory.json",
+ "aws-certificatemanager-account.json",
+ "aws-certificatemanager-certificate.json",
+ "aws-chatbot-microsoftteamschannelconfiguration.json",
+ "aws-chatbot-slackchannelconfiguration.json",
+ "aws-cloud9-environmentec2.json",
+ "aws-cloudformation-customresource.json",
+ "aws-cloudformation-hookdefaultversion.json",
+ "aws-cloudformation-hooktypeconfig.json",
+ "aws-cloudformation-hookversion.json",
+ "aws-cloudformation-macro.json",
+ "aws-cloudformation-moduledefaultversion.json",
+ "aws-cloudformation-moduleversion.json",
+ "aws-cloudformation-publictypeversion.json",
+ "aws-cloudformation-publisher.json",
+ "aws-cloudformation-resourcedefaultversion.json",
+ "aws-cloudformation-resourceversion.json",
+ "aws-cloudformation-stack.json",
+ "aws-cloudformation-stackset.json",
+ "aws-cloudformation-typeactivation.json",
+ "aws-cloudformation-waitcondition.json",
+ "aws-cloudformation-waitconditionhandle.json",
+ "aws-cloudfront-cachepolicy.json",
+ "aws-cloudfront-cloudfrontoriginaccessidentity.json",
+ "aws-cloudfront-continuousdeploymentpolicy.json",
+ "aws-cloudfront-distribution.json",
+ "aws-cloudfront-function.json",
"aws-cloudfront-keygroup.json",
- "aws-ec2-networkinterfaceattachment.json",
- "aws-glue-customentitytype.json",
+ "aws-cloudfront-keyvaluestore.json",
+ "aws-cloudfront-monitoringsubscription.json",
+ "aws-cloudfront-originaccesscontrol.json",
+ "aws-cloudfront-originrequestpolicy.json",
+ "aws-cloudfront-publickey.json",
+ "aws-cloudfront-realtimelogconfig.json",
+ "aws-cloudfront-responseheaderspolicy.json",
+ "aws-cloudtrail-channel.json",
+ "aws-cloudtrail-resourcepolicy.json",
+ "aws-cloudtrail-trail.json",
+ "aws-cloudwatch-alarm.json",
+ "aws-cloudwatch-anomalydetector.json",
+ "aws-cloudwatch-compositealarm.json",
+ "aws-cloudwatch-insightrule.json",
+ "aws-cloudwatch-metricstream.json",
+ "aws-codebuild-project.json",
+ "aws-codebuild-reportgroup.json",
+ "aws-codebuild-sourcecredential.json",
+ "aws-codecommit-repository.json",
+ "aws-codedeploy-application.json",
"aws-codedeploy-deploymentconfig.json",
- "aws-networkmanager-globalnetwork.json",
- "aws-stepfunctions-statemachineversion.json",
- "aws-servicecatalogappregistry-application.json",
- "aws-networkmanager-site.json",
- "aws-glue-database.json",
- "aws-neptune-dbcluster.json",
- "aws-backup-backupvault.json",
+ "aws-codedeploy-deploymentgroup.json",
+ "aws-codepipeline-customactiontype.json",
+ "aws-codepipeline-pipeline.json",
+ "aws-codepipeline-webhook.json",
+ "aws-codestarnotifications-notificationrule.json",
+ "aws-cognito-identitypool.json",
+ "aws-cognito-identitypoolprincipaltag.json",
+ "aws-cognito-identitypoolroleattachment.json",
+ "aws-cognito-logdeliveryconfiguration.json",
+ "aws-cognito-userpool.json",
+ "aws-cognito-userpoolclient.json",
+ "aws-cognito-userpoolgroup.json",
+ "aws-cognito-userpoolidentityprovider.json",
+ "aws-cognito-userpoolriskconfigurationattachment.json",
+ "aws-cognito-userpooluser.json",
+ "aws-cognito-userpoolusertogroupattachment.json",
+ "aws-config-aggregationauthorization.json",
+ "aws-config-configrule.json",
+ "aws-config-configurationaggregator.json",
+ "aws-config-configurationrecorder.json",
+ "aws-config-conformancepack.json",
+ "aws-config-deliverychannel.json",
+ "aws-config-organizationconfigrule.json",
+ "aws-config-remediationconfiguration.json",
+ "aws-config-storedquery.json",
+ "aws-controltower-enabledbaseline.json",
+ "aws-controltower-enabledcontrol.json",
+ "aws-controltower-landingzone.json",
+ "aws-databrew-dataset.json",
+ "aws-databrew-job.json",
+ "aws-databrew-project.json",
+ "aws-databrew-recipe.json",
+ "aws-databrew-ruleset.json",
+ "aws-databrew-schedule.json",
+ "aws-datasync-agent.json",
+ "aws-datasync-locationazureblob.json",
+ "aws-datasync-locationefs.json",
+ "aws-datasync-locationfsxlustre.json",
+ "aws-datasync-locationfsxontap.json",
+ "aws-datasync-locationfsxopenzfs.json",
+ "aws-datasync-locationfsxwindows.json",
+ "aws-datasync-locationhdfs.json",
+ "aws-datasync-locationnfs.json",
+ "aws-datasync-locationobjectstorage.json",
+ "aws-datasync-locations3.json",
+ "aws-datasync-locationsmb.json",
+ "aws-datasync-storagesystem.json",
+ "aws-datasync-task.json",
+ "aws-detective-graph.json",
+ "aws-detective-memberinvitation.json",
+ "aws-detective-organizationadmin.json",
+ "aws-directoryservice-microsoftad.json",
+ "aws-dlm-lifecyclepolicy.json",
+ "aws-dms-certificate.json",
+ "aws-dms-dataprovider.json",
+ "aws-dms-endpoint.json",
+ "aws-dms-eventsubscription.json",
+ "aws-dms-instanceprofile.json",
+ "aws-dms-migrationproject.json",
+ "aws-dms-replicationconfig.json",
+ "aws-dms-replicationinstance.json",
+ "aws-dms-replicationsubnetgroup.json",
+ "aws-dms-replicationtask.json",
+ "aws-docdb-dbcluster.json",
+ "aws-docdb-dbinstance.json",
+ "aws-docdb-dbsubnetgroup.json",
+ "aws-docdb-eventsubscription.json",
+ "aws-docdbelastic-cluster.json",
+ "aws-dynamodb-globaltable.json",
+ "aws-dynamodb-table.json",
+ "aws-ec2-capacityreservation.json",
+ "aws-ec2-capacityreservationfleet.json",
+ "aws-ec2-clientvpnendpoint.json",
+ "aws-ec2-clientvpnroute.json",
+ "aws-ec2-clientvpntargetnetworkassociation.json",
"aws-ec2-customergateway.json",
- "aws-iam-grouppolicy.json",
- "aws-scheduler-schedule.json",
- "aws-waf-bytematchset.json",
- "aws-emrserverless-application.json",
+ "aws-ec2-dhcpoptions.json",
+ "aws-ec2-ec2fleet.json",
+ "aws-ec2-egressonlyinternetgateway.json",
+ "aws-ec2-eip.json",
+ "aws-ec2-eipassociation.json",
+ "aws-ec2-enclavecertificateiamroleassociation.json",
+ "aws-ec2-flowlog.json",
+ "aws-ec2-gatewayroutetableassociation.json",
"aws-ec2-host.json",
- "aws-lambda-codesigningconfig.json",
- "aws-systemsmanagersap-application.json",
- "aws-dms-replicationtask.json",
- "aws-ec2-routetable.json",
- "aws-mediaconnect-gateway.json",
- "aws-rds-dbproxyendpoint.json",
- "aws-datasync-locationsmb.json",
- "aws-resiliencehub-app.json",
- "aws-securityhub-standard.json",
- "aws-rolesanywhere-crl.json",
- "aws-sns-topicinlinepolicy.json",
- "aws-redshift-clusterparametergroup.json",
- "aws-organizations-policy.json",
- "aws-glue-trigger.json",
- "aws-globalaccelerator-listener.json",
- "aws-verifiedpermissions-policystore.json",
- "aws-signer-signingprofile.json",
- "aws-ec2-vpcpeeringconnection.json",
- "aws-sns-topicpolicy.json",
- "aws-mwaa-environment.json",
- "aws-networkfirewall-rulegroup.json",
- "aws-datasync-locationfsxopenzfs.json",
- "aws-kms-key.json",
- "aws-route53resolver-resolverdnssecconfig.json",
- "aws-route53resolver-firewallrulegroupassociation.json",
- "aws-route53resolver-resolverqueryloggingconfig.json",
+ "aws-ec2-instance.json",
+ "aws-ec2-instanceconnectendpoint.json",
+ "aws-ec2-internetgateway.json",
+ "aws-ec2-ipam.json",
+ "aws-ec2-ipamallocation.json",
+ "aws-ec2-ipampool.json",
+ "aws-ec2-ipampoolcidr.json",
+ "aws-ec2-ipamresourcediscovery.json",
+ "aws-ec2-ipamresourcediscoveryassociation.json",
+ "aws-ec2-ipamscope.json",
+ "aws-ec2-keypair.json",
+ "aws-ec2-launchtemplate.json",
+ "aws-ec2-localgatewayroute.json",
+ "aws-ec2-localgatewayroutetable.json",
+ "aws-ec2-localgatewayroutetablevirtualinterfacegroupassociation.json",
+ "aws-ec2-localgatewayroutetablevpcassociation.json",
+ "aws-ec2-natgateway.json",
+ "aws-ec2-networkacl.json",
+ "aws-ec2-networkinsightsaccessscope.json",
+ "aws-ec2-networkinsightsaccessscopeanalysis.json",
+ "aws-ec2-networkinsightsanalysis.json",
+ "aws-ec2-networkinsightspath.json",
+ "aws-ec2-networkinterface.json",
+ "aws-ec2-networkinterfaceattachment.json",
+ "aws-ec2-networkinterfacepermission.json",
+ "aws-ec2-networkperformancemetricsubscription.json",
+ "aws-ec2-placementgroup.json",
+ "aws-ec2-prefixlist.json",
+ "aws-ec2-route.json",
+ "aws-ec2-routetable.json",
+ "aws-ec2-securitygroup.json",
+ "aws-ec2-securitygroupegress.json",
+ "aws-ec2-securitygroupingress.json",
"aws-ec2-snapshotblockpublicaccess.json",
+ "aws-ec2-spotfleet.json",
"aws-ec2-subnet.json",
- "aws-cloudtrail-resourcepolicy.json",
- "aws-s3objectlambda-accesspoint.json",
- "aws-waf-rule.json",
- "aws-elasticbeanstalk-configurationtemplate.json",
- "aws-sqs-queuepolicy.json",
- "aws-appsync-domainnameapiassociation.json",
- "aws-appsync-apicache.json",
- "aws-apigateway-account.json",
- "aws-wafv2-webacl.json",
- "aws-globalaccelerator-endpointgroup.json",
+ "aws-ec2-subnetcidrblock.json",
+ "aws-ec2-subnetnetworkaclassociation.json",
+ "aws-ec2-subnetroutetableassociation.json",
+ "aws-ec2-trafficmirrorfilter.json",
+ "aws-ec2-trafficmirrortarget.json",
+ "aws-ec2-transitgateway.json",
"aws-ec2-transitgatewayconnect.json",
- "aws-ec2-securitygroup.json",
- "aws-ec2-capacityreservationfleet.json",
- "aws-opsworks-volume.json",
- "aws-iam-usertogroupaddition.json",
- "aws-events-rule.json",
- "aws-cloudfront-keyvaluestore.json",
- "aws-guardduty-malwareprotectionplan.json",
- "aws-databrew-dataset.json",
+ "aws-ec2-transitgatewaymulticastdomain.json",
+ "aws-ec2-transitgatewaymulticastdomainassociation.json",
+ "aws-ec2-transitgatewaymulticastgroupmember.json",
+ "aws-ec2-transitgatewaymulticastgroupsource.json",
+ "aws-ec2-transitgatewaypeeringattachment.json",
+ "aws-ec2-transitgatewayroute.json",
+ "aws-ec2-transitgatewayroutetable.json",
+ "aws-ec2-transitgatewayroutetableassociation.json",
+ "aws-ec2-transitgatewayroutetablepropagation.json",
+ "aws-ec2-transitgatewayvpcattachment.json",
+ "aws-ec2-volume.json",
+ "aws-ec2-volumeattachment.json",
+ "aws-ec2-vpc.json",
+ "aws-ec2-vpccidrblock.json",
+ "aws-ec2-vpcdhcpoptionsassociation.json",
+ "aws-ec2-vpcendpoint.json",
+ "aws-ec2-vpcendpointconnectionnotification.json",
+ "aws-ec2-vpcendpointservice.json",
+ "aws-ec2-vpcendpointservicepermissions.json",
+ "aws-ec2-vpcgatewayattachment.json",
+ "aws-ec2-vpcpeeringconnection.json",
+ "aws-ec2-vpnconnection.json",
+ "aws-ec2-vpnconnectionroute.json",
+ "aws-ec2-vpngateway.json",
"aws-ec2-vpngatewayroutepropagation.json",
- "aws-glue-crawler.json",
- "aws-cloudfront-function.json",
- "aws-apigateway-method.json",
- "aws-wafregional-regexpatternset.json",
- "aws-ssm-patchbaseline.json",
- "aws-servicediscovery-service.json",
- "aws-cloudfront-monitoringsubscription.json",
+ "aws-ecr-pullthroughcacherule.json",
+ "aws-ecr-registrypolicy.json",
+ "aws-ecr-replicationconfiguration.json",
+ "aws-ecr-repository.json",
+ "aws-ecr-repositorycreationtemplate.json",
+ "aws-ecs-capacityprovider.json",
+ "aws-ecs-cluster.json",
+ "aws-ecs-clustercapacityproviderassociations.json",
+ "aws-ecs-primarytaskset.json",
+ "aws-ecs-service.json",
+ "aws-ecs-taskdefinition.json",
+ "aws-ecs-taskset.json",
+ "aws-efs-accesspoint.json",
+ "aws-efs-filesystem.json",
"aws-efs-mounttarget.json",
- "aws-ec2-vpnconnection.json",
- "aws-waf-webacl.json",
- "aws-servicediscovery-publicdnsnamespace.json",
- "aws-shield-protectiongroup.json",
- "aws-iam-user.json",
- "aws-emr-instancegroupconfig.json",
- "aws-mediaconnect-flow.json",
- "aws-stepfunctions-activity.json",
- "aws-sagemaker-project.json",
- "aws-ec2-localgatewayroutetablevirtualinterfacegroupassociation.json",
- "aws-logs-accountpolicy.json",
- "aws-s3-bucketpolicy.json",
- "aws-appsync-graphqlschema.json",
- "aws-iot-custommetric.json",
- "aws-redshift-cluster.json",
- "aws-codebuild-sourcecredential.json",
- "aws-emr-instancefleetconfig.json",
- "aws-emr-cluster.json",
- "aws-codepipeline-webhook.json",
- "aws-apigatewayv2-domainname.json",
- "aws-rds-dbcluster.json",
- "aws-servicecatalog-resourceupdateconstraint.json",
- "aws-transfer-agreement.json",
- "aws-chatbot-slackchannelconfiguration.json",
- "aws-cloudfront-distribution.json",
+ "aws-eks-accessentry.json",
+ "aws-eks-addon.json",
+ "aws-eks-cluster.json",
+ "aws-eks-fargateprofile.json",
+ "aws-eks-identityproviderconfig.json",
+ "aws-eks-nodegroup.json",
+ "aws-eks-podidentityassociation.json",
+ "aws-elasticache-cachecluster.json",
+ "aws-elasticache-parametergroup.json",
+ "aws-elasticache-replicationgroup.json",
+ "aws-elasticache-securitygroup.json",
+ "aws-elasticache-securitygroupingress.json",
+ "aws-elasticache-serverlesscache.json",
"aws-elasticache-subnetgroup.json",
- "aws-xray-group.json",
- "aws-oam-link.json",
- "aws-sagemaker-endpoint.json",
+ "aws-elasticache-user.json",
+ "aws-elasticache-usergroup.json",
+ "aws-elasticbeanstalk-application.json",
+ "aws-elasticbeanstalk-applicationversion.json",
+ "aws-elasticbeanstalk-configurationtemplate.json",
+ "aws-elasticbeanstalk-environment.json",
+ "aws-elasticloadbalancing-loadbalancer.json",
+ "aws-elasticloadbalancingv2-listener.json",
+ "aws-elasticloadbalancingv2-listenercertificate.json",
+ "aws-elasticloadbalancingv2-listenerrule.json",
+ "aws-elasticloadbalancingv2-loadbalancer.json",
+ "aws-elasticloadbalancingv2-targetgroup.json",
+ "aws-elasticloadbalancingv2-truststore.json",
"aws-elasticloadbalancingv2-truststorerevocation.json",
- "aws-networkfirewall-firewall.json",
+ "aws-elasticsearch-domain.json",
+ "aws-emr-cluster.json",
+ "aws-emr-instancefleetconfig.json",
+ "aws-emr-instancegroupconfig.json",
+ "aws-emr-securityconfiguration.json",
+ "aws-emr-step.json",
+ "aws-emr-studio.json",
+ "aws-emr-studiosessionmapping.json",
+ "aws-emrserverless-application.json",
+ "aws-events-archive.json",
+ "aws-events-eventbus.json",
+ "aws-events-eventbuspolicy.json",
+ "aws-events-rule.json",
+ "aws-eventschemas-discoverer.json",
+ "aws-eventschemas-registry.json",
+ "aws-eventschemas-registrypolicy.json",
"aws-eventschemas-schema.json",
- "aws-kms-replicakey.json",
- "aws-redshift-clustersecuritygroup.json",
- "aws-route53-cidrcollection.json",
- "aws-ecr-pullthroughcacherule.json",
+ "aws-fis-experimenttemplate.json",
+ "aws-fis-targetaccountconfiguration.json",
+ "aws-fms-notificationchannel.json",
+ "aws-fms-policy.json",
+ "aws-fms-resourceset.json",
+ "aws-fsx-datarepositoryassociation.json",
+ "aws-fsx-filesystem.json",
+ "aws-fsx-snapshot.json",
+ "aws-fsx-storagevirtualmachine.json",
+ "aws-fsx-volume.json",
+ "aws-globalaccelerator-accelerator.json",
+ "aws-globalaccelerator-crossaccountattachment.json",
+ "aws-globalaccelerator-endpointgroup.json",
+ "aws-globalaccelerator-listener.json",
+ "aws-glue-classifier.json",
+ "aws-glue-connection.json",
+ "aws-glue-crawler.json",
+ "aws-glue-customentitytype.json",
+ "aws-glue-database.json",
+ "aws-glue-datacatalogencryptionsettings.json",
+ "aws-glue-dataqualityruleset.json",
+ "aws-glue-devendpoint.json",
+ "aws-glue-job.json",
"aws-glue-mltransform.json",
- "aws-appconfig-hostedconfigurationversion.json",
- "aws-datasync-locationefs.json",
- "aws-ec2-localgatewayroutetable.json",
- "aws-apigateway-resource.json",
- "aws-sagemaker-appimageconfig.json",
- "aws-macie-session.json",
- "aws-elasticloadbalancingv2-targetgroup.json",
- "aws-applicationautoscaling-scalingpolicy.json",
- "aws-pipes-pipe.json",
- "aws-emr-studiosessionmapping.json",
- "aws-cloudformation-macro.json",
- "aws-sagemaker-workteam.json",
- "aws-lambda-layerversionpermission.json",
- "aws-route53resolver-resolverconfig.json",
- "aws-elasticache-user.json",
- "aws-sagemaker-image.json",
- "aws-logs-subscriptionfilter.json",
- "aws-codedeploy-application.json",
- "aws-dms-eventsubscription.json",
+ "aws-glue-partition.json",
+ "aws-glue-registry.json",
+ "aws-glue-schema.json",
+ "aws-glue-schemaversion.json",
+ "aws-glue-schemaversionmetadata.json",
+ "aws-glue-securityconfiguration.json",
+ "aws-glue-table.json",
+ "aws-glue-trigger.json",
+ "aws-glue-workflow.json",
+ "aws-guardduty-detector.json",
+ "aws-guardduty-filter.json",
+ "aws-guardduty-ipset.json",
+ "aws-guardduty-malwareprotectionplan.json",
+ "aws-guardduty-master.json",
+ "aws-guardduty-member.json",
+ "aws-guardduty-threatintelset.json",
+ "aws-iam-accesskey.json",
+ "aws-iam-group.json",
+ "aws-iam-grouppolicy.json",
+ "aws-iam-instanceprofile.json",
+ "aws-iam-oidcprovider.json",
+ "aws-iam-policy.json",
+ "aws-iam-role.json",
+ "aws-iam-rolepolicy.json",
+ "aws-iam-samlprovider.json",
+ "aws-iam-servercertificate.json",
+ "aws-iam-servicelinkedrole.json",
+ "aws-iam-user.json",
+ "aws-iam-userpolicy.json",
+ "aws-iam-usertogroupaddition.json",
+ "aws-iam-virtualmfadevice.json",
+ "aws-identitystore-group.json",
+ "aws-identitystore-groupmembership.json",
+ "aws-imagebuilder-component.json",
+ "aws-imagebuilder-containerrecipe.json",
+ "aws-imagebuilder-distributionconfiguration.json",
+ "aws-imagebuilder-image.json",
+ "aws-imagebuilder-imagepipeline.json",
+ "aws-imagebuilder-imagerecipe.json",
+ "aws-imagebuilder-infrastructureconfiguration.json",
+ "aws-imagebuilder-lifecyclepolicy.json",
+ "aws-imagebuilder-workflow.json",
+ "aws-inspectorv2-cisscanconfiguration.json",
+ "aws-inspectorv2-filter.json",
+ "aws-internetmonitor-monitor.json",
+ "aws-iot-accountauditconfiguration.json",
+ "aws-iot-authorizer.json",
+ "aws-iot-billinggroup.json",
+ "aws-iot-cacertificate.json",
+ "aws-iot-certificate.json",
+ "aws-iot-certificateprovider.json",
+ "aws-iot-custommetric.json",
+ "aws-iot-dimension.json",
+ "aws-iot-domainconfiguration.json",
+ "aws-iot-fleetmetric.json",
+ "aws-iot-jobtemplate.json",
+ "aws-iot-logging.json",
+ "aws-iot-mitigationaction.json",
+ "aws-iot-policy.json",
+ "aws-iot-policyprincipalattachment.json",
+ "aws-iot-provisioningtemplate.json",
+ "aws-iot-resourcespecificlogging.json",
+ "aws-iot-rolealias.json",
+ "aws-iot-scheduledaudit.json",
+ "aws-iot-securityprofile.json",
+ "aws-iot-softwarepackage.json",
+ "aws-iot-softwarepackageversion.json",
+ "aws-iot-thing.json",
+ "aws-iot-thinggroup.json",
+ "aws-iot-thingprincipalattachment.json",
+ "aws-iot-thingtype.json",
"aws-iot-topicrule.json",
+ "aws-iot-topicruledestination.json",
+ "aws-kinesis-stream.json",
+ "aws-kinesisanalytics-applicationoutput.json",
+ "aws-kinesisanalyticsv2-application.json",
+ "aws-kinesisanalyticsv2-applicationoutput.json",
+ "aws-kinesisfirehose-deliverystream.json",
+ "aws-kinesisvideo-signalingchannel.json",
+ "aws-kinesisvideo-stream.json",
+ "aws-kms-alias.json",
+ "aws-kms-key.json",
+ "aws-kms-replicakey.json",
+ "aws-lakeformation-datacellsfilter.json",
+ "aws-lakeformation-datalakesettings.json",
+ "aws-lakeformation-permissions.json",
"aws-lakeformation-principalpermissions.json",
- "aws-datasync-locations3.json",
- "aws-autoscaling-lifecyclehook.json",
- "aws-fsx-datarepositoryassociation.json",
- "aws-ec2-networkinterface.json",
- "aws-sagemaker-featuregroup.json",
- "aws-appsync-resolver.json",
- "aws-controltower-landingzone.json",
- "aws-rolesanywhere-trustanchor.json",
- "aws-route53resolver-resolverqueryloggingconfigassociation.json",
- "aws-imagebuilder-lifecyclepolicy.json",
+ "aws-lakeformation-resource.json",
+ "aws-lakeformation-tag.json",
+ "aws-lakeformation-tagassociation.json",
+ "aws-lambda-alias.json",
+ "aws-lambda-codesigningconfig.json",
"aws-lambda-eventinvokeconfig.json",
- "aws-mediaconnect-flowoutput.json",
+ "aws-lambda-eventsourcemapping.json",
+ "aws-lambda-function.json",
"aws-lambda-layerversion.json",
- "aws-kinesisvideo-stream.json",
- "aws-rds-optiongroup.json",
- "aws-opsworks-userprofile.json",
- "aws-glue-schema.json",
- "aws-docdb-dbsubnetgroup.json",
- "aws-ec2-transitgatewayroute.json",
- "aws-ssm-maintenancewindow.json",
- "aws-lakeformation-tagassociation.json",
- "aws-ec2-ipamresourcediscovery.json",
- "aws-datasync-storagesystem.json",
- "aws-imagebuilder-infrastructureconfiguration.json",
- "aws-iot-logging.json",
- "aws-cloudformation-waitcondition.json",
- "aws-route53resolver-resolverendpoint.json",
- "aws-iot-scheduledaudit.json",
- "aws-networkmanager-link.json",
- "aws-sagemaker-notebookinstance.json",
- "aws-sso-instanceaccesscontrolattributeconfiguration.json",
- "aws-wafregional-bytematchset.json",
- "aws-cloudwatch-anomalydetector.json",
- "aws-ec2-subnetnetworkaclassociation.json",
- "aws-servicecatalog-serviceaction.json",
- "aws-dms-migrationproject.json",
- "aws-iam-userpolicy.json",
- "aws-cloudfront-originaccesscontrol.json",
- "aws-inspectorv2-cisscanconfiguration.json",
- "aws-iot-mitigationaction.json",
- "aws-secretsmanager-rotationschedule.json",
- "aws-securityhub-securitycontrol.json",
+ "aws-lambda-layerversionpermission.json",
"aws-lambda-permission.json",
- "aws-networkfirewall-firewallpolicy.json",
- "aws-eks-identityproviderconfig.json",
- "aws-ec2-ipamresourcediscoveryassociation.json",
- "aws-servicecatalogappregistry-attributegroup.json",
- "aws-ec2-clientvpntargetnetworkassociation.json",
- "aws-appsync-graphqlapi.json",
- "aws-ec2-egressonlyinternetgateway.json",
- "aws-securityhub-insight.json",
- "aws-config-conformancepack.json",
- "aws-ec2-vpccidrblock.json",
- "aws-iam-virtualmfadevice.json",
- "aws-ec2-networkinsightspath.json",
- "aws-acmpca-certificateauthority.json",
- "aws-athena-preparedstatement.json",
- "aws-autoscaling-scheduledaction.json",
- "aws-apigatewayv2-route.json",
- "aws-lakeformation-resource.json",
- "aws-detective-memberinvitation.json",
- "aws-ec2-ipamscope.json",
- "aws-sagemaker-dataqualityjobdefinition.json",
- "aws-ec2-vpcendpoint.json",
- "aws-rds-eventsubscription.json",
- "module.json",
- "aws-config-aggregationauthorization.json",
- "aws-datasync-agent.json",
- "aws-cognito-userpoolidentityprovider.json",
- "aws-resiliencehub-resiliencypolicy.json",
- "aws-iot-dimension.json",
+ "aws-lambda-url.json",
+ "aws-lambda-version.json",
+ "aws-launchwizard-deployment.json",
+ "aws-logs-accountpolicy.json",
+ "aws-logs-delivery.json",
+ "aws-logs-deliverydestination.json",
+ "aws-logs-deliverysource.json",
+ "aws-logs-destination.json",
+ "aws-logs-loganomalydetector.json",
"aws-logs-loggroup.json",
- "aws-ecs-cluster.json",
- "aws-pcaconnectorad-template.json",
- "aws-ec2-placementgroup.json",
- "aws-organizations-account.json",
- "aws-ecr-repository.json",
- "aws-iot-fleetmetric.json",
+ "aws-logs-logstream.json",
+ "aws-logs-metricfilter.json",
+ "aws-logs-querydefinition.json",
+ "aws-logs-resourcepolicy.json",
+ "aws-logs-subscriptionfilter.json",
+ "aws-macie-allowlist.json",
+ "aws-macie-customdataidentifier.json",
+ "aws-macie-findingsfilter.json",
+ "aws-macie-session.json",
+ "aws-mediaconnect-bridge.json",
+ "aws-mediaconnect-bridgeoutput.json",
+ "aws-mediaconnect-bridgesource.json",
+ "aws-mediaconnect-flow.json",
+ "aws-mediaconnect-flowentitlement.json",
+ "aws-mediaconnect-flowoutput.json",
"aws-mediaconnect-flowsource.json",
- "aws-appconfig-extension.json",
- "aws-elasticloadbalancingv2-listenerrule.json",
- "aws-elasticloadbalancingv2-truststore.json",
- "aws-glue-registry.json",
- "aws-ec2-keypair.json",
- "aws-fsx-filesystem.json",
- "aws-ec2-eipassociation.json",
- "aws-elasticbeanstalk-application.json",
- "aws-iot-thingprincipalattachment.json",
- "aws-dlm-lifecyclepolicy.json",
- "aws-ec2-capacityreservation.json",
- "aws-elasticloadbalancing-loadbalancer.json",
- "aws-transfer-user.json",
- "aws-iam-rolepolicy.json",
- "aws-ec2-trafficmirrortarget.json",
- "aws-stepfunctions-statemachine.json",
- "aws-rds-dbclusterparametergroup.json",
- "aws-waf-xssmatchset.json",
- "aws-appmesh-virtualrouter.json",
- "aws-scheduler-schedulegroup.json",
- "aws-fsx-snapshot.json",
- "aws-eventschemas-registrypolicy.json",
- "aws-route53-keysigningkey.json",
- "aws-eventschemas-registry.json",
- "aws-config-remediationconfiguration.json",
- "aws-detective-organizationadmin.json",
- "aws-athena-datacatalog.json",
- "aws-docdb-dbcluster.json",
"aws-mediaconnect-flowvpcinterface.json",
- "aws-glue-workflow.json",
- "aws-apigatewayv2-authorizer.json",
- "aws-iot-accountauditconfiguration.json",
- "aws-sagemaker-userprofile.json",
- "aws-ec2-prefixlist.json",
- "aws-ec2-instance.json",
- "aws-networkmanager-device.json",
- "aws-ec2-subnetcidrblock.json",
- "aws-elasticbeanstalk-applicationversion.json",
- "aws-appmesh-virtualgateway.json",
- "aws-waf-sqlinjectionmatchset.json",
- "aws-ec2-transitgatewayvpcattachment.json",
- "aws-ec2-flowlog.json",
- "aws-amazonmq-broker.json",
- "aws-emr-step.json",
- "aws-ssm-association.json",
- "aws-ec2-clientvpnendpoint.json",
- "aws-cloudfront-responseheaderspolicy.json",
- "aws-securityhub-automationrule.json",
+ "aws-mediaconnect-gateway.json",
+ "aws-memorydb-acl.json",
+ "aws-memorydb-cluster.json",
+ "aws-memorydb-parametergroup.json",
+ "aws-memorydb-subnetgroup.json",
+ "aws-memorydb-user.json",
+ "aws-msk-batchscramsecret.json",
+ "aws-msk-cluster.json",
"aws-msk-clusterpolicy.json",
- "aws-guardduty-master.json",
- "aws-kms-alias.json",
- "aws-xray-samplingrule.json",
- "aws-route53resolver-resolverrule.json",
- "aws-transfer-connector.json",
- "aws-appmesh-virtualnode.json",
- "aws-apigateway-documentationversion.json",
- "aws-wafv2-webaclassociation.json",
+ "aws-msk-configuration.json",
+ "aws-msk-vpcconnection.json",
+ "aws-mwaa-environment.json",
+ "aws-neptune-dbcluster.json",
+ "aws-neptune-dbsubnetgroup.json",
+ "aws-neptune-eventsubscription.json",
+ "aws-networkfirewall-firewall.json",
+ "aws-networkfirewall-firewallpolicy.json",
+ "aws-networkfirewall-loggingconfiguration.json",
+ "aws-networkfirewall-rulegroup.json",
+ "aws-networkfirewall-tlsinspectionconfiguration.json",
+ "aws-networkmanager-customergatewayassociation.json",
+ "aws-networkmanager-device.json",
+ "aws-networkmanager-globalnetwork.json",
+ "aws-networkmanager-link.json",
+ "aws-networkmanager-linkassociation.json",
+ "aws-networkmanager-site.json",
+ "aws-networkmanager-transitgatewayregistration.json",
+ "aws-oam-link.json",
"aws-oam-sink.json",
- "aws-codebuild-reportgroup.json",
- "aws-apigateway-gatewayresponse.json",
- "aws-ec2-enclavecertificateiamroleassociation.json",
- "aws-sso-application.json",
- "aws-fsx-volume.json",
+ "aws-opensearchservice-domain.json",
+ "aws-opsworks-app.json",
+ "aws-opsworks-elasticloadbalancerattachment.json",
+ "aws-opsworks-instance.json",
+ "aws-opsworks-layer.json",
+ "aws-opsworks-stack.json",
+ "aws-opsworks-userprofile.json",
+ "aws-opsworks-volume.json",
+ "aws-organizations-account.json",
+ "aws-organizations-organization.json",
+ "aws-organizations-organizationalunit.json",
+ "aws-organizations-policy.json",
+ "aws-organizations-resourcepolicy.json",
+ "aws-pcaconnectorad-connector.json",
+ "aws-pcaconnectorad-directoryregistration.json",
+ "aws-pcaconnectorad-serviceprincipalname.json",
+ "aws-pcaconnectorad-template.json",
+ "aws-pcaconnectorad-templategroupaccesscontrolentry.json",
+ "aws-pipes-pipe.json",
+ "aws-ram-permission.json",
+ "aws-ram-resourceshare.json",
+ "aws-rds-dbcluster.json",
+ "aws-rds-dbclusterparametergroup.json",
+ "aws-rds-dbinstance.json",
+ "aws-rds-dbparametergroup.json",
+ "aws-rds-dbproxy.json",
+ "aws-rds-dbproxyendpoint.json",
+ "aws-rds-dbproxytargetgroup.json",
+ "aws-rds-dbsecuritygroup.json",
+ "aws-rds-dbsecuritygroupingress.json",
+ "aws-rds-dbsubnetgroup.json",
+ "aws-rds-eventsubscription.json",
+ "aws-rds-globalcluster.json",
+ "aws-rds-integration.json",
+ "aws-rds-optiongroup.json",
+ "aws-redshift-cluster.json",
+ "aws-redshift-clusterparametergroup.json",
+ "aws-redshift-clustersecuritygroup.json",
+ "aws-redshift-clustersecuritygroupingress.json",
+ "aws-redshift-clustersubnetgroup.json",
+ "aws-redshift-endpointaccess.json",
+ "aws-redshift-endpointauthorization.json",
+ "aws-redshift-eventsubscription.json",
+ "aws-redshift-scheduledaction.json",
+ "aws-resiliencehub-app.json",
+ "aws-resiliencehub-resiliencypolicy.json",
+ "aws-resourceexplorer2-defaultviewassociation.json",
+ "aws-resourceexplorer2-index.json",
+ "aws-resourceexplorer2-view.json",
+ "aws-resourcegroups-group.json",
+ "aws-rolesanywhere-crl.json",
+ "aws-rolesanywhere-profile.json",
+ "aws-rolesanywhere-trustanchor.json",
+ "aws-route53-cidrcollection.json",
+ "aws-route53-dnssec.json",
+ "aws-route53-healthcheck.json",
+ "aws-route53-hostedzone.json",
+ "aws-route53-keysigningkey.json",
+ "aws-route53-recordset.json",
+ "aws-route53-recordsetgroup.json",
+ "aws-route53profiles-profile.json",
+ "aws-route53profiles-profileassociation.json",
+ "aws-route53profiles-profileresourceassociation.json",
+ "aws-route53resolver-firewalldomainlist.json",
+ "aws-route53resolver-firewallrulegroup.json",
+ "aws-route53resolver-firewallrulegroupassociation.json",
"aws-route53resolver-outpostresolver.json",
- "aws-acmpca-certificate.json",
- "aws-ec2-ipamallocation.json",
- "aws-workspaces-workspace.json",
- "aws-emr-studio.json",
- "aws-ec2-instanceconnectendpoint.json",
- "aws-directoryservice-microsoftad.json",
- "aws-memorydb-subnetgroup.json",
- "aws-appsync-sourceapiassociation.json",
- "aws-datasync-locationobjectstorage.json",
- "aws-ecs-capacityprovider.json",
- "aws-elasticache-cachecluster.json",
+ "aws-route53resolver-resolverconfig.json",
+ "aws-route53resolver-resolverdnssecconfig.json",
+ "aws-route53resolver-resolverendpoint.json",
+ "aws-route53resolver-resolverqueryloggingconfig.json",
+ "aws-route53resolver-resolverqueryloggingconfigassociation.json",
+ "aws-route53resolver-resolverrule.json",
+ "aws-route53resolver-resolverruleassociation.json",
+ "aws-s3-accessgrant.json",
+ "aws-s3-accessgrantsinstance.json",
+ "aws-s3-accessgrantslocation.json",
+ "aws-s3-accesspoint.json",
+ "aws-s3-bucket.json",
+ "aws-s3-bucketpolicy.json",
+ "aws-s3objectlambda-accesspoint.json",
+ "aws-s3objectlambda-accesspointpolicy.json",
+ "aws-s3outposts-accesspoint.json",
+ "aws-s3outposts-bucket.json",
+ "aws-s3outposts-bucketpolicy.json",
+ "aws-s3outposts-endpoint.json",
+ "aws-sagemaker-app.json",
+ "aws-sagemaker-appimageconfig.json",
+ "aws-sagemaker-coderepository.json",
+ "aws-sagemaker-dataqualityjobdefinition.json",
+ "aws-sagemaker-domain.json",
+ "aws-sagemaker-endpoint.json",
+ "aws-sagemaker-endpointconfig.json",
+ "aws-sagemaker-featuregroup.json",
+ "aws-sagemaker-image.json",
+ "aws-sagemaker-imageversion.json",
+ "aws-sagemaker-inferenceexperiment.json",
+ "aws-sagemaker-model.json",
+ "aws-sagemaker-modelbiasjobdefinition.json",
"aws-sagemaker-modelcard.json",
- "aws-logs-destination.json",
- "aws-eks-nodegroup.json",
- "aws-organizations-organizationalunit.json",
- "aws-appsync-datasource.json",
- "aws-sqs-queue.json",
- "aws-ec2-securitygroupingress.json",
- "aws-guardduty-detector.json",
+ "aws-sagemaker-modelexplainabilityjobdefinition.json",
+ "aws-sagemaker-modelpackage.json",
+ "aws-sagemaker-modelpackagegroup.json",
"aws-sagemaker-modelqualityjobdefinition.json",
- "aws-apigateway-stage.json",
- "aws-batch-computeenvironment.json",
- "aws-iot-thing.json",
- "aws-route53-healthcheck.json",
- "aws-events-eventbuspolicy.json",
- "aws-athena-namedquery.json",
- "aws-ec2-trafficmirrorfilter.json",
- "aws-apigateway-deployment.json",
- "aws-lakeformation-datalakesettings.json",
- "aws-autoscaling-scalingpolicy.json",
- "aws-resourceexplorer2-defaultviewassociation.json",
- "aws-ecr-registrypolicy.json",
- "aws-redshift-scheduledaction.json",
- "aws-rds-dbsecuritygroup.json",
- "aws-apigatewayv2-routeresponse.json",
- "aws-cloudwatch-metricstream.json",
- "aws-sso-applicationassignment.json",
- "aws-dms-dataprovider.json",
- "aws-ssm-parameter.json",
- "aws-apigatewayv2-apigatewaymanagedoverrides.json",
- "aws-config-deliverychannel.json",
- "aws-certificatemanager-account.json",
"aws-sagemaker-monitoringschedule.json",
- "aws-iam-oidcprovider.json",
- "aws-lakeformation-tag.json",
- "aws-ce-anomalymonitor.json",
+ "aws-sagemaker-notebookinstance.json",
+ "aws-sagemaker-notebookinstancelifecycleconfig.json",
+ "aws-sagemaker-pipeline.json",
+ "aws-sagemaker-project.json",
+ "aws-sagemaker-space.json",
+ "aws-sagemaker-userprofile.json",
+ "aws-sagemaker-workteam.json",
+ "aws-scheduler-schedule.json",
+ "aws-scheduler-schedulegroup.json",
+ "aws-sdb-domain.json",
+ "aws-secretsmanager-resourcepolicy.json",
+ "aws-secretsmanager-rotationschedule.json",
+ "aws-secretsmanager-secret.json",
+ "aws-securityhub-automationrule.json",
+ "aws-securityhub-delegatedadmin.json",
+ "aws-securityhub-hub.json",
+ "aws-securityhub-insight.json",
+ "aws-securityhub-organizationconfiguration.json",
+ "aws-securityhub-productsubscription.json",
+ "aws-securityhub-securitycontrol.json",
+ "aws-securityhub-standard.json",
+ "aws-servicecatalog-cloudformationproduct.json",
+ "aws-servicecatalog-cloudformationprovisionedproduct.json",
+ "aws-servicecatalog-launchnotificationconstraint.json",
+ "aws-servicecatalog-launchroleconstraint.json",
+ "aws-servicecatalog-launchtemplateconstraint.json",
+ "aws-servicecatalog-portfolioshare.json",
+ "aws-servicecatalog-resourceupdateconstraint.json",
+ "aws-servicecatalog-serviceaction.json",
+ "aws-servicecatalog-serviceactionassociation.json",
+ "aws-servicecatalog-stacksetconstraint.json",
+ "aws-servicecatalog-tagoption.json",
+ "aws-servicecatalogappregistry-application.json",
+ "aws-servicecatalogappregistry-attributegroup.json",
+ "aws-servicecatalogappregistry-attributegroupassociation.json",
"aws-servicecatalogappregistry-resourceassociation.json",
- "aws-ec2-vpngateway.json",
- "aws-cloudformation-stack.json",
- "aws-resourcegroups-group.json",
- "aws-cloudformation-resourcedefaultversion.json",
+ "aws-servicediscovery-httpnamespace.json",
+ "aws-servicediscovery-instance.json",
+ "aws-servicediscovery-privatednsnamespace.json",
+ "aws-servicediscovery-publicdnsnamespace.json",
+ "aws-servicediscovery-service.json",
+ "aws-shield-drtaccess.json",
+ "aws-shield-proactiveengagement.json",
+ "aws-shield-protection.json",
+ "aws-shield-protectiongroup.json",
"aws-signer-profilepermission.json",
- "aws-backup-restoretestingplan.json",
- "aws-ec2-ipam.json",
- "aws-pcaconnectorad-templategroupaccesscontrolentry.json",
- "aws-databrew-job.json",
- "aws-ec2-transitgatewaypeeringattachment.json",
- "aws-ecr-repositorycreationtemplate.json",
- "aws-cloudfront-cachepolicy.json",
- "aws-iam-accesskey.json",
- "aws-rds-dbsubnetgroup.json",
- "aws-amazonmq-configuration.json",
- "aws-appconfig-deployment.json",
- "aws-codepipeline-customactiontype.json",
- "aws-accessanalyzer-analyzer.json",
- "aws-ec2-ec2fleet.json",
- "aws-dms-replicationinstance.json",
- "aws-servicecatalog-cloudformationproduct.json",
- "aws-ec2-vpcendpointservice.json",
- "aws-ec2-launchtemplate.json",
- "aws-cloudfront-originrequestpolicy.json",
- "aws-datasync-locationfsxontap.json",
- "aws-networkmanager-linkassociation.json",
- "aws-pcaconnectorad-serviceprincipalname.json",
- "aws-wafregional-sqlinjectionmatchset.json",
- "aws-lambda-version.json",
- "aws-ec2-dhcpoptions.json",
- "aws-ec2-ipampool.json",
- "aws-iam-servicelinkedrole.json",
- "aws-cloudformation-hooktypeconfig.json",
- "aws-ec2-volume.json",
- "aws-iot-certificate.json",
- "aws-ec2-eip.json",
+ "aws-signer-signingprofile.json",
+ "aws-sns-subscription.json",
+ "aws-sns-topic.json",
+ "aws-sns-topicinlinepolicy.json",
+ "aws-sns-topicpolicy.json",
+ "aws-sqs-queue.json",
+ "aws-sqs-queueinlinepolicy.json",
+ "aws-sqs-queuepolicy.json",
+ "aws-ssm-association.json",
+ "aws-ssm-document.json",
+ "aws-ssm-maintenancewindow.json",
+ "aws-ssm-maintenancewindowtarget.json",
+ "aws-ssm-maintenancewindowtask.json",
+ "aws-ssm-parameter.json",
+ "aws-ssm-patchbaseline.json",
+ "aws-sso-application.json",
+ "aws-sso-applicationassignment.json",
+ "aws-sso-assignment.json",
+ "aws-sso-instance.json",
+ "aws-sso-instanceaccesscontrolattributeconfiguration.json",
+ "aws-sso-permissionset.json",
+ "aws-stepfunctions-statemachinealias.json",
+ "aws-stepfunctions-statemachineversion.json",
+ "aws-synthetics-canary.json",
+ "aws-systemsmanagersap-application.json",
+ "aws-transfer-agreement.json",
+ "aws-transfer-certificate.json",
+ "aws-transfer-connector.json",
+ "aws-transfer-profile.json",
+ "aws-transfer-server.json",
+ "aws-transfer-user.json",
+ "aws-transfer-workflow.json",
"aws-verifiedpermissions-policy.json",
- "aws-cloudformation-resourceversion.json",
- "aws-sagemaker-modelexplainabilityjobdefinition.json",
- "aws-apigatewayv2-stage.json",
- "aws-chatbot-microsoftteamschannelconfiguration.json",
- "aws-rds-dbproxy.json",
- "aws-rds-dbparametergroup.json",
- "aws-securityhub-hub.json",
- "aws-s3-accesspoint.json",
- "aws-s3outposts-bucketpolicy.json",
- "aws-batch-jobqueue.json",
- "aws-elasticloadbalancingv2-listener.json",
- "aws-redshift-eventsubscription.json",
- "aws-memorydb-acl.json",
- "aws-cloudformation-waitconditionhandle.json",
- "aws-globalaccelerator-accelerator.json",
- "aws-eks-addon.json",
+ "aws-verifiedpermissions-policystore.json",
+ "aws-verifiedpermissions-policytemplate.json",
+ "aws-waf-bytematchset.json",
+ "aws-waf-ipset.json",
+ "aws-waf-rule.json",
+ "aws-waf-sizeconstraintset.json",
+ "aws-waf-sqlinjectionmatchset.json",
+ "aws-waf-webacl.json",
+ "aws-waf-xssmatchset.json",
+ "aws-wafregional-bytematchset.json",
+ "aws-wafregional-regexpatternset.json",
+ "aws-wafregional-sqlinjectionmatchset.json",
+ "aws-wafregional-webaclassociation.json",
+ "aws-wafregional-xssmatchset.json",
+ "aws-wafv2-ipset.json",
+ "aws-wafv2-loggingconfiguration.json",
+ "aws-wafv2-regexpatternset.json",
+ "aws-wafv2-rulegroup.json",
+ "aws-wafv2-webacl.json",
+ "aws-wafv2-webaclassociation.json",
+ "aws-workspaces-workspace.json",
+ "aws-xray-group.json",
+ "aws-xray-resourcepolicy.json",
+ "aws-xray-samplingrule.json",
+ "module.json",
]
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-identitypool.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-identitypool.json
deleted file mode 100644
index b511032158..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-identitypool.json
+++ /dev/null
@@ -1,123 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "CognitoIdentityProvider": {
- "additionalProperties": false,
- "properties": {
- "ClientId": {
- "type": "string"
- },
- "ProviderName": {
- "type": "string"
- },
- "ServerSideTokenCheck": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "CognitoStreams": {
- "additionalProperties": false,
- "properties": {
- "RoleArn": {
- "type": "string"
- },
- "StreamName": {
- "type": "string"
- },
- "StreamingStatus": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "PushSync": {
- "additionalProperties": false,
- "properties": {
- "ApplicationArns": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "RoleArn": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "AllowClassicFlow": {
- "type": "boolean"
- },
- "AllowUnauthenticatedIdentities": {
- "type": "boolean"
- },
- "CognitoEvents": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "CognitoIdentityProviders": {
- "items": {
- "$ref": "#/definitions/CognitoIdentityProvider"
- },
- "type": "array",
- "uniqueItems": false
- },
- "CognitoStreams": {
- "$ref": "#/definitions/CognitoStreams"
- },
- "DeveloperProviderName": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "IdentityPoolName": {
- "type": "string"
- },
- "Name": {
- "type": "string"
- },
- "OpenIdConnectProviderARNs": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "PushSync": {
- "$ref": "#/definitions/PushSync"
- },
- "SamlProviderARNs": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SupportedLoginProviders": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Name"
- ],
- "required": [
- "AllowUnauthenticatedIdentities"
- ],
- "typeName": "AWS::Cognito::IdentityPool"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-identitypoolroleattachment.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-identitypoolroleattachment.json
deleted file mode 100644
index ca2e8a5a88..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-identitypoolroleattachment.json
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/IdentityPoolId"
- ],
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Id": {
- "type": "string"
- },
- "IdentityPoolId": {
- "type": "string"
- },
- "RoleMappings": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "Roles": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "IdentityPoolId"
- ],
- "typeName": "AWS::Cognito::IdentityPoolRoleAttachment"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpool.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpool.json
deleted file mode 100644
index ad6a681586..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpool.json
+++ /dev/null
@@ -1,395 +0,0 @@
-{
- "additionalProperties": false,
- "definitions": {
- "AccountRecoverySetting": {
- "additionalProperties": false,
- "properties": {
- "RecoveryMechanisms": {
- "items": {
- "$ref": "#/definitions/RecoveryOption"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- },
- "AdminCreateUserConfig": {
- "additionalProperties": false,
- "properties": {
- "AllowAdminCreateUserOnly": {
- "type": "boolean"
- },
- "InviteMessageTemplate": {
- "$ref": "#/definitions/InviteMessageTemplate"
- },
- "UnusedAccountValidityDays": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "DeviceConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ChallengeRequiredOnNewDevice": {
- "type": "boolean"
- },
- "DeviceOnlyRememberedOnUserPrompt": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "EmailConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ConfigurationSet": {
- "type": "string"
- },
- "EmailSendingAccount": {
- "type": "string"
- },
- "From": {
- "type": "string"
- },
- "ReplyToEmailAddress": {
- "type": "string"
- },
- "SourceArn": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "InviteMessageTemplate": {
- "additionalProperties": false,
- "properties": {
- "EmailMessage": {
- "type": "string"
- },
- "EmailSubject": {
- "type": "string"
- },
- "SMSMessage": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "LambdaConfig": {
- "additionalProperties": false,
- "properties": {
- "CreateAuthChallenge": {
- "type": "string"
- },
- "CustomMessage": {
- "type": "string"
- },
- "DefineAuthChallenge": {
- "type": "string"
- },
- "PostAuthentication": {
- "type": "string"
- },
- "PostConfirmation": {
- "type": "string"
- },
- "PreAuthentication": {
- "type": "string"
- },
- "PreSignUp": {
- "type": "string"
- },
- "PreTokenGeneration": {
- "type": "string"
- },
- "UserMigration": {
- "type": "string"
- },
- "VerifyAuthChallengeResponse": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "NumberAttributeConstraints": {
- "additionalProperties": false,
- "properties": {
- "MaxValue": {
- "type": "string"
- },
- "MinValue": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "PasswordPolicy": {
- "additionalProperties": false,
- "properties": {
- "MinimumLength": {
- "type": "integer"
- },
- "RequireLowercase": {
- "type": "boolean"
- },
- "RequireNumbers": {
- "type": "boolean"
- },
- "RequireSymbols": {
- "type": "boolean"
- },
- "RequireUppercase": {
- "type": "boolean"
- },
- "TemporaryPasswordValidityDays": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "Policies": {
- "additionalProperties": false,
- "properties": {
- "PasswordPolicy": {
- "$ref": "#/definitions/PasswordPolicy"
- }
- },
- "type": "object"
- },
- "RecoveryOption": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "type": "string"
- },
- "Priority": {
- "type": "integer"
- }
- },
- "type": "object"
- },
- "SchemaAttribute": {
- "additionalProperties": false,
- "properties": {
- "AttributeDataType": {
- "type": "string"
- },
- "DeveloperOnlyAttribute": {
- "type": "boolean"
- },
- "Mutable": {
- "type": "boolean"
- },
- "Name": {
- "type": "string"
- },
- "NumberAttributeConstraints": {
- "$ref": "#/definitions/NumberAttributeConstraints"
- },
- "Required": {
- "type": "boolean"
- },
- "StringAttributeConstraints": {
- "$ref": "#/definitions/StringAttributeConstraints"
- }
- },
- "type": "object"
- },
- "SmsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ExternalId": {
- "type": "string"
- },
- "SnsCallerArn": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "StringAttributeConstraints": {
- "additionalProperties": false,
- "properties": {
- "MaxLength": {
- "type": "string"
- },
- "MinLength": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "UserPoolAddOns": {
- "additionalProperties": false,
- "properties": {
- "AdvancedSecurityMode": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "UsernameConfiguration": {
- "additionalProperties": false,
- "properties": {
- "CaseSensitive": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "VerificationMessageTemplate": {
- "additionalProperties": false,
- "properties": {
- "DefaultEmailOption": {
- "type": "string"
- },
- "EmailMessage": {
- "type": "string"
- },
- "EmailMessageByLink": {
- "type": "string"
- },
- "EmailSubject": {
- "type": "string"
- },
- "EmailSubjectByLink": {
- "type": "string"
- },
- "SmsMessage": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "AccountRecoverySetting": {
- "$ref": "#/definitions/AccountRecoverySetting"
- },
- "AdminCreateUserConfig": {
- "$ref": "#/definitions/AdminCreateUserConfig"
- },
- "AliasAttributes": {
- "items": {
- "enum": [
- "email",
- "phone_number",
- "preferred_username"
- ],
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Arn": {
- "type": "string"
- },
- "AutoVerifiedAttributes": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "DeviceConfiguration": {
- "$ref": "#/definitions/DeviceConfiguration"
- },
- "EmailConfiguration": {
- "$ref": "#/definitions/EmailConfiguration"
- },
- "EmailVerificationMessage": {
- "type": "string"
- },
- "EmailVerificationSubject": {
- "type": "string"
- },
- "EnabledMfas": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Id": {
- "type": "string"
- },
- "LambdaConfig": {
- "$ref": "#/definitions/LambdaConfig"
- },
- "MfaConfiguration": {
- "enum": [
- "OFF",
- "ON",
- "OPTIONAL"
- ],
- "type": "string"
- },
- "Policies": {
- "$ref": "#/definitions/Policies"
- },
- "ProviderName": {
- "type": "string"
- },
- "ProviderURL": {
- "type": "string"
- },
- "Schema": {
- "items": {
- "$ref": "#/definitions/SchemaAttribute"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SmsAuthenticationMessage": {
- "type": "string"
- },
- "SmsConfiguration": {
- "$ref": "#/definitions/SmsConfiguration"
- },
- "SmsVerificationMessage": {
- "type": "string"
- },
- "UserPoolAddOns": {
- "$ref": "#/definitions/UserPoolAddOns"
- },
- "UserPoolName": {
- "type": "string"
- },
- "UserPoolTags": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "UsernameAttributes": {
- "items": {
- "enum": [
- "email",
- "phone_number"
- ],
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "UsernameConfiguration": {
- "$ref": "#/definitions/UsernameConfiguration"
- },
- "VerificationMessageTemplate": {
- "$ref": "#/definitions/VerificationMessageTemplate"
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Arn",
- "/properties/ProviderName",
- "/properties/ProviderURL"
- ],
- "typeName": "AWS::Cognito::UserPool"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpoolclient.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpoolclient.json
deleted file mode 100644
index ab5534da43..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpoolclient.json
+++ /dev/null
@@ -1,166 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/UserPoolId",
- "/properties/GenerateSecret"
- ],
- "definitions": {
- "AnalyticsConfiguration": {
- "additionalProperties": false,
- "properties": {
- "ApplicationId": {
- "type": "string"
- },
- "ExternalId": {
- "type": "string"
- },
- "RoleArn": {
- "type": "string"
- },
- "UserDataShared": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "TokenValidityUnits": {
- "additionalProperties": false,
- "properties": {
- "AccessToken": {
- "type": "string"
- },
- "IdToken": {
- "type": "string"
- },
- "RefreshToken": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "AccessTokenValidity": {
- "type": "integer"
- },
- "AllowedOAuthFlows": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "AllowedOAuthFlowsUserPoolClient": {
- "type": "boolean"
- },
- "AllowedOAuthScopes": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "AnalyticsConfiguration": {
- "$ref": "#/definitions/AnalyticsConfiguration"
- },
- "CallbackURLs": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "ClientName": {
- "type": "string"
- },
- "ClientSecret": {
- "type": "string"
- },
- "DefaultRedirectURI": {
- "type": "string"
- },
- "ExplicitAuthFlows": {
- "items": {
- "enum": [
- "ADMIN_NO_SRP_AUTH",
- "ALLOW_ADMIN_USER_PASSWORD_AUTH",
- "ALLOW_CUSTOM_AUTH",
- "ALLOW_REFRESH_TOKEN_AUTH",
- "ALLOW_USER_PASSWORD_AUTH",
- "ALLOW_USER_SRP_AUTH",
- "CUSTOM_AUTH_FLOW_ONLY",
- "USER_PASSWORD_AUTH"
- ],
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "GenerateSecret": {
- "type": "boolean"
- },
- "Id": {
- "type": "string"
- },
- "IdTokenValidity": {
- "type": "integer"
- },
- "LogoutURLs": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "Name": {
- "type": "string"
- },
- "PreventUserExistenceErrors": {
- "type": "string"
- },
- "ReadAttributes": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "RefreshTokenValidity": {
- "maximum": 3650,
- "minimum": 0,
- "type": "integer"
- },
- "SupportedIdentityProviders": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TokenValidityUnits": {
- "$ref": "#/definitions/TokenValidityUnits"
- },
- "UserPoolId": {
- "type": "string"
- },
- "WriteAttributes": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Id",
- "/properties/Name",
- "/properties/ClientSecret"
- ],
- "required": [
- "UserPoolId"
- ],
- "typeName": "AWS::Cognito::UserPoolClient"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpoolgroup.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpoolgroup.json
deleted file mode 100644
index 045cd8e244..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpoolgroup.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/GroupName",
- "/properties/UserPoolId"
- ],
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Description": {
- "type": "string"
- },
- "GroupName": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Precedence": {
- "type": "number"
- },
- "RoleArn": {
- "type": "string"
- },
- "UserPoolId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "UserPoolId"
- ],
- "typeName": "AWS::Cognito::UserPoolGroup"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpoolriskconfigurationattachment.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpoolriskconfigurationattachment.json
deleted file mode 100644
index 3647784062..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpoolriskconfigurationattachment.json
+++ /dev/null
@@ -1,182 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/UserPoolId",
- "/properties/ClientId"
- ],
- "definitions": {
- "AccountTakeoverActionType": {
- "additionalProperties": false,
- "properties": {
- "EventAction": {
- "type": "string"
- },
- "Notify": {
- "type": "boolean"
- }
- },
- "required": [
- "Notify",
- "EventAction"
- ],
- "type": "object"
- },
- "AccountTakeoverActionsType": {
- "additionalProperties": false,
- "properties": {
- "HighAction": {
- "$ref": "#/definitions/AccountTakeoverActionType"
- },
- "LowAction": {
- "$ref": "#/definitions/AccountTakeoverActionType"
- },
- "MediumAction": {
- "$ref": "#/definitions/AccountTakeoverActionType"
- }
- },
- "type": "object"
- },
- "AccountTakeoverRiskConfigurationType": {
- "additionalProperties": false,
- "properties": {
- "Actions": {
- "$ref": "#/definitions/AccountTakeoverActionsType"
- },
- "NotifyConfiguration": {
- "$ref": "#/definitions/NotifyConfigurationType"
- }
- },
- "required": [
- "Actions"
- ],
- "type": "object"
- },
- "CompromisedCredentialsActionsType": {
- "additionalProperties": false,
- "properties": {
- "EventAction": {
- "type": "string"
- }
- },
- "required": [
- "EventAction"
- ],
- "type": "object"
- },
- "CompromisedCredentialsRiskConfigurationType": {
- "additionalProperties": false,
- "properties": {
- "Actions": {
- "$ref": "#/definitions/CompromisedCredentialsActionsType"
- },
- "EventFilter": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "required": [
- "Actions"
- ],
- "type": "object"
- },
- "NotifyConfigurationType": {
- "additionalProperties": false,
- "properties": {
- "BlockEmail": {
- "$ref": "#/definitions/NotifyEmailType"
- },
- "From": {
- "type": "string"
- },
- "MfaEmail": {
- "$ref": "#/definitions/NotifyEmailType"
- },
- "NoActionEmail": {
- "$ref": "#/definitions/NotifyEmailType"
- },
- "ReplyTo": {
- "type": "string"
- },
- "SourceArn": {
- "type": "string"
- }
- },
- "required": [
- "SourceArn"
- ],
- "type": "object"
- },
- "NotifyEmailType": {
- "additionalProperties": false,
- "properties": {
- "HtmlBody": {
- "type": "string"
- },
- "Subject": {
- "type": "string"
- },
- "TextBody": {
- "type": "string"
- }
- },
- "required": [
- "Subject"
- ],
- "type": "object"
- },
- "RiskExceptionConfigurationType": {
- "additionalProperties": false,
- "properties": {
- "BlockedIPRangeList": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "SkippedIPRangeList": {
- "items": {
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "AccountTakeoverRiskConfiguration": {
- "$ref": "#/definitions/AccountTakeoverRiskConfigurationType"
- },
- "ClientId": {
- "type": "string"
- },
- "CompromisedCredentialsRiskConfiguration": {
- "$ref": "#/definitions/CompromisedCredentialsRiskConfigurationType"
- },
- "Id": {
- "type": "string"
- },
- "RiskExceptionConfiguration": {
- "$ref": "#/definitions/RiskExceptionConfigurationType"
- },
- "UserPoolId": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "UserPoolId",
- "ClientId"
- ],
- "typeName": "AWS::Cognito::UserPoolRiskConfigurationAttachment"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpooluser.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpooluser.json
deleted file mode 100644
index 4f48fd800f..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpooluser.json
+++ /dev/null
@@ -1,90 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/ClientMetadata",
- "/properties/ValidationData",
- "/properties/UserPoolId",
- "/properties/MessageAction",
- "/properties/ForceAliasCreation",
- "/properties/DesiredDeliveryMediums",
- "/properties/UserAttributes",
- "/properties/Username"
- ],
- "definitions": {
- "AttributeType": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "ClientMetadata": {
- "format": "json",
- "type": [
- "object",
- "string"
- ]
- },
- "DesiredDeliveryMediums": {
- "items": {
- "enum": [
- "EMAIL",
- "SMS"
- ],
- "type": "string"
- },
- "type": "array",
- "uniqueItems": false
- },
- "ForceAliasCreation": {
- "type": "boolean"
- },
- "Id": {
- "type": "string"
- },
- "MessageAction": {
- "enum": [
- "RESEND",
- "SUPPRESS"
- ],
- "type": "string"
- },
- "UserAttributes": {
- "items": {
- "$ref": "#/definitions/AttributeType"
- },
- "type": "array",
- "uniqueItems": false
- },
- "UserPoolId": {
- "type": "string"
- },
- "Username": {
- "type": "string"
- },
- "ValidationData": {
- "items": {
- "$ref": "#/definitions/AttributeType"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "UserPoolId"
- ],
- "typeName": "AWS::Cognito::UserPoolUser"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpoolusertogroupattachment.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpoolusertogroupattachment.json
deleted file mode 100644
index 036f8bcc8a..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-cognito-userpoolusertogroupattachment.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/GroupName",
- "/properties/UserPoolId",
- "/properties/Username"
- ],
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "GroupName": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "UserPoolId": {
- "type": "string"
- },
- "Username": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "GroupName",
- "UserPoolId",
- "Username"
- ],
- "typeName": "AWS::Cognito::UserPoolUserToGroupAttachment"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-elasticache-parametergroup.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-elasticache-parametergroup.json
deleted file mode 100644
index c524f26845..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-elasticache-parametergroup.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/CacheParameterGroupFamily"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "CacheParameterGroupFamily": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "Properties": {
- "patternProperties": {
- "[a-zA-Z0-9]+": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Tags": {
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- }
- },
- "readOnlyProperties": [
- "/properties/Id"
- ],
- "required": [
- "Description",
- "CacheParameterGroupFamily"
- ],
- "typeName": "AWS::ElastiCache::ParameterGroup"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-elasticbeanstalk-environment.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-elasticbeanstalk-environment.json
deleted file mode 100644
index 2fa4fe9b33..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-elasticbeanstalk-environment.json
+++ /dev/null
@@ -1,183 +0,0 @@
-{
- "$schema": "https://raw.githubusercontent.com/aws-cloudformation/cloudformation-resource-schema/master/src/main/resources/schema/provider.definition.schema.v1.json",
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/CNAMEPrefix",
- "/properties/EnvironmentName",
- "/properties/ApplicationName",
- "/properties/SolutionStackName",
- "/properties/Tier/Name",
- "/properties/Tier/Type"
- ],
- "definitions": {
- "OptionSetting": {
- "additionalProperties": false,
- "properties": {
- "Namespace": {
- "type": "string"
- },
- "OptionName": {
- "type": "string"
- },
- "ResourceName": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Namespace",
- "OptionName"
- ],
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- },
- "Tier": {
- "additionalProperties": false,
- "properties": {
- "Name": {
- "type": "string"
- },
- "Type": {
- "type": "string"
- },
- "Version": {
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "elasticbeanstalk:DescribeEnvironments",
- "elasticbeanstalk:CreateEnvironment",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 120
- },
- "delete": {
- "permissions": [
- "elasticbeanstalk:DescribeEnvironments",
- "elasticbeanstalk:TerminateEnvironment"
- ],
- "timeoutInMinutes": 210
- },
- "list": {
- "permissions": [
- "elasticbeanstalk:DescribeEnvironments"
- ]
- },
- "read": {
- "permissions": [
- "elasticbeanstalk:DescribeEnvironments",
- "elasticbeanstalk:DescribeConfigurationSettings",
- "elasticbeanstalk:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "elasticbeanstalk:DescribeEnvironments",
- "elasticbeanstalk:UpdateEnvironment",
- "elasticbeanstalk:UpdateTagsForResource",
- "elasticbeanstalk:AssociateEnvironmentOperationsRole",
- "elasticbeanstalk:DisassociateEnvironmentOperationsRole",
- "iam:PassRole"
- ],
- "timeoutInMinutes": 300
- }
- },
- "primaryIdentifier": [
- "/properties/EnvironmentName"
- ],
- "properties": {
- "ApplicationName": {
- "type": "string"
- },
- "CNAMEPrefix": {
- "type": "string"
- },
- "Description": {
- "type": "string"
- },
- "EndpointURL": {
- "type": "string"
- },
- "EnvironmentName": {
- "type": "string"
- },
- "OperationsRole": {
- "type": "string"
- },
- "OptionSettings": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/OptionSetting"
- },
- "type": "array",
- "uniqueItems": false
- },
- "PlatformArn": {
- "type": "string"
- },
- "SolutionStackName": {
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array",
- "uniqueItems": false
- },
- "TemplateName": {
- "type": "string"
- },
- "Tier": {
- "$ref": "#/definitions/Tier"
- },
- "VersionLabel": {
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/EndpointURL"
- ],
- "required": [
- "ApplicationName"
- ],
- "tagging": {
- "cloudFormationSystemTags": false,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::ElasticBeanstalk::Environment",
- "writeOnlyProperties": [
- "/properties/TemplateName",
- "/properties/OptionSettings",
- "/properties/OptionSettings/*/OptionName",
- "/properties/OptionSettings/*/ResourceName",
- "/properties/OptionSettings/*/Namespace",
- "/properties/OptionSettings/*/Value"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-authorizer.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-authorizer.json
deleted file mode 100644
index 6f5075023c..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-authorizer.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/SigningDisabled",
- "/properties/AuthorizerName"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iot:CreateAuthorizer",
- "iot:DescribeAuthorizer",
- "iot:TagResource",
- "iot:ListTagsForResource"
- ]
- },
- "delete": {
- "permissions": [
- "iot:UpdateAuthorizer",
- "iot:DeleteAuthorizer",
- "iot:DescribeAuthorizer"
- ]
- },
- "list": {
- "permissions": [
- "iot:ListAuthorizers"
- ]
- },
- "read": {
- "permissions": [
- "iot:DescribeAuthorizer",
- "iot:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "iot:UpdateAuthorizer",
- "iot:DescribeAuthorizer",
- "iot:TagResource",
- "iot:UntagResource",
- "iot:ListTagsForResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/AuthorizerName"
- ],
- "properties": {
- "Arn": {
- "type": "string"
- },
- "AuthorizerFunctionArn": {
- "type": "string"
- },
- "AuthorizerName": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "[\\w=,@-]+",
- "type": "string"
- },
- "EnableCachingForHttp": {
- "type": "boolean"
- },
- "SigningDisabled": {
- "type": "boolean"
- },
- "Status": {
- "enum": [
- "ACTIVE",
- "INACTIVE"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- },
- "TokenKeyName": {
- "type": "string"
- },
- "TokenSigningPublicKeys": {
- "additionalProperties": false,
- "patternProperties": {
- "[a-zA-Z0-9:_-]+": {
- "maxLength": 5120,
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "required": [
- "AuthorizerFunctionArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::IoT::Authorizer"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-cacertificate.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-cacertificate.json
deleted file mode 100644
index eb632b3219..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-cacertificate.json
+++ /dev/null
@@ -1,173 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/VerificationCertificatePem",
- "/properties/CertificateMode",
- "/properties/CACertificatePem"
- ],
- "definitions": {
- "RegistrationConfig": {
- "additionalProperties": false,
- "properties": {
- "RoleArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "arn:(aws[a-zA-Z-]*)?:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+",
- "type": "string"
- },
- "TemplateBody": {
- "maxLength": 10240,
- "minLength": 0,
- "pattern": "[\\s\\S]*",
- "type": "string"
- },
- "TemplateName": {
- "maxLength": 36,
- "minLength": 1,
- "pattern": "^[0-9A-Za-z_-]+$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 127,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:GetRole",
- "iam:PassRole",
- "iot:RegisterCACertificate",
- "iot:DescribeCACertificate",
- "iot:TagResource",
- "iot:ListTagsForResource"
- ]
- },
- "delete": {
- "permissions": [
- "iot:UpdateCACertificate",
- "iot:DeleteCACertificate",
- "iot:DescribeCACertificate"
- ]
- },
- "list": {
- "permissions": [
- "iot:ListCACertificates"
- ]
- },
- "read": {
- "permissions": [
- "iot:DescribeCACertificate",
- "iot:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "iam:GetRole",
- "iam:PassRole",
- "iot:UpdateCACertificate",
- "iot:DescribeCACertificate",
- "iot:TagResource",
- "iot:UntagResource",
- "iot:ListTagsForResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/Id"
- ],
- "properties": {
- "Arn": {
- "type": "string"
- },
- "AutoRegistrationStatus": {
- "enum": [
- "ENABLE",
- "DISABLE"
- ],
- "type": "string"
- },
- "CACertificatePem": {
- "maxLength": 65536,
- "minLength": 1,
- "pattern": "[\\s\\S]*",
- "type": "string"
- },
- "CertificateMode": {
- "enum": [
- "DEFAULT",
- "SNI_ONLY"
- ],
- "type": "string"
- },
- "Id": {
- "type": "string"
- },
- "RegistrationConfig": {
- "$ref": "#/definitions/RegistrationConfig"
- },
- "RemoveAutoRegistration": {
- "type": "boolean"
- },
- "Status": {
- "enum": [
- "ACTIVE",
- "INACTIVE"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- },
- "VerificationCertificatePem": {
- "maxLength": 65536,
- "minLength": 1,
- "pattern": "[\\s\\S]*",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/Id"
- ],
- "required": [
- "CACertificatePem",
- "Status"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::IoT::CACertificate",
- "writeOnlyProperties": [
- "/properties/VerificationCertificatePem",
- "/properties/RemoveAutoRegistration"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-certificateprovider.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-certificateprovider.json
deleted file mode 100644
index e0d97244bc..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-certificateprovider.json
+++ /dev/null
@@ -1,124 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/CertificateProviderName"
- ],
- "definitions": {
- "CertificateProviderOperation": {
- "enum": [
- "CreateCertificateFromCsr"
- ],
- "type": "string"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 127,
- "minLength": 1,
- "type": "string"
- },
- "Value": {
- "maxLength": 255,
- "minLength": 1,
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iot:CreateCertificateProvider",
- "iot:DescribeCertificateProvider",
- "iot:TagResource",
- "iot:ListTagsForResource"
- ]
- },
- "delete": {
- "permissions": [
- "iot:DeleteCertificateProvider",
- "iot:DescribeCertificateProvider"
- ]
- },
- "list": {
- "permissions": [
- "iot:ListCertificateProviders"
- ]
- },
- "read": {
- "permissions": [
- "iot:DescribeCertificateProvider",
- "iot:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "iot:UpdateCertificateProvider",
- "iot:DescribeCertificateProvider",
- "iot:TagResource",
- "iot:UntagResource",
- "iot:ListTagsForResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/CertificateProviderName"
- ],
- "properties": {
- "AccountDefaultForOperations": {
- "insertionOrder": false,
- "items": {
- "$ref": "#/definitions/CertificateProviderOperation"
- },
- "maxItems": 1,
- "minItems": 1,
- "type": "array",
- "uniqueItems": true
- },
- "Arn": {
- "type": "string"
- },
- "CertificateProviderName": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "[\\w=,@-]+",
- "type": "string"
- },
- "LambdaFunctionArn": {
- "maxLength": 170,
- "minLength": 1,
- "type": "string"
- },
- "Tags": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "maxItems": 50,
- "type": "array"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn"
- ],
- "replacementStrategy": "delete_then_create",
- "required": [
- "LambdaFunctionArn",
- "AccountDefaultForOperations"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::IoT::CertificateProvider"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-domainconfiguration.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-domainconfiguration.json
deleted file mode 100644
index 6fb0a77acb..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-domainconfiguration.json
+++ /dev/null
@@ -1,223 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/DomainConfigurationName",
- "/properties/DomainName",
- "/properties/ServiceType",
- "/properties/ValidationCertificateArn",
- "/properties/ServerCertificateArns"
- ],
- "definitions": {
- "AuthorizerConfig": {
- "additionalProperties": false,
- "properties": {
- "AllowAuthorizerOverride": {
- "type": "boolean"
- },
- "DefaultAuthorizerName": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[\\w=,@-]+$",
- "type": "string"
- }
- },
- "type": "object"
- },
- "ServerCertificateConfig": {
- "additionalProperties": false,
- "properties": {
- "EnableOCSPCheck": {
- "type": "boolean"
- }
- },
- "type": "object"
- },
- "ServerCertificateSummary": {
- "additionalProperties": false,
- "properties": {
- "ServerCertificateArn": {
- "maxLength": 2048,
- "minLength": 1,
- "pattern": "^arn:aws(-cn|-us-gov|-iso-b|-iso)?:acm:[a-z]{2}-(gov-|iso-|isob-)?[a-z]{4,9}-\\d{1}:\\d{12}:certificate/[a-zA-Z0-9/-]+$",
- "type": "string"
- },
- "ServerCertificateStatus": {
- "enum": [
- "INVALID",
- "VALID"
- ],
- "type": "string"
- },
- "ServerCertificateStatusDetail": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- },
- "TlsConfig": {
- "additionalProperties": false,
- "properties": {
- "SecurityPolicy": {
- "maxLength": 128,
- "type": "string"
- }
- },
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iot:CreateDomainConfiguration",
- "iot:UpdateDomainConfiguration",
- "iot:DescribeDomainConfiguration",
- "iot:TagResource",
- "iot:ListTagsForResource",
- "acm:GetCertificate"
- ]
- },
- "delete": {
- "permissions": [
- "iot:DescribeDomainConfiguration",
- "iot:DeleteDomainConfiguration",
- "iot:UpdateDomainConfiguration"
- ]
- },
- "list": {
- "permissions": [
- "iot:ListDomainConfigurations"
- ]
- },
- "read": {
- "permissions": [
- "iot:DescribeDomainConfiguration",
- "iot:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "iot:UpdateDomainConfiguration",
- "iot:DescribeDomainConfiguration",
- "iot:ListTagsForResource",
- "iot:TagResource",
- "iot:UntagResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/DomainConfigurationName"
- ],
- "properties": {
- "Arn": {
- "type": "string"
- },
- "AuthorizerConfig": {
- "$ref": "#/definitions/AuthorizerConfig"
- },
- "DomainConfigurationName": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "^[\\w.-]+$",
- "type": "string"
- },
- "DomainConfigurationStatus": {
- "enum": [
- "ENABLED",
- "DISABLED"
- ],
- "type": "string"
- },
- "DomainName": {
- "maxLength": 253,
- "minLength": 1,
- "type": "string"
- },
- "DomainType": {
- "enum": [
- "ENDPOINT",
- "AWS_MANAGED",
- "CUSTOMER_MANAGED"
- ],
- "type": "string"
- },
- "ServerCertificateArns": {
- "insertionOrder": true,
- "items": {
- "maxLength": 2048,
- "minLength": 1,
- "pattern": "^arn:aws(-cn|-us-gov|-iso-b|-iso)?:acm:[a-z]{2}-(gov-|iso-|isob-)?[a-z]{4,9}-\\d{1}:\\d{12}:certificate/[a-zA-Z0-9/-]+$",
- "type": "string"
- },
- "maxItems": 1,
- "minItems": 0,
- "type": "array"
- },
- "ServerCertificateConfig": {
- "$ref": "#/definitions/ServerCertificateConfig"
- },
- "ServerCertificates": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/ServerCertificateSummary"
- },
- "type": "array"
- },
- "ServiceType": {
- "enum": [
- "DATA",
- "CREDENTIAL_PROVIDER",
- "JOBS"
- ],
- "type": "string"
- },
- "Tags": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- },
- "TlsConfig": {
- "$ref": "#/definitions/TlsConfig"
- },
- "ValidationCertificateArn": {
- "pattern": "^arn:aws(-cn|-us-gov|-iso-b|-iso)?:acm:[a-z]{2}-(gov-|iso-|isob-)?[a-z]{4,9}-\\d{1}:\\d{12}:certificate/[a-zA-Z0-9/-]+$",
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/Arn",
- "/properties/DomainType",
- "/properties/ServerCertificates"
- ],
- "required": [],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::IoT::DomainConfiguration",
- "writeOnlyProperties": [
- "/properties/ValidationCertificateArn",
- "/properties/ServerCertificateArns"
- ]
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-provisioningtemplate.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-provisioningtemplate.json
deleted file mode 100644
index 52368e152b..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-provisioningtemplate.json
+++ /dev/null
@@ -1,139 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/TemplateName",
- "/properties/TemplateType"
- ],
- "definitions": {
- "ProvisioningHook": {
- "properties": {
- "PayloadVersion": {
- "type": "string"
- },
- "TargetArn": {
- "type": "string"
- }
- },
- "type": "object"
- },
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "type": "string"
- },
- "Value": {
- "type": "string"
- }
- },
- "required": [
- "Key",
- "Value"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:GetRole",
- "iam:PassRole",
- "iot:CreateProvisioningTemplate",
- "iot:DescribeProvisioningTemplate",
- "iot:TagResource",
- "iot:ListTagsForResource"
- ]
- },
- "delete": {
- "permissions": [
- "iot:DeleteProvisioningTemplate",
- "iot:DescribeProvisioningTemplate"
- ]
- },
- "list": {
- "permissions": [
- "iot:ListProvisioningTemplates"
- ]
- },
- "read": {
- "permissions": [
- "iot:DescribeProvisioningTemplate",
- "iot:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "iam:GetRole",
- "iam:PassRole",
- "iot:UpdateProvisioningTemplate",
- "iot:CreateProvisioningTemplateVersion",
- "iot:ListProvisioningTemplateVersions",
- "iot:DeleteProvisioningTemplateVersion",
- "iot:DescribeProvisioningTemplate",
- "iot:TagResource",
- "iot:UntagResource",
- "iot:ListTagsForResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/TemplateName"
- ],
- "properties": {
- "Description": {
- "maxLength": 500,
- "type": "string"
- },
- "Enabled": {
- "type": "boolean"
- },
- "PreProvisioningHook": {
- "$ref": "#/definitions/ProvisioningHook"
- },
- "ProvisioningRoleArn": {
- "type": "string"
- },
- "Tags": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- },
- "TemplateArn": {
- "type": "string"
- },
- "TemplateBody": {
- "type": "string"
- },
- "TemplateName": {
- "maxLength": 36,
- "minLength": 1,
- "pattern": "^[0-9A-Za-z_-]+$",
- "type": "string"
- },
- "TemplateType": {
- "enum": [
- "FLEET_PROVISIONING",
- "JITP"
- ],
- "type": "string"
- }
- },
- "readOnlyProperties": [
- "/properties/TemplateArn"
- ],
- "required": [
- "ProvisioningRoleArn",
- "TemplateBody"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::IoT::ProvisioningTemplate"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-rolealias.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-rolealias.json
deleted file mode 100644
index 6a2e419b45..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-iot-rolealias.json
+++ /dev/null
@@ -1,123 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/RoleAlias"
- ],
- "definitions": {
- "Tag": {
- "additionalProperties": false,
- "properties": {
- "Key": {
- "maxLength": 127,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- },
- "Value": {
- "maxLength": 255,
- "minLength": 1,
- "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
- "type": "string"
- }
- },
- "required": [
- "Value",
- "Key"
- ],
- "type": "object"
- }
- },
- "handlers": {
- "create": {
- "permissions": [
- "iam:GetRole",
- "iam:PassRole",
- "iot:CreateRoleAlias",
- "iot:DescribeRoleAlias",
- "iot:TagResource",
- "iot:ListTagsForResource"
- ]
- },
- "delete": {
- "permissions": [
- "iot:DeleteRoleAlias",
- "iot:DescribeRoleAlias"
- ]
- },
- "list": {
- "permissions": [
- "iot:ListRoleAliases"
- ]
- },
- "read": {
- "permissions": [
- "iam:GetRole",
- "iam:PassRole",
- "iot:DescribeRoleAlias",
- "iot:ListTagsForResource"
- ]
- },
- "update": {
- "permissions": [
- "iam:GetRole",
- "iam:PassRole",
- "iot:UpdateRoleAlias",
- "iot:DescribeRoleAlias",
- "iot:TagResource",
- "iot:UntagResource",
- "iot:ListTagsForResource"
- ]
- }
- },
- "primaryIdentifier": [
- "/properties/RoleAlias"
- ],
- "properties": {
- "CredentialDurationSeconds": {
- "default": 3600,
- "maximum": 43200,
- "minimum": 900,
- "type": "integer"
- },
- "RoleAlias": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "[\\w=,@-]+",
- "type": "string"
- },
- "RoleAliasArn": {
- "maxLength": 128,
- "minLength": 1,
- "pattern": "[\\w=,@-]+",
- "type": "string"
- },
- "RoleArn": {
- "maxLength": 2048,
- "minLength": 20,
- "pattern": "arn:(aws[a-zA-Z-]*)?:iam::\\d{12}:role/?[a-zA-Z_0-9+=,.@\\-_/]+",
- "type": "string"
- },
- "Tags": {
- "insertionOrder": true,
- "items": {
- "$ref": "#/definitions/Tag"
- },
- "type": "array"
- }
- },
- "readOnlyProperties": [
- "/properties/RoleAliasArn"
- ],
- "required": [
- "RoleArn"
- ],
- "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
- "tagging": {
- "cloudFormationSystemTags": true,
- "tagOnCreate": true,
- "tagProperty": "/properties/Tags",
- "tagUpdatable": true,
- "taggable": true
- },
- "typeName": "AWS::IoT::RoleAlias"
-}
diff --git a/src/cfnlint/data/schemas/providers/ap_east_1/aws-lambda-function.json b/src/cfnlint/data/schemas/providers/ap_east_1/aws-lambda-function.json
deleted file mode 100644
index 39009ea83f..0000000000
--- a/src/cfnlint/data/schemas/providers/ap_east_1/aws-lambda-function.json
+++ /dev/null
@@ -1,559 +0,0 @@
-{
- "additionalProperties": false,
- "createOnlyProperties": [
- "/properties/FunctionName"
- ],
- "definitions": {
- "Code": {
- "additionalProperties": false,
- "properties": {
- "ImageUri": {
- "type": "string"
- },
- "S3Bucket": {
- "maxLength": 63,
- "minLength": 3,
- "pattern": "^[0-9A-Za-z\\.\\-_]*(? Tuple[Any, Any]:
"""
Filter the schemas to only include the ones that are required
@@ -104,7 +109,7 @@ def _filter_schemas(self, schema, validator: Validator) -> Tuple[Any, Any]:
def filter(self, validator: Any, instance: Any, schema: Any):
# Lets validate dynamic references when appropriate
- if validator.is_type(instance, "string"):
+ if validator.is_type(instance, "string") and self.validate_dynamic_references:
if REGEX_DYN_REF.findall(instance):
# if we are in a function we can't validate
# dynamic references the same way
diff --git a/src/cfnlint/jsonschema/_keywords.py b/src/cfnlint/jsonschema/_keywords.py
index fc3d2e1af2..3d9457225b 100644
--- a/src/cfnlint/jsonschema/_keywords.py
+++ b/src/cfnlint/jsonschema/_keywords.py
@@ -105,7 +105,14 @@ def anyOf(
)
all_errors = []
for index, subschema in enumerate(anyOf):
- errs = list(validator.descend(instance, subschema, schema_path=index))
+ errs = []
+ # warning and informational errors need to be returned but shouldn't
+ # be part of if the anyOf is valid
+ for err in validator.descend(instance, subschema, schema_path=index):
+ if err.rule is not None and not err.rule.id.startswith("E"):
+ yield err
+ continue
+ errs.append(err)
if not errs:
break
all_errors.extend(errs)
diff --git a/src/cfnlint/jsonschema/_resolvers_cfn.py b/src/cfnlint/jsonschema/_resolvers_cfn.py
index 77edff1b6b..5c84aa3539 100644
--- a/src/cfnlint/jsonschema/_resolvers_cfn.py
+++ b/src/cfnlint/jsonschema/_resolvers_cfn.py
@@ -25,11 +25,11 @@ def ref(validator: Validator, instance: Any) -> ResolutionResult:
if not isinstance(instance, (str, dict)):
return
- for instance, _, _ in validator.resolve_value(instance):
+ for instance, instance_validator, _ in validator.resolve_value(instance):
if validator.is_type(instance, "string"):
# if the ref is to pseudo-parameter or parameter we can validate the values
- for v, c in validator.context.ref_value(instance):
- yield v, validator.evolve(context=c), None
+ for v, c in instance_validator.context.ref_value(instance):
+ yield v, instance_validator.evolve(context=c), None
return
@@ -54,11 +54,13 @@ def find_in_map(validator: Validator, instance: Any) -> ResolutionResult:
), None
default_value_found = True
- if not default_value_found and not validator.context.mappings:
+ if not default_value_found and not validator.context.mappings.maps:
+ if validator.context.mappings.is_transform:
+ return
yield None, validator, ValidationError(
(
f"{instance[0]!r} is not one of "
- f"{list(validator.context.mappings.keys())!r}"
+ f"{list(validator.context.mappings.maps.keys())!r}"
),
path=deque([0]),
)
@@ -71,13 +73,13 @@ def find_in_map(validator: Validator, instance: Any) -> ResolutionResult:
)
and validator.is_type(instance[2], "string")
):
- map = validator.context.mappings.get(instance[0])
+ map = validator.context.mappings.maps.get(instance[0])
if map is None:
if not default_value_found:
yield None, validator, ValidationError(
(
f"{instance[0]!r} is not one of "
- f"{list(validator.context.mappings.keys())!r}"
+ f"{list(validator.context.mappings.maps.keys())!r}"
),
path=deque([0]),
)
diff --git a/src/cfnlint/jsonschema/validators.py b/src/cfnlint/jsonschema/validators.py
index 0dcee07ae0..e6c5ada5a3 100644
--- a/src/cfnlint/jsonschema/validators.py
+++ b/src/cfnlint/jsonschema/validators.py
@@ -172,16 +172,23 @@ def resolve_value(self, instance: Any) -> ResolutionResult:
for r_value, r_validator, r_errs in self._resolve_fn(key, value): # type: ignore
if not r_errs:
try:
- if self.cfn.conditions.satisfiable(
- r_validator.context.conditions.status,
- r_validator.context.ref_values,
+ for _, region_context in r_validator.context.ref_value(
+ "AWS::Region"
):
- yield r_value, r_validator, r_errs
+ if self.cfn.conditions.satisfiable(
+ region_context.conditions.status,
+ region_context.ref_values,
+ ):
+ yield r_value, r_validator.evolve(
+ context=region_context.evolve(
+ is_resolved_value=True,
+ )
+ ), r_errs
except UnknownSatisfisfaction as err:
LOGGER.debug(err)
return
else:
- yield None, self, r_errs # type: ignore
+ yield None, r_validator, r_errs # type: ignore
return
# The return type is a Protocol and we are returning an instance
diff --git a/src/cfnlint/rules/functions/DynamicReference.py b/src/cfnlint/rules/functions/DynamicReference.py
index 745e3c6bc8..7819ba0bf9 100644
--- a/src/cfnlint/rules/functions/DynamicReference.py
+++ b/src/cfnlint/rules/functions/DynamicReference.py
@@ -95,12 +95,17 @@ def dynamicReference(
# SSM parameters can be used in Resources and Outputs and Parameters
# SSM secrets are only used in a small number of locations
# Secrets manager can be used only in resource properties
+ validator = validator.evolve(
+ function_filter=validator.function_filter.evolve(
+ add_cfn_lint_keyword=False,
+ ),
+ )
for v in REGEX_DYN_REF.findall(instance):
parts = v.split(":")
- evolved = validator.evolve(schema=_all)
found = False
+ evolved = validator.evolve(schema=_all)
for err in evolved.iter_errors(parts):
yield self._clean_errors(err)
found = True
@@ -126,4 +131,3 @@ def dynamicReference(
for err in evolved.iter_errors(parts):
yield self._clean_errors(err)
- found = True
diff --git a/src/cfnlint/rules/functions/GetAtt.py b/src/cfnlint/rules/functions/GetAtt.py
index 03e2020464..006bf1922c 100644
--- a/src/cfnlint/rules/functions/GetAtt.py
+++ b/src/cfnlint/rules/functions/GetAtt.py
@@ -102,10 +102,6 @@ def _resolve_getatt(
yield err
continue
- # because of the complexities of schemas ($ref, anyOf, allOf, etc.)
- # we will simplify the validator to just have a type check
- # then we will provide a simple value to represent the type from the
- # getAtt
evolved = validator.evolve(schema=s) # type: ignore
evolved.validators = { # type: ignore
"type": validator.validators.get("type"), # type: ignore
@@ -124,7 +120,6 @@ def _resolve_getatt(
t, validator.context.regions
):
getatt_schema = schema.resolver.resolve_cfn_pointer(pointer)
-
if not getatt_schema.get("type") or not s.get("type"):
continue
diff --git a/src/cfnlint/rules/functions/GetAttFormat.py b/src/cfnlint/rules/functions/GetAttFormat.py
index a7fd660855..7495b2eb0c 100644
--- a/src/cfnlint/rules/functions/GetAttFormat.py
+++ b/src/cfnlint/rules/functions/GetAttFormat.py
@@ -30,6 +30,7 @@ def __init__(self):
self._resource_type_exceptions = [
"AWS::CloudFormation::CustomResource",
"AWS::CloudFormation::Stack",
+ "AWS::ServiceCatalog::CloudFormationProvisionedProduct",
]
def validate(
diff --git a/src/cfnlint/rules/functions/SubUnneeded.py b/src/cfnlint/rules/functions/SubUnneeded.py
index 48c5acd1ad..dc7b908c23 100644
--- a/src/cfnlint/rules/functions/SubUnneeded.py
+++ b/src/cfnlint/rules/functions/SubUnneeded.py
@@ -7,7 +7,7 @@
import regex as re
-from cfnlint.helpers import REGEX_SUB_PARAMETERS
+from cfnlint.helpers import REGEX_SUB_PARAMETERS, ensure_list
from cfnlint.jsonschema import ValidationError, ValidationResult, Validator
from cfnlint.rules import CloudFormationLintRule
@@ -24,6 +24,10 @@ class SubUnneeded(CloudFormationLintRule):
def validate(
self, validator: Validator, s: Any, instance: Any, schema: Any
) -> ValidationResult:
+ if "AWS::Serverless-2016-10-31" in ensure_list(
+ validator.cfn.transform_pre.get("Transform")
+ ):
+ return
if validator.is_type(instance, "string"):
variables = re.findall(REGEX_SUB_PARAMETERS, instance)
path = []
diff --git a/src/cfnlint/rules/functions/_BaseFn.py b/src/cfnlint/rules/functions/_BaseFn.py
index cc48f886eb..8385045e56 100644
--- a/src/cfnlint/rules/functions/_BaseFn.py
+++ b/src/cfnlint/rules/functions/_BaseFn.py
@@ -8,7 +8,7 @@
from collections import namedtuple
from typing import Any, Tuple
-from cfnlint.helpers import ToPy, ensure_list
+from cfnlint.helpers import ToPy, ensure_list, is_types_compatible
from cfnlint.jsonschema import ValidationError, ValidationResult, Validator
from cfnlint.rules import CloudFormationLintRule
@@ -62,7 +62,12 @@ def resolve(
) -> ValidationResult:
key, _ = self.key_value(instance)
- return_err: ValidationError | None = None
+ validator = validator.evolve(
+ context=validator.context.evolve(
+ strict_types=False,
+ ),
+ )
+ all_errs = []
for value, v, resolve_err in validator.resolve_value(instance):
if resolve_err:
yield resolve_err
@@ -80,16 +85,12 @@ def resolve(
if not errs:
return
- return_err = errs[0]
+ for err in errs:
+ err.message = err.message.replace(f"{value!r}", f"{instance!r}")
+ err.message = f"{err.message} when {self.fn.name!r} is resolved"
+ all_errs.append(err)
- if return_err:
- return_err.message = return_err.message.replace(
- f"{value!r}", f"{instance!r}"
- )
- return_err.message = (
- f"{return_err.message} when {self.fn.name!r} is resolved"
- )
- yield return_err
+ yield from iter(all_errs)
def _resolve_ref(self, validator, schema) -> Any:
@@ -118,7 +119,7 @@ def validate_fn_output_types(
) -> ValidationResult:
tS = self.resolve_type(validator, s)
if tS:
- if not any(t in self.types for t in tS):
+ if not is_types_compatible(self.types, tS):
reprs = ", ".join(repr(type) for type in tS)
yield ValidationError(f"{instance!r} is not of type {reprs}")
diff --git a/src/cfnlint/rules/jsonschema/CfnLintJsonSchema.py b/src/cfnlint/rules/jsonschema/CfnLintJsonSchema.py
index e00f58ec51..8e3fda748c 100644
--- a/src/cfnlint/rules/jsonschema/CfnLintJsonSchema.py
+++ b/src/cfnlint/rules/jsonschema/CfnLintJsonSchema.py
@@ -67,7 +67,12 @@ def validate(
schema = self._schema
cfn_validator = self.extend_validator(
- validator=validator,
+ validator=validator.evolve(
+ function_filter=validator.function_filter.evolve(
+ validate_dynamic_references=False,
+ add_cfn_lint_keyword=False,
+ )
+ ),
schema=schema,
context=validator.context.evolve(
functions=[],
diff --git a/src/cfnlint/rules/mappings/Used.py b/src/cfnlint/rules/mappings/Used.py
index af34cefbff..0c2488b3fc 100644
--- a/src/cfnlint/rules/mappings/Used.py
+++ b/src/cfnlint/rules/mappings/Used.py
@@ -4,6 +4,7 @@
"""
from cfnlint._typing import RuleMatches
+from cfnlint.helpers import is_function
from cfnlint.rules import CloudFormationLintRule, RuleMatch
from cfnlint.template import Template
@@ -22,6 +23,12 @@ def match(self, cfn: Template) -> RuleMatches:
findinmap_mappings = []
mappings = cfn.template.get("Mappings", {})
+ k, _ = is_function(mappings)
+ if k == "Fn::Transform":
+ self.logger.debug(
+ (f"Mapping Name has a transform. Disabling check {self.id!r}"),
+ )
+ return matches
if mappings:
# Get all "FindInMaps" that reference a Mapping
diff --git a/src/cfnlint/rules/parameters/Configuration.py b/src/cfnlint/rules/parameters/Configuration.py
index 5b80d4c21c..f7d62cd8ea 100644
--- a/src/cfnlint/rules/parameters/Configuration.py
+++ b/src/cfnlint/rules/parameters/Configuration.py
@@ -72,7 +72,7 @@ def validate(self, validator: Validator, _: Any, instance: Any, schema: Any):
for err in super()._iter_errors(cfn_validator, instance):
# we use enum twice. Once for the type and once for the property
- # names. There are seperate error numbers so we do this.
+ # names. There are separate error numbers so we do this.
if "propertyNames" in err.schema_path and "enum" in err.schema_path:
err.rule = self
yield err
diff --git a/src/cfnlint/rules/parameters/Default.py b/src/cfnlint/rules/parameters/Default.py
index 8d7f7dd62e..240cea7cae 100644
--- a/src/cfnlint/rules/parameters/Default.py
+++ b/src/cfnlint/rules/parameters/Default.py
@@ -6,6 +6,7 @@
import regex as re
from cfnlint._typing import RuleMatches
+from cfnlint.helpers import VALID_PARAMETER_TYPES_LIST
from cfnlint.rules import CloudFormationLintRule, RuleMatch
from cfnlint.template import Template
@@ -127,8 +128,8 @@ def match_default_value(self, paramname, paramvalue, default_value):
matches.extend(self.check_max_length(default_value, max_length, path))
return matches
- def is_cdl(self, paramvalue):
- return paramvalue.get("Type") == "CommaDelimitedList"
+ def is_list(self, paramvalue):
+ return paramvalue.get("Type") in VALID_PARAMETER_TYPES_LIST
def match(self, cfn: Template) -> RuleMatches:
matches = []
@@ -137,7 +138,7 @@ def match(self, cfn: Template) -> RuleMatches:
param_cdl_matches = []
param_matches = []
default_value = paramvalue.get("Default")
- if default_value is not None and self.is_cdl(paramvalue):
+ if default_value is not None and self.is_list(paramvalue):
comma_delimited_default_values = [
x.strip() for x in default_value.split(",")
]
@@ -146,7 +147,7 @@ def match(self, cfn: Template) -> RuleMatches:
self.match_default_value(paramname, paramvalue, value)
)
- if param_cdl_matches or not self.is_cdl(paramvalue):
+ if param_cdl_matches or not self.is_list(paramvalue):
param_matches.extend(
self.match_default_value(paramname, paramvalue, default_value)
)
diff --git a/src/cfnlint/rules/resources/PrimaryIdentifiers.py b/src/cfnlint/rules/resources/PrimaryIdentifiers.py
index 4dda66b073..bf3305c447 100644
--- a/src/cfnlint/rules/resources/PrimaryIdentifiers.py
+++ b/src/cfnlint/rules/resources/PrimaryIdentifiers.py
@@ -145,6 +145,9 @@ def match(self, cfn: Template) -> RuleMatches:
# by the customer so if any primary identifiers are read
# only we have to skip evaluation
primary_ids = schema.schema.get("primaryIdentifier", [])
+ if not primary_ids:
+ continue
+
read_only_ids = schema.schema.get("readOnlyProperties", [])
if any(id in read_only_ids for id in primary_ids):
diff --git a/src/cfnlint/rules/resources/properties/Type.py b/src/cfnlint/rules/resources/properties/Type.py
index 97daeb2c00..19ed7921b1 100644
--- a/src/cfnlint/rules/resources/properties/Type.py
+++ b/src/cfnlint/rules/resources/properties/Type.py
@@ -46,7 +46,9 @@ def type(self, validator, types, instance, schema):
):
return
- if self.config.get("strict") or validator.context.strict_types:
+ if (
+ self.config.get("strict") or validator.context.strict_types
+ ) and not validator.context.is_resolved_value:
validator = validator.evolve(
context=validator.context.evolve(strict_types=True)
)
diff --git a/src/cfnlint/rules/transforms/Configuration.py b/src/cfnlint/rules/transforms/Configuration.py
new file mode 100644
index 0000000000..489c4d832a
--- /dev/null
+++ b/src/cfnlint/rules/transforms/Configuration.py
@@ -0,0 +1,31 @@
+"""
+Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+SPDX-License-Identifier: MIT-0
+"""
+
+from __future__ import annotations
+
+import cfnlint.data.schemas.other.transforms
+from cfnlint.rules.jsonschema.CfnLintJsonSchema import CfnLintJsonSchema, SchemaDetails
+
+
+class Configuration(CfnLintJsonSchema):
+ """Check if Parameters are configured correctly"""
+
+ id = "E1005"
+ shortdesc = "Validate Transform configuration"
+ description = (
+ "Validate that the transforms section of a template is properly configured"
+ )
+ source_url = "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html"
+ tags = ["transform"]
+
+ def __init__(self):
+ """Init"""
+ super().__init__(
+ keywords=["Transform"],
+ schema_details=SchemaDetails(
+ cfnlint.data.schemas.other.transforms, "configuration.json"
+ ),
+ all_matches=True,
+ )
diff --git a/src/cfnlint/rules/transforms/__init__.py b/src/cfnlint/rules/transforms/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/src/cfnlint/runner.py b/src/cfnlint/runner.py
index 54b5aeac3b..b3da758d68 100644
--- a/src/cfnlint/runner.py
+++ b/src/cfnlint/runner.py
@@ -13,7 +13,7 @@
import cfnlint.formatters
import cfnlint.maintenance
-from cfnlint.config import ConfigMixIn
+from cfnlint.config import ConfigMixIn, configure_logging
from cfnlint.decode.decode import decode
from cfnlint.rules import Match, Rules
from cfnlint.rules.errors import ParseError, TransformError
@@ -213,13 +213,15 @@ def __init__(self, config: ConfigMixIn) -> None:
self.formatter = get_formatter(self.config)
self.rules: Rules = Rules()
self._get_rules()
+ # load registry schemas before patching
+ if self.config.registry_schemas:
+ for path in self.config.registry_schemas:
+ PROVIDER_SCHEMA_MANAGER.load_registry_schemas(path)
+ # now we can patch after loading all registry schemas
if self.config.override_spec:
PROVIDER_SCHEMA_MANAGER.patch(
self.config.override_spec, self.config.regions
)
- if self.config.registry_schemas:
- for path in self.config.registry_schemas:
- PROVIDER_SCHEMA_MANAGER.load_registry_schemas(path)
def _get_rules(self) -> None:
"""
@@ -398,6 +400,9 @@ def cli(self) -> None:
Raises:
None: This function does not raise any exceptions.
"""
+ # Add our logging configuration when running CLI
+ configure_logging(self.config.debug, self.config.info)
+
if self.config.update_specs:
cfnlint.maintenance.update_resource_specs(self.config.force)
sys.exit(0)
diff --git a/src/cfnlint/schema/_getatts.py b/src/cfnlint/schema/_getatts.py
index 22343251fd..7bf89339d1 100644
--- a/src/cfnlint/schema/_getatts.py
+++ b/src/cfnlint/schema/_getatts.py
@@ -253,6 +253,14 @@ def __init__(self, schema: "Schema") -> None:
self._attrs["Outputs\\..*"] = "/properties/CfnLintStringType"
return
+ if schema.type_name == "AWS::ServiceCatalog::CloudFormationProvisionedProduct":
+ for ro_attr in schema.schema.get("readOnlyProperties", []):
+ if ro_attr == "/properties/Outputs":
+ self._attrs["Outputs\\..*"] = "/properties/CfnLintStringType"
+ else:
+ self._attrs[self._pointer_to_attr(ro_attr)] = ro_attr
+ return
+
for unnamed_type in _unnamed_unknown_types:
if schema.type_name.startswith(unnamed_type):
self._attrs[".*"] = "/properties/CfnLintAllTypes"
diff --git a/src/cfnlint/schema/manager.py b/src/cfnlint/schema/manager.py
index eccd6f0f66..9f8886a82c 100644
--- a/src/cfnlint/schema/manager.py
+++ b/src/cfnlint/schema/manager.py
@@ -144,7 +144,7 @@ def _normalize_resource_type(self, resource_type: str) -> str:
@lru_cache(maxsize=None)
def get_resource_schema(self, region: str, resource_type: str) -> Schema:
- """Get the provider resource shcema and cache it to speed up future lookups
+ """Get the provider resource schema and cache it to speed up future lookups
Args:
region (str): the region in which do get the provider schema for
@@ -152,7 +152,8 @@ def get_resource_schema(self, region: str, resource_type: str) -> Schema:
Returns:
dict: returns the schema
"""
- resource_type = self._normalize_resource_type(resource_type)
+ if resource_type not in self._registry_schemas:
+ resource_type = self._normalize_resource_type(resource_type)
if resource_type in self._removed_types:
raise ResourceNotFoundError(resource_type, region)
@@ -160,39 +161,40 @@ def get_resource_schema(self, region: str, resource_type: str) -> Schema:
reg = ToPy(region)
rt = ToPy(resource_type)
- schema = self._schemas[reg.name].get(resource_type)
- if schema is None:
- # dynamically import the modules as needed
- self._provider_schema_modules[reg.name] = __import__(
- f"{self._root.module}.{reg.py}", fromlist=[""]
- )
- # check cfn-lint provided schemas
- if resource_type in self._registry_schemas:
- self._schemas[reg.name][rt.name] = self._registry_schemas[rt.name]
- return self._schemas[reg.name][rt.name]
-
- # load the schema
- if f"{rt.provider}.json" in self._provider_schema_modules[reg.name].cached:
- schema_cached = copy(
- self.get_resource_schema(
- region=self._region_primary.name,
- resource_type=rt.name,
- )
+ schema = self._schemas[reg.name].get(rt.name)
+ if schema is not None:
+ return schema
+
+ # dynamically import the modules as needed
+ self._provider_schema_modules[reg.name] = __import__(
+ f"{self._root.module}.{reg.py}", fromlist=[""]
+ )
+ # check cfn-lint provided schemas
+ if rt.name in self._registry_schemas:
+ self._schemas[reg.name][rt.name] = self._registry_schemas[rt.name]
+ return self._schemas[reg.name][rt.name]
+
+ # load the schema
+ if f"{rt.provider}.json" in self._provider_schema_modules[reg.name].cached:
+ schema_cached = copy(
+ self.get_resource_schema(
+ region=self._region_primary.name,
+ resource_type=rt.name,
)
- schema_cached.is_cached = True
- self._schemas[reg.name][rt.name] = schema_cached
- return self._schemas[reg.name][rt.name]
- try:
- self._schemas[reg.name][rt.name] = Schema(
- load_resource(
- self._provider_schema_modules[reg.name],
- filename=f"{rt.provider}.json",
- )
+ )
+ schema_cached.is_cached = True
+ self._schemas[reg.name][rt.name] = schema_cached
+ return self._schemas[reg.name][rt.name]
+ try:
+ self._schemas[reg.name][rt.name] = Schema(
+ load_resource(
+ self._provider_schema_modules[reg.name],
+ filename=f"{rt.provider}.json",
)
- except Exception as e:
- raise ResourceNotFoundError(rt.name, region) from e
+ )
return self._schemas[reg.name][rt.name]
- return schema
+ except Exception as e:
+ raise ResourceNotFoundError(rt.name, region) from e
@lru_cache(maxsize=None)
def get_resource_types(self, region: str) -> list[str]:
@@ -368,23 +370,23 @@ def _update_provider_schema(self, region: str, force: bool = False) -> None:
e,
)
with open(f"{directory}__init__.py", encoding="utf-8", mode="w") as f:
- f.write("from typing import List\n\n")
- f.write("# pylint: disable=too-many-lines\ntypes = [\n")
- for rt in all_types:
+ f.write("from __future__ import annotations\n\n")
+ f.write("# pylint: disable=too-many-lines\ntypes: list[str] = [\n")
+ for rt in sorted(all_types):
f.write(f' "{rt}",\n')
f.write(
- "]\n\n# pylint: disable=too-many-lines\ncached: List[str] = [\n"
+ "]\n\n# pylint: disable=too-many-lines\ncached: list[str] = [\n"
)
- for cache_file in cached:
+ for cache_file in sorted(cached):
f.write(f' "{cache_file}",\n')
f.write("]\n")
else:
with open(f"{directory}__init__.py", encoding="utf-8", mode="w") as f:
- f.write("from typing import List\n\n")
- f.write("# pylint: disable=too-many-lines\ntypes = [\n")
- for rt in all_types:
+ f.write("from __future__ import annotations\n\n")
+ f.write("# pylint: disable=too-many-lines\ntypes: list[str] = [\n")
+ for rt in sorted(all_types):
f.write(f' "{rt}",\n')
- f.write("]\ncached: List[str] = []\n")
+ f.write("]\ncached: list[str] = []\n")
except Exception as e: # pylint: disable=broad-except
LOGGER.info("Issuing updating schemas for %s: %s", region, e)
diff --git a/src/cfnlint/template/transforms/_sam.py b/src/cfnlint/template/transforms/_sam.py
index 00fcf2956b..26fd206fa3 100644
--- a/src/cfnlint/template/transforms/_sam.py
+++ b/src/cfnlint/template/transforms/_sam.py
@@ -105,6 +105,8 @@ def _replace_local_codeuri(self):
if k == "Ref":
if v in self._template.get("Parameters"):
self._parameters[v] = "Alias"
+ if isinstance(resource_dict.get("AutoPublishCodeSha256"), dict):
+ resource_dict["AutoPublishCodeSha256"] = "fakesha"
if resource_type in ["AWS::Serverless::LayerVersion"]:
if resource_dict.get("ContentUri"):
Transform._update_to_s3_uri("ContentUri", resource_dict)
diff --git a/src/cfnlint/version.py b/src/cfnlint/version.py
index 1c32bb51a5..8098865dd9 100644
--- a/src/cfnlint/version.py
+++ b/src/cfnlint/version.py
@@ -3,4 +3,4 @@
SPDX-License-Identifier: MIT-0
"""
-__version__ = "1.4.2"
+__version__ = "1.6.1"
diff --git a/test/fixtures/results/integration/dynamic-references.json b/test/fixtures/results/integration/dynamic-references.json
new file mode 100644
index 0000000000..70ae3fd909
--- /dev/null
+++ b/test/fixtures/results/integration/dynamic-references.json
@@ -0,0 +1,31 @@
+[
+ {
+ "Filename": "test/fixtures/templates/integration/dynamic-references.yaml",
+ "Id": "e019d69f-56db-cf2f-2bbb-f951c3bc9782",
+ "Level": "Error",
+ "Location": {
+ "End": {
+ "ColumnNumber": 21,
+ "LineNumber": 16
+ },
+ "Path": [
+ "Resources",
+ "SESEventSourceMappingBadDynamicReference",
+ "Properties",
+ "EventSourceArn"
+ ],
+ "Start": {
+ "ColumnNumber": 7,
+ "LineNumber": 16
+ }
+ },
+ "Message": "'{{:ssm:/SQS_Queue/SQS_ARN}}' does not match 'arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\\\-])+:([a-z]{2}(-gov)?(-iso([a-z])?)?-[a-z]+-\\\\d{1})?:(\\\\d{12})?:(.*)'",
+ "ParentId": null,
+ "Rule": {
+ "Description": "Check if properties have a valid value in case of a pattern (Regular Expression)",
+ "Id": "E3031",
+ "ShortDescription": "Check if property values adhere to a specific pattern",
+ "Source": "https://github.com/aws-cloudformation/cfn-lint/blob/main/docs/cfn-schema-specification.md#pattern"
+ }
+ }
+]
diff --git a/test/fixtures/results/integration/good/resources-cloudformation-init.json b/test/fixtures/results/integration/resources-cloudformation-init.json
similarity index 100%
rename from test/fixtures/results/integration/good/resources-cloudformation-init.json
rename to test/fixtures/results/integration/resources-cloudformation-init.json
diff --git a/test/fixtures/results/public/watchmaker.json b/test/fixtures/results/public/watchmaker.json
index cf754bb769..0cf1db900d 100644
--- a/test/fixtures/results/public/watchmaker.json
+++ b/test/fixtures/results/public/watchmaker.json
@@ -929,41 +929,6 @@
"Source": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-sub.html"
}
},
- {
- "Filename": "test/fixtures/templates/public/watchmaker.json",
- "Id": "c686663b-d84c-9054-d89b-e04373ffff7a",
- "Level": "Error",
- "Location": {
- "End": {
- "ColumnNumber": 46,
- "LineNumber": 1374
- },
- "Path": [
- "Resources",
- "WatchmakerInstance",
- "Properties",
- "BlockDeviceMappings",
- 1,
- "Fn::If",
- 1,
- "Ebs",
- "VolumeSize",
- "Ref"
- ],
- "Start": {
- "ColumnNumber": 41,
- "LineNumber": 1374
- }
- },
- "Message": "{'Ref': 'AppVolumeSize'} is not of type 'integer' when 'Ref' is resolved",
- "ParentId": null,
- "Rule": {
- "Description": "Making sure the Ref has a String value (no other functions are supported)",
- "Id": "E1020",
- "ShortDescription": "Ref validation of value",
- "Source": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html"
- }
- },
{
"Filename": "test/fixtures/templates/public/watchmaker.json",
"Id": "913a07a4-0962-ced6-de7c-a1e4b678ecc9",
diff --git a/test/fixtures/templates/bad/resources/primary_identifiers.yaml b/test/fixtures/templates/bad/resources/primary_identifiers.yaml
index 95be3b5f2b..3aea9828ca 100644
--- a/test/fixtures/templates/bad/resources/primary_identifiers.yaml
+++ b/test/fixtures/templates/bad/resources/primary_identifiers.yaml
@@ -154,3 +154,11 @@ Resources:
- !Ref 'AWS::NoValue'
BadType:
Type: !Ref AWS::Region
+ Module1:
+ Type: MyCompany::MODULE
+ Properties:
+ Attribute1: test
+ Module2:
+ Type: MyCompany::MODULE
+ Properties:
+ Attribute2: test
diff --git a/test/fixtures/templates/good/resources_codepipeline.yaml b/test/fixtures/templates/good/resources_codepipeline.yaml
index 0e33cba476..b95fae277d 100644
--- a/test/fixtures/templates/good/resources_codepipeline.yaml
+++ b/test/fixtures/templates/good/resources_codepipeline.yaml
@@ -9,7 +9,7 @@ Resources:
ArtifactStore:
Location: 'pipeline-bucket'
Type: S3
- RoleArn: arn:aws:iam:::role/AWSCodePipelineRole
+ RoleArn: !Sub "arn:${AWS::Partition}:iam::${AWS::AccountId}:role/AWSCodePipelineRole"
Stages:
- Name: Source
Actions:
diff --git a/test/fixtures/templates/good/transform/auto_publish_code_sha256.yaml b/test/fixtures/templates/good/transform/auto_publish_code_sha256.yaml
new file mode 100644
index 0000000000..ef1446e69d
--- /dev/null
+++ b/test/fixtures/templates/good/transform/auto_publish_code_sha256.yaml
@@ -0,0 +1,25 @@
+Transform: AWS::Serverless-2016-10-31
+Parameters:
+ Basepath:
+ Type: String
+ CodeBucket:
+ Type: String
+ GitCommit:
+ Type: String
+Resources:
+ LambdaFunction:
+ Type: AWS::Serverless::Function
+ Properties:
+ AutoPublishAlias: live
+ AutoPublishCodeSha256: !Ref GitCommit
+ CodeUri:
+ Bucket: !Ref CodeBucket
+ Key: !Sub ${ Basepath }/lambda.zip
+ DeploymentPreference:
+ Enabled: false
+ FunctionName: !Sub ${ AWS::StackName }
+ Handler: lambda.handler
+ MemorySize: 256
+ Runtime: python3.12
+ Timeout: 30
+ Tracing: PassThrough
diff --git a/test/fixtures/templates/integration/dynamic-references.yaml b/test/fixtures/templates/integration/dynamic-references.yaml
new file mode 100644
index 0000000000..cc9dc10042
--- /dev/null
+++ b/test/fixtures/templates/integration/dynamic-references.yaml
@@ -0,0 +1,31 @@
+
+AWSTemplateFormatVersion: '2010-09-09'
+Resources:
+ SESEventSourceMapping:
+ Type: AWS::Lambda::EventSourceMapping
+ Properties:
+ BatchSize: 10
+ Enabled: true
+ EventSourceArn: '{{resolve:ssm:/SQS_Queue/SQS_ARN}}'
+ FunctionName: MyFunctionNameHere
+ SESEventSourceMappingBadDynamicReference:
+ Type: AWS::Lambda::EventSourceMapping
+ Properties:
+ BatchSize: 10
+ Enabled: true
+ EventSourceArn: '{{:ssm:/SQS_Queue/SQS_ARN}}'
+ FunctionName: MyFunctionNameHere
+ Broker:
+ Type: AWS::AmazonMQ::Broker
+ Properties:
+ Users:
+ - Username: test
+ Password: '{{resolve:secretsmanager:MyRDSSecret:SecretString:password}}'
+ DeploymentMode: SINGLE_INSTANCE
+ EngineType: RABBITMQ
+ EngineVersion: test
+ # testing dynamic reference against the regional schema validation
+ HostInstanceType: '{{resolve:ssm:/SQS_Queue/SQS_ARN}}'
+ AutoMinorVersionUpgrade: true
+ BrokerName: test
+ PubliclyAccessible: false
diff --git a/test/fixtures/templates/integration/good/resources-cloudformation-init.yaml b/test/fixtures/templates/integration/resources-cloudformation-init.yaml
similarity index 100%
rename from test/fixtures/templates/integration/good/resources-cloudformation-init.yaml
rename to test/fixtures/templates/integration/resources-cloudformation-init.yaml
diff --git a/test/integration/jsonschema/test_resources_cfn_init.py b/test/integration/test_integration_templates.py
similarity index 70%
rename from test/integration/jsonschema/test_resources_cfn_init.py
rename to test/integration/test_integration_templates.py
index e510447d88..87fd92938e 100644
--- a/test/integration/jsonschema/test_resources_cfn_init.py
+++ b/test/integration/test_integration_templates.py
@@ -14,15 +14,24 @@ class TestQuickStartTemplates(BaseCliTestCase):
scenarios = [
{
"filename": (
- "test/fixtures/templates/integration/good"
+ "test/fixtures/templates/integration"
"/resources-cloudformation-init.yaml"
),
"results_filename": (
"test/fixtures/results/integration/"
- "good/resources-cloudformation-init.json"
+ "resources-cloudformation-init.json"
),
"exit_code": 0,
},
+ {
+ "filename": (
+ "test/fixtures/templates/integration" "/dynamic-references.yaml"
+ ),
+ "results_filename": (
+ "test/fixtures/results/integration/" "dynamic-references.json"
+ ),
+ "exit_code": 2,
+ },
]
def test_templates(self):
diff --git a/test/integration/test_schema_files.py b/test/integration/test_schema_files.py
index e00bf3805a..8aa44d2e1e 100644
--- a/test/integration/test_schema_files.py
+++ b/test/integration/test_schema_files.py
@@ -51,6 +51,7 @@ class TestSchemaFiles(TestCase):
"Resources/*/Type",
"Resources/*/UpdatePolicy",
"Resources/*/UpdateReplacePolicy",
+ "Transform",
]
def setUp(self) -> None:
diff --git a/test/unit/module/cfn_yaml/test_yaml.py b/test/unit/module/cfn_yaml/test_yaml.py
index 1b60db93ab..7b67073f02 100644
--- a/test/unit/module/cfn_yaml/test_yaml.py
+++ b/test/unit/module/cfn_yaml/test_yaml.py
@@ -27,7 +27,7 @@ def setUp(self):
},
"generic_bad": {
"filename": "test/fixtures/templates/bad/generic.yaml",
- "failures": 28,
+ "failures": 32,
},
}
diff --git a/test/unit/module/conditions/test_conditions.py b/test/unit/module/conditions/test_conditions.py
index 9668c81190..4012a69fa2 100644
--- a/test/unit/module/conditions/test_conditions.py
+++ b/test/unit/module/conditions/test_conditions.py
@@ -216,47 +216,43 @@ def test_check_condition_region(self):
cfn = Template("", template)
self.assertEqual(len(cfn.conditions._conditions), 3)
self.assertListEqual(
- list(cfn.conditions.build_scenerios_on_region("IsUsEast1", "us-east-1")),
+ cfn.conditions.build_scenerios_on_region("IsUsEast1", "us-east-1"),
[
True,
],
)
self.assertListEqual(
- list(cfn.conditions.build_scenerios_on_region("IsUsEast1", "us-west-2")),
+ cfn.conditions.build_scenerios_on_region("IsUsEast1", "us-west-2"),
[
False,
],
)
self.assertListEqual(
- list(cfn.conditions.build_scenerios_on_region("IsUsWest2", "us-west-2")),
+ cfn.conditions.build_scenerios_on_region("IsUsWest2", "us-west-2"),
[
True,
],
)
self.assertListEqual(
- list(cfn.conditions.build_scenerios_on_region("IsUsWest2", "us-east-1")),
+ cfn.conditions.build_scenerios_on_region("IsUsWest2", "us-east-1"),
[
False,
],
)
self.assertListEqual(
- list(cfn.conditions.build_scenerios_on_region("IsProd", "us-east-1")),
+ cfn.conditions.build_scenerios_on_region("IsProd", "us-east-1"),
[
True,
False,
],
)
self.assertListEqual(
- list(cfn.conditions.build_scenerios_on_region("Foo", "us-east-1")),
+ cfn.conditions.build_scenerios_on_region("Foo", "us-east-1"),
[
True,
False,
],
)
- self.assertListEqual(
- list(cfn.conditions.build_scenerios_on_region({"Ref": "Foo"}, "us-east-1")),
- [],
- )
def test_test_condition(self):
"""Get condition and test"""
diff --git a/test/unit/module/config/test_logging.py b/test/unit/module/config/test_logging.py
index d8c0259bb2..5a32737327 100644
--- a/test/unit/module/config/test_logging.py
+++ b/test/unit/module/config/test_logging.py
@@ -37,5 +37,5 @@ def test_no_logging(self):
"""Test no logging level"""
cfnlint.config.configure_logging(False, False)
- self.assertEqual(logging.NOTSET, LOGGER.level)
+ self.assertEqual(logging.WARNING, LOGGER.level)
self.assertEqual(len(LOGGER.handlers), 1)
diff --git a/test/unit/module/context/test_create_context.py b/test/unit/module/context/test_create_context.py
index 3c4e53bf41..4b798b997f 100644
--- a/test/unit/module/context/test_create_context.py
+++ b/test/unit/module/context/test_create_context.py
@@ -63,7 +63,7 @@
},
},
},
- _Counts(resources=1, parameters=1, conditions=0, mappings=1),
+ _Counts(resources=1, parameters=1, conditions=0, mappings=2),
),
(
"Invalid mapping second key",
@@ -75,7 +75,7 @@
"Map": {"us-east-1": {"foo": "bar"}},
},
},
- _Counts(resources=0, parameters=0, conditions=0, mappings=1),
+ _Counts(resources=0, parameters=0, conditions=0, mappings=2),
),
(
"Invalid mapping third key",
@@ -89,7 +89,7 @@
"Map": {"us-east-1": {"foo": "bar"}},
},
},
- _Counts(resources=0, parameters=0, conditions=0, mappings=1),
+ _Counts(resources=0, parameters=0, conditions=0, mappings=2),
),
],
)
@@ -101,10 +101,15 @@ def test_create_context(name, instance, counts):
if i == "conditions":
assert len(context.conditions.conditions) == getattr(counts, i), (
f"Test {name} has {i} {len(getattr(context, i))} "
- "and expected {getattr(counts, i)}"
+ f"and expected {getattr(counts, i)}"
+ )
+ elif i == "mappings":
+ assert len(context.mappings.maps) == getattr(counts, i), (
+ f"Test {name} has {i} {len(context.mappings.maps)} "
+ f"and expected {getattr(counts, i)}"
)
else:
assert len(getattr(context, i)) == getattr(counts, i), (
f"Test {name} has {i} {len(getattr(context, i))} "
- "and expected {getattr(counts, i)}"
+ f"and expected {getattr(counts, i)}"
)
diff --git a/test/unit/module/context/test_mappings.py b/test/unit/module/context/test_mappings.py
index edf67b30f3..6769871ba9 100644
--- a/test/unit/module/context/test_mappings.py
+++ b/test/unit/module/context/test_mappings.py
@@ -5,7 +5,7 @@
import pytest
-from cfnlint.context.context import Map
+from cfnlint.context._mappings import Map, Mappings, _MappingSecondaryKey
@pytest.mark.parametrize(
@@ -17,7 +17,7 @@
],
)
def test_mapping_value(name, get_key_1, get_key_2, expected):
- mapping = Map({"A": {"B": "C"}})
+ mapping = Map.create_from_dict({"A": {"B": "C"}})
if isinstance(expected, Exception):
with pytest.raises(type(expected)):
@@ -27,10 +27,64 @@ def test_mapping_value(name, get_key_1, get_key_2, expected):
def test_transforms():
- mapping = Map({"A": {"Fn::Transform": "C"}})
+ mapping = Map.create_from_dict({"A": {"Fn::Transform": "C"}})
assert mapping.keys.get("A").is_transform is True
- mapping = Map({"Fn::Transform": {"B": "C"}})
+ mapping = Map.create_from_dict({"Fn::Transform": {"B": "C"}})
assert mapping.is_transform is True
+
+ mapping = Mappings.create_from_dict({"Fn::Transform": {"B": {"C": "D"}}})
+
+ assert mapping.is_transform is True
+
+
+@pytest.mark.parametrize(
+ "name,mappings,expected",
+ [
+ (
+ "Valid mappings",
+ {
+ "A": {"B": {"C": "D"}},
+ "1": {"2": {"3": "4"}},
+ "Z": [],
+ "9": {"8": []},
+ "M": {"N": {"O": {"P": "Q"}}},
+ },
+ Mappings(
+ {
+ "A": Map({"B": _MappingSecondaryKey({"C": "D"})}),
+ "1": Map({"2": _MappingSecondaryKey({"3": "4"})}),
+ "Z": Map({}),
+ "9": Map({"8": _MappingSecondaryKey({})}),
+ "M": Map({"N": _MappingSecondaryKey({})}),
+ }
+ ),
+ ),
+ (
+ "Valid mappings with transforms",
+ {
+ "A": {"Fn::Transform": "MyTransform"},
+ "1": {"2": {"Fn::Transform": "MyTransform"}},
+ },
+ Mappings(
+ {
+ "A": Map({}, True),
+ "1": Map({"2": _MappingSecondaryKey({}, True)}),
+ }
+ ),
+ ),
+ (
+ "Valid mappings with transforms for mappings",
+ {
+ "Fn::Transform": "MyTransform",
+ },
+ Mappings({}, True),
+ ),
+ ],
+)
+def test_mapping_creation(name, mappings, expected):
+ results = Mappings.create_from_dict(mappings)
+
+ assert results == expected, f"{name!r} failed got {results!r}"
diff --git a/test/unit/module/context/test_transforms.py b/test/unit/module/context/test_transforms.py
index a852cf7c42..451e9c8566 100644
--- a/test/unit/module/context/test_transforms.py
+++ b/test/unit/module/context/test_transforms.py
@@ -12,7 +12,11 @@
"name,instance,expected",
[
("Valid transforms", "AWS::LanguageExtensions", True),
- ("Valid transforms lists", ["AWS::LanguageExtensions"], True),
+ (
+ "Valid transforms lists",
+ ["AWS::LanguageExtensions", {"Name": "Include"}],
+ True,
+ ),
("Valid transforms lists", None, False),
("Valid transforms lists", "", False),
],
@@ -23,14 +27,3 @@ def test_transforms(name, instance, expected):
assert (
expected == transforms.has_language_extensions_transform()
), f"{name!r} test got {transforms.has_language_extensions_transform()}"
-
-
-@pytest.mark.parametrize(
- "name,instance",
- [
- ("Invalid Type", {}),
- ],
-)
-def test_errors(name, instance):
- with pytest.raises(ValueError):
- Transforms(instance)
diff --git a/test/unit/module/jsonschema/test_keywords.py b/test/unit/module/jsonschema/test_keywords.py
index ea3e968647..6849d53fe6 100644
--- a/test/unit/module/jsonschema/test_keywords.py
+++ b/test/unit/module/jsonschema/test_keywords.py
@@ -16,7 +16,6 @@ class Error(CloudFormationLintRule):
id = "E1111"
def validate(self, validator, s, instance, schema):
- print(instance)
if s:
yield ValidationError(
"Error",
@@ -24,12 +23,23 @@ def validate(self, validator, s, instance, schema):
)
+class Warning(CloudFormationLintRule):
+ id = "W1111"
+
+ def validate(self, validator, s, instance, schema):
+ yield ValidationError(
+ "Warning",
+ rule=self,
+ )
+
+
@pytest.fixture
def validator():
validator = CfnTemplateValidator(schema={})
validator = validator.extend(
validators={
"error": Error().validate,
+ "warning": Warning().validate,
}
)
return validator({})
@@ -78,6 +88,34 @@ def validator():
),
],
),
+ (
+ "Valid anyOf with a warning validation error",
+ "foo",
+ [{"warning": True}, {"error": True}],
+ [
+ ValidationError(
+ "Warning",
+ rule=Warning(),
+ path=deque([]),
+ validator="warning",
+ schema_path=deque([0, "warning"]),
+ ),
+ ],
+ ),
+ (
+ "Valid anyOf with a warning validation error",
+ "foo",
+ [{"error": True}, {"warning": True}],
+ [
+ ValidationError(
+ "Warning",
+ rule=Warning(),
+ path=deque([]),
+ validator="warning",
+ schema_path=deque([1, "warning"]),
+ ),
+ ],
+ ),
],
)
def test_anyof(name, instance, schema, validator, expected):
diff --git a/test/unit/module/jsonschema/test_resolvers_cfn.py b/test/unit/module/jsonschema/test_resolvers_cfn.py
index 4d08460123..dd647c8e37 100644
--- a/test/unit/module/jsonschema/test_resolvers_cfn.py
+++ b/test/unit/module/jsonschema/test_resolvers_cfn.py
@@ -7,7 +7,8 @@
import pytest
-from cfnlint.context.context import Context, Map
+from cfnlint.context._mappings import Mappings
+from cfnlint.context.context import Context
from cfnlint.jsonschema import ValidationError
from cfnlint.jsonschema.validators import CfnTemplateValidator
@@ -20,10 +21,6 @@ def _resolve(name, instance, expected_results, **kwargs):
for i, (instance, v, errors) in enumerate(resolutions):
assert instance == expected_results[i][0]
assert v.context.path.value_path == expected_results[i][1]
- if errors:
- print(errors.validator)
- print(errors.path)
- print(errors.schema_path)
assert errors == expected_results[i][2]
@@ -182,8 +179,9 @@ def test_resolvers_ref(name, instance, response):
],
)
def test_invalid_functions(name, instance, response):
- context = Context()
- context.mappings["foo"] = Map({"first": {"second": "bar"}})
+ context = Context(
+ mappings=Mappings.create_from_dict({"foo": {"first": {"second": "bar"}}})
+ )
_resolve(name, instance, response, context=context)
@@ -330,11 +328,15 @@ def test_invalid_functions(name, instance, response):
],
)
def test_valid_functions(name, instance, response):
- context = Context()
- context.mappings["foo"] = Map({"first": {"second": "bar"}})
- context.mappings["transformFirstKey"] = Map({"Fn::Transform": {"second": "bar"}})
- context.mappings["transformSecondKey"] = Map({"first": {"Fn::Transform": "bar"}})
-
+ context = Context(
+ mappings=Mappings.create_from_dict(
+ {
+ "foo": {"first": {"second": "bar"}},
+ "transformFirstKey": {"Fn::Transform": {"second": "bar"}},
+ "transformSecondKey": {"first": {"Fn::Transform": "bar"}},
+ }
+ )
+ )
_resolve(name, instance, response, context=context)
diff --git a/test/unit/module/runner/test_cli.py b/test/unit/module/runner/test_cli.py
index ac9831a731..5d3f3f7244 100644
--- a/test/unit/module/runner/test_cli.py
+++ b/test/unit/module/runner/test_cli.py
@@ -3,16 +3,24 @@
SPDX-License-Identifier: MIT-0
"""
+import logging
from test.testlib.testcase import BaseTestCase
from unittest.mock import patch
from cfnlint import ConfigMixIn
from cfnlint.runner import Runner
+LOGGER = logging.getLogger("cfnlint")
+
class TestCli(BaseTestCase):
"""Test CLI with config"""
+ def tearDown(self):
+ """Setup"""
+ for handler in LOGGER.handlers:
+ LOGGER.removeHandler(handler)
+
@patch("cfnlint.maintenance.update_documentation")
def test_update_documentation(self, mock_maintenance):
config = ConfigMixIn(["--update-documentation"])
diff --git a/test/unit/module/runner/test_runner.py b/test/unit/module/runner/test_runner.py
index d3d599239e..60290d37b8 100644
--- a/test/unit/module/runner/test_runner.py
+++ b/test/unit/module/runner/test_runner.py
@@ -3,110 +3,93 @@
SPDX-License-Identifier: MIT-0
"""
-from test.testlib.testcase import BaseTestCase
+from unittest.mock import patch
-import cfnlint.decode.cfn_json # pylint: disable=E0401
-import cfnlint.decode.cfn_yaml # pylint: disable=E0401
-from cfnlint import ConfigMixIn
-from cfnlint.config import _DEFAULT_RULESDIR
-from cfnlint.rules import Rules
-from cfnlint.runner import TemplateRunner
+import pytest
+from cfnlint.config import ConfigMixIn
+from cfnlint.runner import PROVIDER_SCHEMA_MANAGER, Runner
+from cfnlint.schema import Schema
-class TestRunner(BaseTestCase):
- """Test Duplicates Parsing"""
- def setUp(self):
- """SetUp template object"""
- self.rules = Rules.create_from_directory(_DEFAULT_RULESDIR)
- (self.template, _) = cfnlint.decode.decode_str(
- """
- AWSTemplateFormatVersion: "2010-09-09"
- Description: >
- Template with all error levels: Warning, Error and Informational
- # Adding in an issue outside of the Resources for validating
- Conditions:
- IsUsEast1: !Equals ["a", "b", "c"]
- Resources:
- myTable:
- Metadata:
- cfn-lint:
- config:
- ignore_checks:
- - I3011
- - W1020
- - E8003 # condition error #
- Type: "AWS::DynamoDB::Table"
- Properties:
- TableName: !Sub "TableName"
- AttributeDefinitions:
- - AttributeName: "Id"
- AttributeType: "S" # Valid AllowedValue
- KeySchema:
- - AttributeName: "Id"
- KeyType: "HASH"
- ProvisionedThroughput:
- ReadCapacityUnits: 5
- WriteCapacityUnits: "5"
- myTable2:
- # With no ignore_checks so we
- # should still get issues from this
- Type: "AWS::DynamoDB::Table"
- Properties:
- TableName: !Sub "TableName1"
- AttributeDefinitions:
- - AttributeName: "Id"
- AttributeType: "S" # Valid AllowedValue
- KeySchema:
- - AttributeName: "Id"
- KeyType: "HASH"
- ProvisionedThroughput:
- ReadCapacityUnits: !If [IsUsEast1, 5, 5]
- WriteCapacityUnits: "5"
- """
+def patch_registry(path):
+ PROVIDER_SCHEMA_MANAGER._registry_schemas = {
+ "Foo::Bar::MODULE": Schema(
+ {
+ "typeName": "Foo::Bar::MODULE",
+ "properties": {
+ "Foo": {
+ "type": "string",
+ },
+ "Bar": {
+ "type": "string",
+ },
+ },
+ "primaryIdentifiers": [],
+ }
)
+ }
- def test_runner(self):
- """Success test"""
- runner = TemplateRunner(
- filename=None,
- template=self.template,
- config=ConfigMixIn(
- regions=["us-east-1"],
- include_checks=["I"],
- include_experimental=True,
- ),
- rules=self.rules,
- )
- failures = list(runner.run())
- self.assertEqual(len(failures), 4, "Got failures {}".format(failures))
- def test_runner_mandatory_rules(self):
- """Success test"""
- runner = TemplateRunner(
- filename=None,
- template=self.template,
- config=ConfigMixIn(
- mandatory_checks=["W1020"],
- regions=["us-east-1"],
- include_checks=["I"],
- include_experimental=True,
- ),
- rules=self.rules,
- )
- failures = list(runner.run())
- self.assertEqual(len(failures), 5, "Got failures {}".format(failures))
+def patch_schema(path, regions):
+ PROVIDER_SCHEMA_MANAGER._registry_schemas["Foo::Bar::MODULE"].schema[
+ "primaryIdentifiers"
+ ] = ["/properties/Foo"]
- runner = TemplateRunner(
- filename=None,
- template=self.template,
- config=ConfigMixIn(
- mandatory_checks=["W9000"],
- regions=["us-east-1"],
- include_checks=["I"],
- include_experimental=True,
- ),
- rules=self.rules,
- )
- failures = list(runner.run())
- self.assertEqual(len(failures), 4, "Got failures {}".format(failures))
+
+@pytest.mark.parametrize(
+ "name,registry_path,patch_path,expected",
+ [
+ (
+ "Test no changes to the schema",
+ None,
+ None,
+ False,
+ ),
+ (
+ "Test patching registry resources",
+ "path/to/registry/schemas",
+ "patch.json",
+ False,
+ ),
+ (
+ "Test registry resource with no patching",
+ "path/to/registry/schemas",
+ None,
+ False,
+ ),
+ ],
+)
+def test_init_schemas(name, registry_path, patch_path, expected):
+ params = []
+ if registry_path:
+ params.extend(["--registry-schemas", "path/to/registry/schemas"])
+ if patch_path:
+ params.extend(["--override-spec", "patch.json"])
+ config = ConfigMixIn(params)
+
+ with patch.object(
+ PROVIDER_SCHEMA_MANAGER, "load_registry_schemas", new=patch_registry
+ ):
+ with patch.object(PROVIDER_SCHEMA_MANAGER, "patch", new=patch_schema):
+ Runner(config)
+
+ if registry_path:
+ assert "Foo::Bar::MODULE" in PROVIDER_SCHEMA_MANAGER.get_resource_types(
+ "us-east-1"
+ )
+ schema = PROVIDER_SCHEMA_MANAGER.get_resource_schema(
+ "us-east-1", "Foo::Bar::MODULE"
+ )
+ if patch_path:
+ assert schema.schema["primaryIdentifiers"] == ["/properties/Foo"]
+ else:
+ assert schema.schema["primaryIdentifiers"] == []
+ else:
+ assert (
+ "Foo::Bar::MODULE"
+ not in PROVIDER_SCHEMA_MANAGER.get_resource_types("us-east-1")
+ )
+
+ PROVIDER_SCHEMA_MANAGER._registry_schemas = {}
+ PROVIDER_SCHEMA_MANAGER.reset()
diff --git a/test/unit/module/runner/test_template_runner.py b/test/unit/module/runner/test_template_runner.py
new file mode 100644
index 0000000000..d3d599239e
--- /dev/null
+++ b/test/unit/module/runner/test_template_runner.py
@@ -0,0 +1,112 @@
+"""
+Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+SPDX-License-Identifier: MIT-0
+"""
+
+from test.testlib.testcase import BaseTestCase
+
+import cfnlint.decode.cfn_json # pylint: disable=E0401
+import cfnlint.decode.cfn_yaml # pylint: disable=E0401
+from cfnlint import ConfigMixIn
+from cfnlint.config import _DEFAULT_RULESDIR
+from cfnlint.rules import Rules
+from cfnlint.runner import TemplateRunner
+
+
+class TestRunner(BaseTestCase):
+ """Test Duplicates Parsing"""
+
+ def setUp(self):
+ """SetUp template object"""
+ self.rules = Rules.create_from_directory(_DEFAULT_RULESDIR)
+ (self.template, _) = cfnlint.decode.decode_str(
+ """
+ AWSTemplateFormatVersion: "2010-09-09"
+ Description: >
+ Template with all error levels: Warning, Error and Informational
+ # Adding in an issue outside of the Resources for validating
+ Conditions:
+ IsUsEast1: !Equals ["a", "b", "c"]
+ Resources:
+ myTable:
+ Metadata:
+ cfn-lint:
+ config:
+ ignore_checks:
+ - I3011
+ - W1020
+ - E8003 # condition error #
+ Type: "AWS::DynamoDB::Table"
+ Properties:
+ TableName: !Sub "TableName"
+ AttributeDefinitions:
+ - AttributeName: "Id"
+ AttributeType: "S" # Valid AllowedValue
+ KeySchema:
+ - AttributeName: "Id"
+ KeyType: "HASH"
+ ProvisionedThroughput:
+ ReadCapacityUnits: 5
+ WriteCapacityUnits: "5"
+ myTable2:
+ # With no ignore_checks so we
+ # should still get issues from this
+ Type: "AWS::DynamoDB::Table"
+ Properties:
+ TableName: !Sub "TableName1"
+ AttributeDefinitions:
+ - AttributeName: "Id"
+ AttributeType: "S" # Valid AllowedValue
+ KeySchema:
+ - AttributeName: "Id"
+ KeyType: "HASH"
+ ProvisionedThroughput:
+ ReadCapacityUnits: !If [IsUsEast1, 5, 5]
+ WriteCapacityUnits: "5"
+ """
+ )
+
+ def test_runner(self):
+ """Success test"""
+ runner = TemplateRunner(
+ filename=None,
+ template=self.template,
+ config=ConfigMixIn(
+ regions=["us-east-1"],
+ include_checks=["I"],
+ include_experimental=True,
+ ),
+ rules=self.rules,
+ )
+ failures = list(runner.run())
+ self.assertEqual(len(failures), 4, "Got failures {}".format(failures))
+
+ def test_runner_mandatory_rules(self):
+ """Success test"""
+ runner = TemplateRunner(
+ filename=None,
+ template=self.template,
+ config=ConfigMixIn(
+ mandatory_checks=["W1020"],
+ regions=["us-east-1"],
+ include_checks=["I"],
+ include_experimental=True,
+ ),
+ rules=self.rules,
+ )
+ failures = list(runner.run())
+ self.assertEqual(len(failures), 5, "Got failures {}".format(failures))
+
+ runner = TemplateRunner(
+ filename=None,
+ template=self.template,
+ config=ConfigMixIn(
+ mandatory_checks=["W9000"],
+ regions=["us-east-1"],
+ include_checks=["I"],
+ include_experimental=True,
+ ),
+ rules=self.rules,
+ )
+ failures = list(runner.run())
+ self.assertEqual(len(failures), 4, "Got failures {}".format(failures))
diff --git a/test/unit/module/schema/test_manager.py b/test/unit/module/schema/test_manager.py
index 932ee5c825..dd50be42d9 100644
--- a/test/unit/module/schema/test_manager.py
+++ b/test/unit/module/schema/test_manager.py
@@ -271,3 +271,15 @@ def test_removed_types(self):
with self.assertRaises(ResourceNotFoundError):
self.manager.get_resource_schema(region, rt)
+
+ def test_type_normalization(self):
+
+ rt = "MyCompany::MODULE"
+ schema = self.manager.get_resource_schema("us-east-1", rt)
+
+ assert schema.schema.get("typeName") == "Module"
+
+ self.manager.get_resource_schema.cache_clear()
+ self.manager._registry_schemas[rt] = True
+ schema = self.manager.get_resource_schema("us-east-1", rt)
+ assert schema is True
diff --git a/test/unit/module/schema/test_schema.py b/test/unit/module/schema/test_schema.py
index 94d3bbbff1..10a10c8baa 100644
--- a/test/unit/module/schema/test_schema.py
+++ b/test/unit/module/schema/test_schema.py
@@ -142,7 +142,6 @@ def resource_vpc_schema():
def test_vpc_schema(resource_vpc_schema):
-
schema = Schema(schema=resource_vpc_schema)
assert list(schema.get_atts.keys()) == [
"CidrBlock",
@@ -161,3 +160,155 @@ def test_vpc_schema(resource_vpc_schema):
assert schema.get_atts["VpcId"] == "/properties/VpcId"
assert schema.get_atts["CidrBlock"] == "/properties/CidrBlock"
assert schema.get_atts["Ipv6CidrBlocks"] == "/properties/Ipv6CidrBlocks"
+
+
+@pytest.fixture
+def resource_servicecatalog_schema():
+ return {
+ "additionalProperties": False,
+ "createOnlyProperties": [
+ "/properties/NotificationArns",
+ "/properties/ProvisionedProductName",
+ ],
+ "definitions": {
+ "OutputType": {"type": "string"},
+ "ProvisioningParameter": {
+ "additionalProperties": False,
+ "properties": {
+ "Key": {"maxLength": 1000, "minLength": 1, "type": "string"},
+ "Value": {"maxLength": 4096, "type": "string"},
+ },
+ "required": ["Key", "Value"],
+ "type": "object",
+ },
+ "ProvisioningPreferences": {
+ "additionalProperties": False,
+ "properties": {
+ "StackSetAccounts": {
+ "items": {"pattern": "^[0-9]{12}$", "type": "string"},
+ "type": "array",
+ "uniqueItems": True,
+ },
+ "StackSetFailureToleranceCount": {"minimum": 0, "type": "integer"},
+ "StackSetFailureTolerancePercentage": {
+ "maximum": 100,
+ "minimum": 0,
+ "type": "integer",
+ },
+ "StackSetMaxConcurrencyCount": {"minimum": 1, "type": "integer"},
+ "StackSetMaxConcurrencyPercentage": {
+ "maximum": 100,
+ "minimum": 1,
+ "type": "integer",
+ },
+ "StackSetOperationType": {
+ "enum": ["CREATE", "UPDATE", "DELETE"],
+ "type": "string",
+ },
+ "StackSetRegions": {
+ "items": {
+ "pattern": "^[a-z]{2}-([a-z]+-)+[1-9]",
+ "type": "string",
+ },
+ "type": "array",
+ "uniqueItems": True,
+ },
+ },
+ "type": "object",
+ },
+ "Tag": {
+ "additionalProperties": False,
+ "properties": {
+ "Key": {
+ "maxLength": 128,
+ "minLength": 1,
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
+ "type": "string",
+ },
+ "Value": {
+ "maxLength": 256,
+ "minLength": 1,
+ "pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$",
+ "type": "string",
+ },
+ },
+ "required": ["Key", "Value"],
+ "type": "object",
+ },
+ },
+ "documentationUrl": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-servicecatalog-cloudformationprovisionedproduct.html",
+ "handlers": {
+ "create": {"permissions": ["*"], "timeoutInMinutes": 720},
+ "delete": {"permissions": ["*"]},
+ "read": {"permissions": ["*"]},
+ "update": {"permissions": ["*"], "timeoutInMinutes": 720},
+ },
+ "primaryIdentifier": ["/properties/ProvisionedProductId"],
+ "properties": {
+ "AcceptLanguage": {"enum": ["en", "jp", "zh"], "type": "string"},
+ "CloudformationStackArn": {
+ "maxLength": 256,
+ "minLength": 1,
+ "type": "string",
+ },
+ "NotificationArns": {
+ "items": {"type": "string"},
+ "maxItems": 5,
+ "type": "array",
+ "uniqueItems": True,
+ },
+ "Outputs": {
+ "additionalProperties": False,
+ "maxProperties": 100,
+ "patternProperties": {
+ "^[A-Za-z0-9]{1,64}$": {"$ref": "#/definitions/OutputType"}
+ },
+ "type": "object",
+ },
+ "PathId": {"maxLength": 100, "minLength": 1, "type": "string"},
+ "PathName": {"maxLength": 100, "minLength": 1, "type": "string"},
+ "ProductId": {"maxLength": 100, "minLength": 1, "type": "string"},
+ "ProductName": {"maxLength": 128, "minLength": 1, "type": "string"},
+ "ProvisionedProductId": {"maxLength": 50, "minLength": 1, "type": "string"},
+ "ProvisionedProductName": {
+ "maxLength": 128,
+ "minLength": 1,
+ "type": "string",
+ },
+ "ProvisioningArtifactId": {
+ "maxLength": 100,
+ "minLength": 1,
+ "type": "string",
+ },
+ "ProvisioningArtifactName": {"type": "string"},
+ "ProvisioningParameters": {
+ "items": {"$ref": "#/definitions/ProvisioningParameter"},
+ "type": "array",
+ },
+ "ProvisioningPreferences": {
+ "$ref": "#/definitions/ProvisioningPreferences"
+ },
+ "RecordId": {"maxLength": 50, "minLength": 1, "type": "string"},
+ "Tags": {"items": {"$ref": "#/definitions/Tag"}, "type": "array"},
+ },
+ "readOnlyProperties": [
+ "/properties/RecordId",
+ "/properties/CloudformationStackArn",
+ "/properties/Outputs",
+ "/properties/ProvisionedProductId",
+ ],
+ "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
+ "typeName": "AWS::ServiceCatalog::CloudFormationProvisionedProduct",
+ }
+
+
+def test_servicecatalog_cloudformation_schema(resource_servicecatalog_schema):
+
+ schema = Schema(schema=resource_servicecatalog_schema)
+ assert list(schema.get_atts.keys()) == [
+ "RecordId",
+ "CloudformationStackArn",
+ "Outputs\\..*",
+ "ProvisionedProductId",
+ ]
+ assert schema.get_atts["Outputs.Example"] == "/properties/CfnLintStringType"
diff --git a/test/unit/module/test_rules_collections.py b/test/unit/module/test_rules_collections.py
index 46e8aac53a..e9782d61ef 100644
--- a/test/unit/module/test_rules_collections.py
+++ b/test/unit/module/test_rules_collections.py
@@ -69,7 +69,7 @@ def test_fail_run(self):
filename = "test/fixtures/templates/bad/generic.yaml"
template = cfnlint.decode.cfn_yaml.load(filename)
cfn = Template(filename, template, ["us-east-1"])
- expected_err_count = 31
+ expected_err_count = 35
matches = []
matches.extend(self.rules.run(filename, cfn))
assert (
diff --git a/test/unit/module/transform/test_transform.py b/test/unit/module/transform/test_transform.py
index 333b58443e..a291a58b4b 100644
--- a/test/unit/module/transform/test_transform.py
+++ b/test/unit/module/transform/test_transform.py
@@ -118,3 +118,37 @@ def test_sam_with_language_extension(self):
transformed_template = Transform(filename, template, region)
results = transformed_template.transform_template()
self.assertEqual(results, [])
+
+ def test_parameter_for_autopublish_code_sha256(self):
+ filename = (
+ "test/fixtures/templates/good/transform/auto_publish_code_sha256.yaml"
+ )
+ region = "us-east-1"
+ template = cfn_yaml.load(filename)
+ transformed_template = Transform(filename, template, region)
+ transformed_template.transform_template()
+ self.assertDictEqual(transformed_template._parameters, {})
+ self.assertDictEqual(
+ transformed_template._template.get("Resources")
+ .get("LambdaFunction")
+ .get("Properties"),
+ {
+ "Code": {
+ "S3Bucket": {"Ref": "CodeBucket"},
+ "S3Key": {"Fn::Sub": "${ Basepath }/lambda.zip"},
+ },
+ "Description": "fakesha",
+ "FunctionName": {"Fn::Sub": "${ AWS::StackName }"},
+ "Handler": "lambda.handler",
+ "MemorySize": 256,
+ "Role": {"Fn::GetAtt": ["LambdaFunctionRole", "Arn"]},
+ "Runtime": "python3.12",
+ "Tags": [{"Key": "lambda:createdBy", "Value": "SAM"}],
+ "Timeout": 30,
+ "TracingConfig": {"Mode": "PassThrough"},
+ },
+ )
+ self.assertIn(
+ "LambdaFunctionVersionfakesha",
+ transformed_template._template.get("Resources").keys(),
+ )
diff --git a/test/unit/rules/__init__.py b/test/unit/rules/__init__.py
index c1970fd040..ba28f38cb9 100644
--- a/test/unit/rules/__init__.py
+++ b/test/unit/rules/__init__.py
@@ -56,5 +56,7 @@ def helper_file_negative(self, filename, err_count, config=None):
self.assertEqual(
err_count,
len(failures),
- "Expected {} failures but got {} on {}".format(0, failures, filename),
+ "Expected {} failures but got {} on {}".format(
+ err_count, failures, filename
+ ),
)
diff --git a/test/unit/rules/functions/test_basefn.py b/test/unit/rules/functions/test_basefn.py
index a4dc9dabf3..3cfbdc4783 100644
--- a/test/unit/rules/functions/test_basefn.py
+++ b/test/unit/rules/functions/test_basefn.py
@@ -27,6 +27,12 @@ def rule():
[],
),
("Everything is fine", {"Fn::Sub": "Foo"}, {"enum": ["Foo"]}, []),
+ (
+ "Resolved Fn::Sub has no strict type validation",
+ {"Fn::Sub": "2"},
+ {"type": ["integer"]},
+ [],
+ ),
(
"Standard error",
{"Fn::Sub": "Bar"},
diff --git a/test/unit/rules/functions/test_getatt.py b/test/unit/rules/functions/test_getatt.py
index 9097e9a01d..da714bfdad 100644
--- a/test/unit/rules/functions/test_getatt.py
+++ b/test/unit/rules/functions/test_getatt.py
@@ -267,8 +267,4 @@ def test_validate(
validator = CfnTemplateValidator({}, context=context, cfn=cfn)
errs = list(rule.fn_getatt(validator, schema, instance, {}))
- for err in errs:
- print(err.validator)
- print(err.path)
- print(err.schema_path)
assert errs == expected, f"Test {name!r} got {errs!r}"
diff --git a/test/unit/rules/functions/test_getatt_format.py b/test/unit/rules/functions/test_getatt_format.py
index 33e6f7c931..24cc0cf540 100644
--- a/test/unit/rules/functions/test_getatt_format.py
+++ b/test/unit/rules/functions/test_getatt_format.py
@@ -24,6 +24,9 @@ def template():
"MySecurityGroup": {"Type": "AWS::EC2::SecurityGroup"},
"MyCustomResource": {"Type": "Custom::CustomResource"},
"MySubTemplate": {"Type": "AWS::CloudFormation::Stack"},
+ "MyProvisionedProduct": {
+ "Type": "AWS::ServiceCatalog::CloudFormationProvisionedProduct"
+ },
},
}
@@ -49,6 +52,12 @@ def template():
{"format": "AWS::EC2::VPC.Id"},
[],
),
+ (
+ "Valid GetAtt to a provisioned product ",
+ ["MyProvisionedProduct", "Outputs.VpcId"],
+ {"format": "AWS::EC2::VPC.Id"},
+ [],
+ ),
(
"Valid GetAtt because of exception",
["MyBucket", "Arn"],
diff --git a/test/unit/rules/functions/test_length.py b/test/unit/rules/functions/test_length.py
index 9f9eb70205..a6b88a4bb0 100644
--- a/test/unit/rules/functions/test_length.py
+++ b/test/unit/rules/functions/test_length.py
@@ -113,6 +113,13 @@ def context(cfn):
{"transforms": Transforms(["AWS::LanguageExtensions"])},
[],
),
+ (
+ "Fn::Length output while a number can be a string",
+ {"Fn::Length": []},
+ {"type": "string"},
+ {"transforms": Transforms(["AWS::LanguageExtensions"])},
+ [],
+ ),
],
)
def test_validate(name, instance, schema, context_evolve, expected, rule, context, cfn):
diff --git a/test/unit/rules/functions/test_sub.py b/test/unit/rules/functions/test_sub.py
index 11ee1de866..2499cbbab1 100644
--- a/test/unit/rules/functions/test_sub.py
+++ b/test/unit/rules/functions/test_sub.py
@@ -290,6 +290,12 @@ def context(cfn):
schema_path=deque(["const"]),
validator="fn_sub",
),
+ ValidationError(
+ ("'three' was expected when 'Fn::Sub' is resolved"),
+ path=deque(["Fn::Sub"]),
+ schema_path=deque(["const"]),
+ validator="fn_sub",
+ ),
],
),
],
diff --git a/test/unit/rules/functions/test_sub_unneeded.py b/test/unit/rules/functions/test_sub_unneeded.py
index 4770774f12..58c7a5ede1 100644
--- a/test/unit/rules/functions/test_sub_unneeded.py
+++ b/test/unit/rules/functions/test_sub_unneeded.py
@@ -42,3 +42,35 @@ def rule():
def test_sub_unneeded(name, instance, expected, rule, validator):
errors = list(rule.validate(validator, {}, instance, {}))
assert errors == expected, f"Test {name!r} got {errors!r}"
+
+
+@pytest.mark.parametrize(
+ "name,transform,expected",
+ [
+ ("Serverless transform", "AWS::Serverless-2016-10-31", []),
+ (
+ "Serverless transform",
+ None,
+ [
+ ValidationError(
+ "'Fn::Sub' isn't needed because there are no variables", path=[]
+ )
+ ],
+ ),
+ ("Serverless transform in a list", ["Foo", "AWS::Serverless-2016-10-31"], []),
+ (
+ "Serverless transform with an object",
+ {"Name": "Foo"},
+ [
+ ValidationError(
+ "'Fn::Sub' isn't needed because there are no variables", path=[]
+ )
+ ],
+ ),
+ ],
+)
+def test_sub_transform(name, transform, expected, rule, validator):
+ validator.cfn.transform_pre["Transform"] = transform
+ instance = "foo"
+ errors = list(rule.validate(validator, {}, instance, {}))
+ assert errors == expected, f"Test {name!r} got {errors!r}"
diff --git a/test/unit/rules/jsonschema/test_cfn_schema.py b/test/unit/rules/jsonschema/test_cfn_schema.py
index ec847473da..3e9a3a9957 100644
--- a/test/unit/rules/jsonschema/test_cfn_schema.py
+++ b/test/unit/rules/jsonschema/test_cfn_schema.py
@@ -3,6 +3,8 @@
SPDX-License-Identifier: MIT-0
"""
+from __future__ import annotations
+
from collections import deque
import pytest
@@ -18,6 +20,10 @@
"type": "string",
},
"b": {"type": "object", "properties": {"1": {"type": "string"}}},
+ "c": {
+ "type": "string",
+ "pattern": "^foo$",
+ },
},
}
@@ -78,6 +84,20 @@ def __init__(self) -> None:
),
],
),
+ (
+ "Validation error with dynamic reference",
+ _BestError(),
+ {"c": "{{resolve:ssm:/SQS_Queue/SQS_ARN}}"},
+ [
+ ValidationError(
+ message="Rule that returns the best error",
+ validator="pattern",
+ path=deque(["c"]),
+ rule=_BestError(),
+ schema_path=deque(["properties", "c", "pattern"]),
+ ),
+ ],
+ ),
],
)
def test_cfn_schema(name, rule, instance, expected_errs):
diff --git a/test/unit/rules/resources/ec2/test_sg_all_to_and_from_ports.py b/test/unit/rules/resources/ec2/test_sg_all_to_and_from_ports.py
index 792d4021b6..a82f8acf59 100644
--- a/test/unit/rules/resources/ec2/test_sg_all_to_and_from_ports.py
+++ b/test/unit/rules/resources/ec2/test_sg_all_to_and_from_ports.py
@@ -40,6 +40,14 @@ def rule():
},
[],
),
+ (
+ {
+ "IpProtocol": 1,
+ "ToPort": -1,
+ "FromPort": 8,
+ },
+ [],
+ ),
(
{
"ToPort": -1,
@@ -56,7 +64,7 @@ def rule():
"properties": {"FromPort": {"enum": [-1, "-1"]}},
"required": ["FromPort"],
},
- schema_path=deque(["allOf", 0, "then", "required"]),
+ schema_path=deque(["else", "allOf", 0, "then", "required"]),
)
],
),
@@ -76,7 +84,7 @@ def rule():
"properties": {"ToPort": {"enum": [-1, "-1"]}},
"required": ["ToPort"],
},
- schema_path=deque(["allOf", 1, "then", "required"]),
+ schema_path=deque(["else", "allOf", 1, "then", "required"]),
)
],
),
@@ -95,7 +103,7 @@ def rule():
instance=5,
schema={"enum": [-1, "-1"]},
schema_path=deque(
- ["allOf", 0, "then", "properties", "FromPort", "enum"]
+ ["else", "allOf", 0, "then", "properties", "FromPort", "enum"]
),
)
],
@@ -115,11 +123,30 @@ def rule():
instance=5,
schema={"enum": [-1, "-1"]},
schema_path=deque(
- ["allOf", 1, "then", "properties", "ToPort", "enum"]
+ ["else", "allOf", 1, "then", "properties", "ToPort", "enum"]
),
)
],
),
+ (
+ {
+ "IpProtocol": "icmp",
+ "ToPort": 8,
+ "FromPort": -1,
+ },
+ [
+ ValidationError(
+ ("Both ['FromPort', 'ToPort'] must " "be -1 when one is -1"),
+ rule=SecurityGroupAllToAndFromPorts(),
+ path=deque(["ToPort"]),
+ validator="enum",
+ validator_value=[-1, "-1"],
+ instance=5,
+ schema={"enum": [-1, "-1"]},
+ schema_path=deque(["then", "then", "properties", "ToPort", "enum"]),
+ )
+ ],
+ ),
],
)
def test_backup_lifecycle(instance, expected, rule, validator):
diff --git a/test/unit/rules/templates/test_base_template.py b/test/unit/rules/templates/test_base_template.py
index 7194606d3a..3dee201c9b 100644
--- a/test/unit/rules/templates/test_base_template.py
+++ b/test/unit/rules/templates/test_base_template.py
@@ -40,7 +40,7 @@ def test_file_negative(self):
def test_file_base(self):
"""Test failure"""
- self.helper_file_negative("test/fixtures/templates/bad/templates/base.yaml", 2)
+ self.helper_file_negative("test/fixtures/templates/bad/templates/base.yaml", 1)
def test_file_base_date(self):
"""Test failure"""
@@ -51,5 +51,5 @@ def test_file_base_date(self):
def test_file_base_null(self):
"""Test failure"""
self.helper_file_negative(
- "test/fixtures/templates/bad/templates/base_null.yaml", 3
+ "test/fixtures/templates/bad/templates/base_null.yaml", 2
)
diff --git a/test/unit/rules/transforms/__init__.py b/test/unit/rules/transforms/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/test/unit/rules/transforms/test_configuration.py b/test/unit/rules/transforms/test_configuration.py
new file mode 100644
index 0000000000..c55cd87def
--- /dev/null
+++ b/test/unit/rules/transforms/test_configuration.py
@@ -0,0 +1,95 @@
+"""
+Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
+SPDX-License-Identifier: MIT-0
+"""
+
+from collections import deque
+
+import pytest
+
+from cfnlint.jsonschema import ValidationError
+from cfnlint.rules.transforms.Configuration import Configuration
+
+
+@pytest.fixture(scope="module")
+def rule():
+ rule = Configuration()
+ yield rule
+
+
+@pytest.mark.parametrize(
+ "name,instance,expected",
+ [
+ (
+ "Empty list is ok",
+ [],
+ [],
+ ),
+ (
+ "String is ok",
+ "Foo",
+ [],
+ ),
+ (
+ "List is ok",
+ ["Foo", "Bar"],
+ [],
+ ),
+ (
+ "Object is ok",
+ {"Name": "Foo", "Parameters": {"Bar": "Test"}},
+ [],
+ ),
+ (
+ "Array of objects is ok",
+ [
+ {"Name": "Foo", "Parameters": {"Bar": "Test"}},
+ "Foo",
+ ],
+ [],
+ ),
+ (
+ "Missing required Name",
+ {"Parameters": {"Bar": "Test"}},
+ [
+ ValidationError(
+ "'Name' is a required property",
+ validator="required",
+ rule=Configuration(),
+ path=deque([]),
+ schema_path=deque(["required"]),
+ )
+ ],
+ ),
+ (
+ "No additional property names are allowed",
+ {"Name": "Foo", "Foo": "Bar", "Parameters": {"Bar": "Test"}},
+ [
+ ValidationError(
+ "Additional properties are not allowed ('Foo' was unexpected)",
+ validator="additionalProperties",
+ rule=Configuration(),
+ path=deque(["Foo"]),
+ schema_path=deque(["additionalProperties"]),
+ )
+ ],
+ ),
+ (
+ "Null is not ok",
+ None,
+ [
+ ValidationError(
+ "None is not of type 'string', 'array', 'object'",
+ validator="type",
+ rule=Configuration(),
+ path=deque([]),
+ schema_path=deque(["type"]),
+ )
+ ],
+ ),
+ ],
+)
+def test_validate(name, instance, expected, rule, validator):
+ errs = list(rule.validate(validator, {}, instance, {}))
+
+ assert errs == expected, f"Test {name!r} got {errs!r}"
diff --git a/tox.ini b/tox.ini
index 115043f5c3..24c3f00e4a 100644
--- a/tox.ini
+++ b/tox.ini
@@ -5,9 +5,7 @@ isolated_build = true
[testenv]
skip_install = True
commands =
- pip install -e .
- pip install -e .[sarif]
- pip install -e .[junit]
+ pip install -e .[full]
coverage run -m pytest {posargs:test}
coverage xml
deps =