From 0eab8fd48f2df0960be908157719589e731a178f Mon Sep 17 00:00:00 2001 From: Abhash Kumar Singh Date: Wed, 20 Dec 2023 10:29:41 -0800 Subject: [PATCH 1/2] feat(AWSCore): Adding support for the ca-west-1 region --- AWSCore/Service/AWSService.m | 3 +++ AWSCore/Service/AWSServiceEnum.h | 4 ++++ AWSCore/Utility/AWSCategory.m | 5 +++++ AWSCoreUnitTests/AWSServiceTests.m | 5 +++++ AWSS3/AWSS3Model.h | 1 + AWSS3/AWSS3Model.m | 10 ++++++++++ AWSS3/AWSS3Resources.m | 1 + CHANGELOG.md | 4 ++++ 8 files changed, 33 insertions(+) diff --git a/AWSCore/Service/AWSService.m b/AWSCore/Service/AWSService.m index 4ff59d54685..9f5ad7f76fa 100644 --- a/AWSCore/Service/AWSService.m +++ b/AWSCore/Service/AWSService.m @@ -266,6 +266,7 @@ - (id)copyWithZone:(NSZone *)zone { static NSString *const AWSRegionNameCNNorth1 = @"cn-north-1"; static NSString *const AWSRegionNameCNNorthWest1 = @"cn-northwest-1"; static NSString *const AWSRegionNameCACentral1 = @"ca-central-1"; +static NSString *const AWSRegionNameCAWest1 = @"ca-west-1"; static NSString *const AWSRegionNameUSGovWest1 = @"us-gov-west-1"; static NSString *const AWSRegionNameUSGovEast1 = @"us-gov-east-1"; static NSString *const AWSRegionNameMECentral1 = @"me-central-1"; @@ -491,6 +492,8 @@ + (NSString *)regionNameFromType:(AWSRegionType)regionType { return AWSRegionNameCNNorth1; case AWSRegionCACentral1: return AWSRegionNameCACentral1; + case AWSRegionCAWest1: + return AWSRegionNameCAWest1; case AWSRegionUSGovWest1: return AWSRegionNameUSGovWest1; case AWSRegionCNNorthWest1: diff --git a/AWSCore/Service/AWSServiceEnum.h b/AWSCore/Service/AWSServiceEnum.h index 8cb5564bfd9..16aa14c10c8 100644 --- a/AWSCore/Service/AWSServiceEnum.h +++ b/AWSCore/Service/AWSServiceEnum.h @@ -103,6 +103,10 @@ typedef NS_ENUM(NSInteger, AWSRegionType) { * Canada (Central) */ AWSRegionCACentral1 NS_SWIFT_NAME(CACentral1), + /** + * Canada West (Calgary) + */ + AWSRegionCAWest1 NS_SWIFT_NAME(CAWest1), /** * AWS GovCloud (US West) */ diff --git a/AWSCore/Utility/AWSCategory.m b/AWSCore/Utility/AWSCategory.m index a63e8f0ca74..49e5c205f8f 100644 --- a/AWSCore/Utility/AWSCategory.m +++ b/AWSCore/Utility/AWSCategory.m @@ -550,6 +550,11 @@ - (AWSRegionType)aws_regionTypeValue { || [self isEqualToString:@"ca-central-1"]) { return AWSRegionCACentral1; } + if ([self isEqualToString:@"AWSRegionNameCAWest1"] + || [self isEqualToString:@"CAWest1"] + || [self isEqualToString:@"ca-west-1"]) { + return AWSRegionCAWest1; + } if ([self isEqualToString:@"AWSRegionUSGovWest1"] || [self isEqualToString:@"USGovWest1"] || [self isEqualToString:@"us-gov-west-1"]) { diff --git a/AWSCoreUnitTests/AWSServiceTests.m b/AWSCoreUnitTests/AWSServiceTests.m index 803c753bb9d..91f8838e5b7 100644 --- a/AWSCoreUnitTests/AWSServiceTests.m +++ b/AWSCoreUnitTests/AWSServiceTests.m @@ -527,6 +527,7 @@ - (void)testRegionTypeNames { XCTAssertEqualObjects([AWSEndpoint regionNameFromType:AWSRegionAFSouth1], @"af-south-1"); XCTAssertEqualObjects([AWSEndpoint regionNameFromType:AWSRegionCACentral1], @"ca-central-1"); + XCTAssertEqualObjects([AWSEndpoint regionNameFromType:AWSRegionCAWest1], @"ca-west-1"); XCTAssertEqualObjects([AWSEndpoint regionNameFromType:AWSRegionILCentral1], @"il-central-1"); XCTAssertEqualObjects([AWSEndpoint regionNameFromType:AWSRegionSAEast1], @"sa-east-1"); } @@ -626,6 +627,10 @@ - (void)testStringRegionTypeValue { XCTAssertEqual([@"AWSRegionCACentral1" aws_regionTypeValue], AWSRegionCACentral1); XCTAssertEqual([@"CACentral1" aws_regionTypeValue], AWSRegionCACentral1); XCTAssertEqual([@"ca-central-1" aws_regionTypeValue], AWSRegionCACentral1); + + XCTAssertEqual([@"AWSRegionCAWest1" aws_regionTypeValue], AWSRegionCAWest1); + XCTAssertEqual([@"CAWest1" aws_regionTypeValue], AWSRegionCAWest1); + XCTAssertEqual([@"ca-west-1" aws_regionTypeValue], AWSRegionCAWest1); XCTAssertEqual([@"AWSRegionILCentral1" aws_regionTypeValue], AWSRegionILCentral1); XCTAssertEqual([@"ILCentral1" aws_regionTypeValue], AWSRegionILCentral1); diff --git a/AWSS3/AWSS3Model.h b/AWSS3/AWSS3Model.h index 15a6211f8b1..34d9f9160f9 100644 --- a/AWSS3/AWSS3Model.h +++ b/AWSS3/AWSS3Model.h @@ -66,6 +66,7 @@ typedef NS_ENUM(NSInteger, AWSS3BucketLocationConstraint) { AWSS3BucketLocationConstraintAPSoutheast3, AWSS3BucketLocationConstraintAPSoutheast4, AWSS3BucketLocationConstraintCACentral1, + AWSS3BucketLocationConstraintCAWest1, AWSS3BucketLocationConstraintCNNorth1, AWSS3BucketLocationConstraintCNNorthwest1, AWSS3BucketLocationConstraintEU, diff --git a/AWSS3/AWSS3Model.m b/AWSS3/AWSS3Model.m index 2745e17659c..da3b5287ae4 100644 --- a/AWSS3/AWSS3Model.m +++ b/AWSS3/AWSS3Model.m @@ -1229,6 +1229,9 @@ + (NSValueTransformer *)locationConstraintJSONTransformer { if ([value caseInsensitiveCompare:@"ca-central-1"] == NSOrderedSame) { return @(AWSS3BucketLocationConstraintCACentral1); } + if ([value caseInsensitiveCompare:@"ca-west-1"] == NSOrderedSame) { + return @(AWSS3BucketLocationConstraintCAWest1); + } if ([value caseInsensitiveCompare:@"cn-north-1"] == NSOrderedSame) { return @(AWSS3BucketLocationConstraintCNNorth1); } @@ -1318,6 +1321,8 @@ + (NSValueTransformer *)locationConstraintJSONTransformer { return @"ap-southeast-4"; case AWSS3BucketLocationConstraintCACentral1: return @"ca-central-1"; + case AWSS3BucketLocationConstraintCAWest1: + return @"ca-west-1"; case AWSS3BucketLocationConstraintCNNorth1: return @"cn-north-1"; case AWSS3BucketLocationConstraintCNNorthwest1: @@ -2842,6 +2847,9 @@ + (NSValueTransformer *)locationConstraintJSONTransformer { if ([value caseInsensitiveCompare:@"ca-central-1"] == NSOrderedSame) { return @(AWSS3BucketLocationConstraintCACentral1); } + if ([value caseInsensitiveCompare:@"ca-west-1"] == NSOrderedSame) { + return @(AWSS3BucketLocationConstraintCAWest1); + } if ([value caseInsensitiveCompare:@"cn-north-1"] == NSOrderedSame) { return @(AWSS3BucketLocationConstraintCNNorth1); } @@ -2931,6 +2939,8 @@ + (NSValueTransformer *)locationConstraintJSONTransformer { return @"ap-southeast-4"; case AWSS3BucketLocationConstraintCACentral1: return @"ca-central-1"; + case AWSS3BucketLocationConstraintCAWest1: + return @"ca-west-1"; case AWSS3BucketLocationConstraintCNNorth1: return @"cn-north-1"; case AWSS3BucketLocationConstraintCNNorthwest1: diff --git a/AWSS3/AWSS3Resources.m b/AWSS3/AWSS3Resources.m index e3db5ad0b23..def6d7b2a1f 100644 --- a/AWSS3/AWSS3Resources.m +++ b/AWSS3/AWSS3Resources.m @@ -1376,6 +1376,7 @@ - (NSString *)definitionString { \"ap-southeast-3\",\ \"ap-southeast-4\",\ \"ca-central-1\",\ + \"ca-west-1\",\ \"cn-north-1\",\ \"cn-northwest-1\",\ \"EU\",\ diff --git a/CHANGELOG.md b/CHANGELOG.md index 0d425fb6442..31b00c890c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ ## Unreleased +### New features +- **AWSCore** + - Support for `ca-west-1` - Canada West (Calgary) (see [AWS Regional Services List](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) for a list of services supported in the region) + -Features for next release ## 2.33.6 From 79bd12b9dde37d7fe6f6ce0a1b5f9cf585288547 Mon Sep 17 00:00:00 2001 From: Abhash Kumar Singh Date: Wed, 20 Dec 2023 11:04:16 -0800 Subject: [PATCH 2/2] Address review comments and fix unit test --- AWSCore/Utility/AWSCategory.m | 2 +- CHANGELOG.md | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/AWSCore/Utility/AWSCategory.m b/AWSCore/Utility/AWSCategory.m index 49e5c205f8f..cd0077d681d 100644 --- a/AWSCore/Utility/AWSCategory.m +++ b/AWSCore/Utility/AWSCategory.m @@ -550,7 +550,7 @@ - (AWSRegionType)aws_regionTypeValue { || [self isEqualToString:@"ca-central-1"]) { return AWSRegionCACentral1; } - if ([self isEqualToString:@"AWSRegionNameCAWest1"] + if ([self isEqualToString:@"AWSRegionCAWest1"] || [self isEqualToString:@"CAWest1"] || [self isEqualToString:@"ca-west-1"]) { return AWSRegionCAWest1; diff --git a/CHANGELOG.md b/CHANGELOG.md index 31b00c890c1..584c2918fff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,8 +8,6 @@ - **AWSCore** - Support for `ca-west-1` - Canada West (Calgary) (see [AWS Regional Services List](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/) for a list of services supported in the region) --Features for next release - ## 2.33.6 ### New features