diff --git a/.readthedocs.yaml.off b/.readthedocs.yaml similarity index 90% rename from .readthedocs.yaml.off rename to .readthedocs.yaml index 82311f5..9b23c7a 100644 --- a/.readthedocs.yaml.off +++ b/.readthedocs.yaml @@ -18,6 +18,6 @@ mkdocs: # We recommend specifying your dependencies to enable reproducible builds: # https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html -# python: -# install: -# - requirements: docs/requirements.txt +python: + install: + - requirements: docs/requirements.txt diff --git a/pyproject.toml b/pyproject.toml index 6f54dc4..22e3fdd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ # or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. [tool.poetry] name = "rdk" -version = "0.17.1" +version = "0.17.2" description = "Rule Development Kit CLI for AWS Config" authors = [ "AWS RDK Maintainers ", @@ -113,7 +113,7 @@ boto3 = "^1.26.139" pyyaml = "^6.0" [tool.poetry.group.dev.dependencies] -rdklib = "^0.3.0" +rdklib = "^0.3" black = "^22.12.0" pydocstyle = "^6.3.0" isort = {extras = ["toml"], version = "^5.11.4"} diff --git a/rdk/__init__.py b/rdk/__init__.py index 98471f4..09725be 100644 --- a/rdk/__init__.py +++ b/rdk/__init__.py @@ -6,4 +6,4 @@ # # or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -MY_VERSION = "0.17.1" +MY_VERSION = "0.17.2" diff --git a/rdk/rdk.py b/rdk/rdk.py index 3185840..a57e67b 100644 --- a/rdk/rdk.py +++ b/rdk/rdk.py @@ -57,24 +57,8 @@ test_ci_filename = "test_ci.json" event_template_filename = "test_event_template.json" -RDKLIB_LAYER_VERSION = { - "ap-southeast-1": "28", - "ap-south-1": "5", - "us-east-2": "5", - "us-east-1": "5", - "us-west-1": "4", - "us-west-2": "4", - "ap-northeast-2": "5", - "ap-southeast-2": "5", - "ap-northeast-1": "5", - "ca-central-1": "5", - "eu-central-1": "5", - "eu-west-1": "5", - "eu-west-2": "4", - "eu-west-3": "5", - "eu-north-1": "5", - "sa-east-1": "5", -} +rdklib_versions_filepath = os.path.join(os.path.dirname(__file__), "rdklib_versions.yaml") +RDKLIB_LAYER_VERSION = yaml.safe_load(open(rdklib_versions_filepath).read()).get("rdklib_layer_versions") RDKLIB_LAYER_SAR_ID = "arn:aws:serverlessrepo:ap-southeast-1:711761543063:applications/rdklib" diff --git a/rdk/rdklib_versions.yaml b/rdk/rdklib_versions.yaml new file mode 100644 index 0000000..c2f2148 --- /dev/null +++ b/rdk/rdklib_versions.yaml @@ -0,0 +1,21 @@ + +# This file should be updated to contain the latest stable Lambda layer from the rdklib SAM application. +# Layers are published to each region, which is why some have more versions than others. +# This file was automatically generated by update_rdklib_versions.py; check for accuracy before deploying. +rdklib_layer_versions: + ap-northeast-1: 17 + ap-northeast-2: 17 + ap-south-1: 17 + ap-southeast-1: 76 + ap-southeast-2: 15 + ca-central-1: 17 + eu-central-1: 16 + eu-north-1: 16 + eu-west-1: 17 + eu-west-2: 13 + eu-west-3: 17 + sa-east-1: 17 + us-east-1: 18 + us-east-2: 77 + us-west-1: 15 + us-west-2: 16 diff --git a/update_rdklib_versions.py b/update_rdklib_versions.py new file mode 100644 index 0000000..94eb792 --- /dev/null +++ b/update_rdklib_versions.py @@ -0,0 +1,27 @@ +import yaml +import boto3 + +with open("rdk/rdklib_versions.yaml", "r") as f: + # read the file + regions = yaml.safe_load(f) + +version_dict = {"rdklib_layer_versions": {}} +for region in regions["rdklib_layer_versions"]: + lambda_client = boto3.client( + "lambda", + config=boto3.session.Config(region_name=region), + ) + latest_version = lambda_client.list_layer_versions(LayerName="rdklib-layer", MaxItems=1)["LayerVersions"][0][ + "Version" + ] + version_dict["rdklib_layer_versions"][region] = latest_version + +with open("rdk/rdklib_versions.yaml", "w") as f: + f.write( + """ +# This file should be updated to contain the latest stable Lambda layer from the rdklib SAM application. +# Layers are published to each region, which is why some have more versions than others. +# This file was automatically generated by update_rdklib_versions.py; check for accuracy before deploying. +""" + ) + f.write(yaml.dump(version_dict))