diff --git a/CHANGES.rst b/CHANGES.rst index 6a65d452a..978cfd59d 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,5 +1,11 @@ Changelog ========= +-------------------- +3.25 (2025-06-27) +-------------------- +- Added me-central-1 elasticbeanstalk-env-resources bucket +- Added il-central-1 and me-central-1 to regions list + -------------------- 3.24.1 (2025-05-20) -------------------- diff --git a/ebcli/__init__.py b/ebcli/__init__.py index b2231e6cd..60a443cbf 100644 --- a/ebcli/__init__.py +++ b/ebcli/__init__.py @@ -11,4 +11,4 @@ # 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. -__version__ = '3.24.1' +__version__ = '3.25' diff --git a/ebcli/lib/elasticbeanstalk.py b/ebcli/lib/elasticbeanstalk.py index 83b0b6998..a68435a94 100644 --- a/ebcli/lib/elasticbeanstalk.py +++ b/ebcli/lib/elasticbeanstalk.py @@ -317,6 +317,23 @@ def create_application_version( **kwargs) +def _get_env_resources_bucket_name(region): + """ + Get the environment resources bucket name for a given region. + Some regions have different bucket naming patterns with suffixes. + """ + region_suffix_mapping = { + 'me-central-1': 'f08b818c' + } + + base_name = 'elasticbeanstalk-env-resources-' + region + + if region in region_suffix_mapping: + return base_name + '-' + region_suffix_mapping[region] + + return base_name + + def create_environment(environment): """ Creates an Elastic Beanstalk environment @@ -327,14 +344,13 @@ def create_environment(environment): if environment.database: region = aws.get_region_name() + bucket_name = _get_env_resources_bucket_name(region) kwargs['TemplateSpecification'] = { 'TemplateSnippets': [ {'SnippetName': 'RdsExtensionEB', 'Order': 10000, - 'SourceUrl': 'https://s3.amazonaws.com/' - 'elasticbeanstalk-env-resources-' + region + - '/eb_snippets/rds/rds.json'} + 'SourceUrl': 'https://s3.amazonaws.com/' + bucket_name + '/eb_snippets/rds/rds.json'} ] } diff --git a/ebcli/objects/region.py b/ebcli/objects/region.py index b6473abdb..e7f0818cb 100644 --- a/ebcli/objects/region.py +++ b/ebcli/objects/region.py @@ -38,6 +38,8 @@ def get_all_regions(): Region('af-south-1', 'Africa (Cape Town)'), Region('ap-southeast-3', 'Asia Pacific (Jakarta)'), Region('ap-northeast-3', 'Asia Pacific (Osaka)'), + Region('il-central-1', 'Israel (Tel Aviv)'), + Region('me-central-1', 'Middle East (UAE)'), ] diff --git a/tests/unit/lib/test_elasticbeanstalk.py b/tests/unit/lib/test_elasticbeanstalk.py index 3c771043d..6af5a3142 100644 --- a/tests/unit/lib/test_elasticbeanstalk.py +++ b/tests/unit/lib/test_elasticbeanstalk.py @@ -1791,6 +1791,14 @@ def test_list_application_load_balancers__no_vpc( expected_result, result ) + def test_get_env_resources_bucket_name_standard_region(self): + bucket_name = elasticbeanstalk._get_env_resources_bucket_name('us-east-1') + self.assertEqual(bucket_name, 'elasticbeanstalk-env-resources-us-east-1') + + def test_get_env_resources_bucket_name_me_central_1(self): + bucket_name = elasticbeanstalk._get_env_resources_bucket_name('me-central-1') + self.assertEqual(bucket_name, 'elasticbeanstalk-env-resources-me-central-1-f08b818c') + @mock.patch('ebcli.lib.elasticbeanstalk.describe_configuration_options') def test_list_application_load_balancers__with_vpc( self,