// // Copyright 2010-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Apache License, Version 2.0 (the "License"). // You may not use this file except in compliance with the License. // A copy of the License is located at // // http://aws.amazon.com/apache2.0 // // 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. // #import "AWSEC2Model.h" #import NSString *const AWSEC2ErrorDomain = @"com.amazonaws.AWSEC2ErrorDomain"; @implementation AWSEC2AcceleratorCount + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2AcceleratorCountRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2AcceleratorTotalMemoryMiB + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2AcceleratorTotalMemoryMiBRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2AcceptAddressTransferRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"address" : @"Address", @"dryRun" : @"DryRun", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2AcceptAddressTransferResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addressTransfer" : @"AddressTransfer", }; } + (NSValueTransformer *)addressTransferJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AddressTransfer class]]; } @end @implementation AWSEC2AcceptReservedInstancesExchangeQuoteRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"reservedInstanceIds" : @"ReservedInstanceIds", @"targetConfigurations" : @"TargetConfigurations", }; } + (NSValueTransformer *)targetConfigurationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TargetConfigurationRequest class]]; } @end @implementation AWSEC2AcceptReservedInstancesExchangeQuoteResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"exchangeId" : @"ExchangeId", }; } @end @implementation AWSEC2AcceptTransitGatewayMulticastDomainAssociationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"subnetIds" : @"SubnetIds", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } @end @implementation AWSEC2AcceptTransitGatewayMulticastDomainAssociationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associations" : @"Associations", }; } + (NSValueTransformer *)associationsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayMulticastDomainAssociations class]]; } @end @implementation AWSEC2AcceptTransitGatewayPeeringAttachmentRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } @end @implementation AWSEC2AcceptTransitGatewayPeeringAttachmentResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayPeeringAttachment" : @"TransitGatewayPeeringAttachment", }; } + (NSValueTransformer *)transitGatewayPeeringAttachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPeeringAttachment class]]; } @end @implementation AWSEC2AcceptTransitGatewayVpcAttachmentRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } @end @implementation AWSEC2AcceptTransitGatewayVpcAttachmentResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayVpcAttachment" : @"TransitGatewayVpcAttachment", }; } + (NSValueTransformer *)transitGatewayVpcAttachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayVpcAttachment class]]; } @end @implementation AWSEC2AcceptVpcEndpointConnectionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"serviceId" : @"ServiceId", @"vpcEndpointIds" : @"VpcEndpointIds", }; } @end @implementation AWSEC2AcceptVpcEndpointConnectionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"unsuccessful" : @"Unsuccessful", }; } + (NSValueTransformer *)unsuccessfulJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2UnsuccessfulItem class]]; } @end @implementation AWSEC2AcceptVpcPeeringConnectionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"vpcPeeringConnectionId" : @"VpcPeeringConnectionId", }; } @end @implementation AWSEC2AcceptVpcPeeringConnectionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpcPeeringConnection" : @"VpcPeeringConnection", }; } + (NSValueTransformer *)vpcPeeringConnectionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpcPeeringConnection class]]; } @end @implementation AWSEC2AccessScopeAnalysisFinding + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"findingComponents" : @"FindingComponents", @"findingId" : @"FindingId", @"networkInsightsAccessScopeAnalysisId" : @"NetworkInsightsAccessScopeAnalysisId", @"networkInsightsAccessScopeId" : @"NetworkInsightsAccessScopeId", }; } + (NSValueTransformer *)findingComponentsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PathComponent class]]; } @end @implementation AWSEC2AccessScopePath + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destination" : @"Destination", @"source" : @"Source", @"throughResources" : @"ThroughResources", }; } + (NSValueTransformer *)destinationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PathStatement class]]; } + (NSValueTransformer *)sourceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PathStatement class]]; } + (NSValueTransformer *)throughResourcesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ThroughResourcesStatement class]]; } @end @implementation AWSEC2AccessScopePathRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destination" : @"Destination", @"source" : @"Source", @"throughResources" : @"ThroughResources", }; } + (NSValueTransformer *)destinationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PathStatementRequest class]]; } + (NSValueTransformer *)sourceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PathStatementRequest class]]; } + (NSValueTransformer *)throughResourcesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ThroughResourcesStatementRequest class]]; } @end @implementation AWSEC2AccountAttribute + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attributeName" : @"AttributeName", @"attributeValues" : @"AttributeValues", }; } + (NSValueTransformer *)attributeValuesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AccountAttributeValue class]]; } @end @implementation AWSEC2AccountAttributeValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attributeValue" : @"AttributeValue", }; } @end @implementation AWSEC2ActiveInstance + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceHealth" : @"InstanceHealth", @"instanceId" : @"InstanceId", @"instanceType" : @"InstanceType", @"spotInstanceRequestId" : @"SpotInstanceRequestId", }; } + (NSValueTransformer *)instanceHealthJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"healthy"] == NSOrderedSame) { return @(AWSEC2InstanceHealthStatusHealthy); } if ([value caseInsensitiveCompare:@"unhealthy"] == NSOrderedSame) { return @(AWSEC2InstanceHealthStatusUnhealthy); } return @(AWSEC2InstanceHealthStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceHealthStatusHealthy: return @"healthy"; case AWSEC2InstanceHealthStatusUnhealthy: return @"unhealthy"; default: return nil; } }]; } @end @implementation AWSEC2AddIpamOperatingRegion + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"regionName" : @"RegionName", }; } @end @implementation AWSEC2AddPrefixListEntry + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"detail" : @"Description", }; } @end @implementation AWSEC2AddedPrincipal + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"principal" : @"Principal", @"principalType" : @"PrincipalType", @"serviceId" : @"ServiceId", @"servicePermissionId" : @"ServicePermissionId", }; } + (NSValueTransformer *)principalTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"All"] == NSOrderedSame) { return @(AWSEC2PrincipalTypeAll); } if ([value caseInsensitiveCompare:@"Service"] == NSOrderedSame) { return @(AWSEC2PrincipalTypeService); } if ([value caseInsensitiveCompare:@"OrganizationUnit"] == NSOrderedSame) { return @(AWSEC2PrincipalTypeOrganizationUnit); } if ([value caseInsensitiveCompare:@"Account"] == NSOrderedSame) { return @(AWSEC2PrincipalTypeAccount); } if ([value caseInsensitiveCompare:@"User"] == NSOrderedSame) { return @(AWSEC2PrincipalTypeUser); } if ([value caseInsensitiveCompare:@"Role"] == NSOrderedSame) { return @(AWSEC2PrincipalTypeRole); } return @(AWSEC2PrincipalTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PrincipalTypeAll: return @"All"; case AWSEC2PrincipalTypeService: return @"Service"; case AWSEC2PrincipalTypeOrganizationUnit: return @"OrganizationUnit"; case AWSEC2PrincipalTypeAccount: return @"Account"; case AWSEC2PrincipalTypeUser: return @"User"; case AWSEC2PrincipalTypeRole: return @"Role"; default: return nil; } }]; } @end @implementation AWSEC2AdditionalDetail + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"additionalDetailType" : @"AdditionalDetailType", @"component" : @"Component", @"loadBalancers" : @"LoadBalancers", @"ruleGroupRuleOptionsPairs" : @"RuleGroupRuleOptionsPairs", @"ruleGroupTypePairs" : @"RuleGroupTypePairs", @"ruleOptions" : @"RuleOptions", @"serviceName" : @"ServiceName", @"vpcEndpointService" : @"VpcEndpointService", }; } + (NSValueTransformer *)componentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)loadBalancersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)ruleGroupRuleOptionsPairsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2RuleGroupRuleOptionsPair class]]; } + (NSValueTransformer *)ruleGroupTypePairsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2RuleGroupTypePair class]]; } + (NSValueTransformer *)ruleOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2RuleOption class]]; } + (NSValueTransformer *)vpcEndpointServiceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } @end @implementation AWSEC2Address + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationId" : @"AllocationId", @"associationId" : @"AssociationId", @"carrierIp" : @"CarrierIp", @"customerOwnedIp" : @"CustomerOwnedIp", @"customerOwnedIpv4Pool" : @"CustomerOwnedIpv4Pool", @"domain" : @"Domain", @"instanceId" : @"InstanceId", @"networkBorderGroup" : @"NetworkBorderGroup", @"networkInterfaceId" : @"NetworkInterfaceId", @"networkInterfaceOwnerId" : @"NetworkInterfaceOwnerId", @"privateIpAddress" : @"PrivateIpAddress", @"publicIp" : @"PublicIp", @"publicIpv4Pool" : @"PublicIpv4Pool", @"tags" : @"Tags", }; } + (NSValueTransformer *)domainJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2DomainTypeVPC); } if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2DomainTypeStandard); } return @(AWSEC2DomainTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DomainTypeVPC: return @"vpc"; case AWSEC2DomainTypeStandard: return @"standard"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2AddressAttribute + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationId" : @"AllocationId", @"ptrRecord" : @"PtrRecord", @"ptrRecordUpdate" : @"PtrRecordUpdate", @"publicIp" : @"PublicIp", }; } + (NSValueTransformer *)ptrRecordUpdateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PtrUpdateStatus class]]; } @end @implementation AWSEC2AddressTransfer + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addressTransferStatus" : @"AddressTransferStatus", @"allocationId" : @"AllocationId", @"publicIp" : @"PublicIp", @"transferAccountId" : @"TransferAccountId", @"transferOfferAcceptedTimestamp" : @"TransferOfferAcceptedTimestamp", @"transferOfferExpirationTimestamp" : @"TransferOfferExpirationTimestamp", }; } + (NSValueTransformer *)addressTransferStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2AddressTransferStatusPending); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2AddressTransferStatusDisabled); } if ([value caseInsensitiveCompare:@"accepted"] == NSOrderedSame) { return @(AWSEC2AddressTransferStatusAccepted); } return @(AWSEC2AddressTransferStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AddressTransferStatusPending: return @"pending"; case AWSEC2AddressTransferStatusDisabled: return @"disabled"; case AWSEC2AddressTransferStatusAccepted: return @"accepted"; default: return nil; } }]; } + (NSValueTransformer *)transferOfferAcceptedTimestampJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)transferOfferExpirationTimestampJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2AdvertiseByoipCidrRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2AdvertiseByoipCidrResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"byoipCidr" : @"ByoipCidr", }; } + (NSValueTransformer *)byoipCidrJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ByoipCidr class]]; } @end @implementation AWSEC2AllocateAddressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"address" : @"Address", @"customerOwnedIpv4Pool" : @"CustomerOwnedIpv4Pool", @"domain" : @"Domain", @"dryRun" : @"DryRun", @"networkBorderGroup" : @"NetworkBorderGroup", @"publicIpv4Pool" : @"PublicIpv4Pool", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)domainJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2DomainTypeVPC); } if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2DomainTypeStandard); } return @(AWSEC2DomainTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DomainTypeVPC: return @"vpc"; case AWSEC2DomainTypeStandard: return @"standard"; default: return nil; } }]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2AllocateAddressResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationId" : @"AllocationId", @"carrierIp" : @"CarrierIp", @"customerOwnedIp" : @"CustomerOwnedIp", @"customerOwnedIpv4Pool" : @"CustomerOwnedIpv4Pool", @"domain" : @"Domain", @"networkBorderGroup" : @"NetworkBorderGroup", @"publicIp" : @"PublicIp", @"publicIpv4Pool" : @"PublicIpv4Pool", }; } + (NSValueTransformer *)domainJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2DomainTypeVPC); } if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2DomainTypeStandard); } return @(AWSEC2DomainTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DomainTypeVPC: return @"vpc"; case AWSEC2DomainTypeStandard: return @"standard"; default: return nil; } }]; } @end @implementation AWSEC2AllocateHostsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"assetIds" : @"AssetIds", @"autoPlacement" : @"AutoPlacement", @"availabilityZone" : @"AvailabilityZone", @"clientToken" : @"ClientToken", @"hostMaintenance" : @"HostMaintenance", @"hostRecovery" : @"HostRecovery", @"instanceFamily" : @"InstanceFamily", @"instanceType" : @"InstanceType", @"outpostArn" : @"OutpostArn", @"quantity" : @"Quantity", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)autoPlacementJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"on"] == NSOrderedSame) { return @(AWSEC2AutoPlacementOn); } if ([value caseInsensitiveCompare:@"off"] == NSOrderedSame) { return @(AWSEC2AutoPlacementOff); } return @(AWSEC2AutoPlacementUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AutoPlacementOn: return @"on"; case AWSEC2AutoPlacementOff: return @"off"; default: return nil; } }]; } + (NSValueTransformer *)hostMaintenanceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"on"] == NSOrderedSame) { return @(AWSEC2HostMaintenanceOn); } if ([value caseInsensitiveCompare:@"off"] == NSOrderedSame) { return @(AWSEC2HostMaintenanceOff); } return @(AWSEC2HostMaintenanceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HostMaintenanceOn: return @"on"; case AWSEC2HostMaintenanceOff: return @"off"; default: return nil; } }]; } + (NSValueTransformer *)hostRecoveryJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"on"] == NSOrderedSame) { return @(AWSEC2HostRecoveryOn); } if ([value caseInsensitiveCompare:@"off"] == NSOrderedSame) { return @(AWSEC2HostRecoveryOff); } return @(AWSEC2HostRecoveryUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HostRecoveryOn: return @"on"; case AWSEC2HostRecoveryOff: return @"off"; default: return nil; } }]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2AllocateHostsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"hostIds" : @"HostIds", }; } @end @implementation AWSEC2AllocateIpamPoolCidrRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"clientToken" : @"ClientToken", @"detail" : @"Description", @"disallowedCidrs" : @"DisallowedCidrs", @"dryRun" : @"DryRun", @"ipamPoolId" : @"IpamPoolId", @"netmaskLength" : @"NetmaskLength", @"previewNextCidr" : @"PreviewNextCidr", }; } @end @implementation AWSEC2AllocateIpamPoolCidrResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamPoolAllocation" : @"IpamPoolAllocation", }; } + (NSValueTransformer *)ipamPoolAllocationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamPoolAllocation class]]; } @end @implementation AWSEC2AllowedPrincipal + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"principal" : @"Principal", @"principalType" : @"PrincipalType", @"serviceId" : @"ServiceId", @"servicePermissionId" : @"ServicePermissionId", @"tags" : @"Tags", }; } + (NSValueTransformer *)principalTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"All"] == NSOrderedSame) { return @(AWSEC2PrincipalTypeAll); } if ([value caseInsensitiveCompare:@"Service"] == NSOrderedSame) { return @(AWSEC2PrincipalTypeService); } if ([value caseInsensitiveCompare:@"OrganizationUnit"] == NSOrderedSame) { return @(AWSEC2PrincipalTypeOrganizationUnit); } if ([value caseInsensitiveCompare:@"Account"] == NSOrderedSame) { return @(AWSEC2PrincipalTypeAccount); } if ([value caseInsensitiveCompare:@"User"] == NSOrderedSame) { return @(AWSEC2PrincipalTypeUser); } if ([value caseInsensitiveCompare:@"Role"] == NSOrderedSame) { return @(AWSEC2PrincipalTypeRole); } return @(AWSEC2PrincipalTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PrincipalTypeAll: return @"All"; case AWSEC2PrincipalTypeService: return @"Service"; case AWSEC2PrincipalTypeOrganizationUnit: return @"OrganizationUnit"; case AWSEC2PrincipalTypeAccount: return @"Account"; case AWSEC2PrincipalTypeUser: return @"User"; case AWSEC2PrincipalTypeRole: return @"Role"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2AlternatePathHint + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"componentArn" : @"ComponentArn", @"componentId" : @"ComponentId", }; } @end @implementation AWSEC2AnalysisAclRule + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"egress" : @"Egress", @"portRange" : @"PortRange", @"protocols" : @"Protocol", @"ruleAction" : @"RuleAction", @"ruleNumber" : @"RuleNumber", }; } + (NSValueTransformer *)portRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PortRange class]]; } @end @implementation AWSEC2AnalysisComponent + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"arn" : @"Arn", @"identifier" : @"Id", @"name" : @"Name", }; } @end @implementation AWSEC2AnalysisLoadBalancerListener + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instancePort" : @"InstancePort", @"loadBalancerPort" : @"LoadBalancerPort", }; } @end @implementation AWSEC2AnalysisLoadBalancerTarget + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"address" : @"Address", @"availabilityZone" : @"AvailabilityZone", @"instance" : @"Instance", @"port" : @"Port", }; } + (NSValueTransformer *)instanceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } @end @implementation AWSEC2AnalysisPacketHeader + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationAddresses" : @"DestinationAddresses", @"destinationPortRanges" : @"DestinationPortRanges", @"protocols" : @"Protocol", @"sourceAddresses" : @"SourceAddresses", @"sourcePortRanges" : @"SourcePortRanges", }; } + (NSValueTransformer *)destinationPortRangesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PortRange class]]; } + (NSValueTransformer *)sourcePortRangesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PortRange class]]; } @end @implementation AWSEC2AnalysisRouteTableRoute + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"carrierGatewayId" : @"CarrierGatewayId", @"coreNetworkArn" : @"CoreNetworkArn", @"destinationCidr" : @"DestinationCidr", @"destinationPrefixListId" : @"DestinationPrefixListId", @"egressOnlyInternetGatewayId" : @"EgressOnlyInternetGatewayId", @"gatewayId" : @"GatewayId", @"instanceId" : @"InstanceId", @"localGatewayId" : @"LocalGatewayId", @"natGatewayId" : @"NatGatewayId", @"networkInterfaceId" : @"NetworkInterfaceId", @"origin" : @"Origin", @"state" : @"State", @"transitGatewayId" : @"TransitGatewayId", @"vpcPeeringConnectionId" : @"VpcPeeringConnectionId", }; } @end @implementation AWSEC2AnalysisSecurityGroupRule + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"direction" : @"Direction", @"portRange" : @"PortRange", @"prefixListId" : @"PrefixListId", @"protocols" : @"Protocol", @"securityGroupId" : @"SecurityGroupId", }; } + (NSValueTransformer *)portRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PortRange class]]; } @end @implementation AWSEC2ApplySecurityGroupsToClientVpnTargetNetworkRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"dryRun" : @"DryRun", @"securityGroupIds" : @"SecurityGroupIds", @"vpcId" : @"VpcId", }; } @end @implementation AWSEC2ApplySecurityGroupsToClientVpnTargetNetworkResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"securityGroupIds" : @"SecurityGroupIds", }; } @end @implementation AWSEC2AssignIpv6AddressesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6AddressCount" : @"Ipv6AddressCount", @"ipv6Addresses" : @"Ipv6Addresses", @"ipv6PrefixCount" : @"Ipv6PrefixCount", @"ipv6Prefixes" : @"Ipv6Prefixes", @"networkInterfaceId" : @"NetworkInterfaceId", }; } @end @implementation AWSEC2AssignIpv6AddressesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"assignedIpv6Addresses" : @"AssignedIpv6Addresses", @"assignedIpv6Prefixes" : @"AssignedIpv6Prefixes", @"networkInterfaceId" : @"NetworkInterfaceId", }; } @end @implementation AWSEC2AssignPrivateIpAddressesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allowReassignment" : @"AllowReassignment", @"ipv4PrefixCount" : @"Ipv4PrefixCount", @"ipv4Prefixes" : @"Ipv4Prefixes", @"networkInterfaceId" : @"NetworkInterfaceId", @"privateIpAddresses" : @"PrivateIpAddresses", @"secondaryPrivateIpAddressCount" : @"SecondaryPrivateIpAddressCount", }; } @end @implementation AWSEC2AssignPrivateIpAddressesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"assignedIpv4Prefixes" : @"AssignedIpv4Prefixes", @"assignedPrivateIpAddresses" : @"AssignedPrivateIpAddresses", @"networkInterfaceId" : @"NetworkInterfaceId", }; } + (NSValueTransformer *)assignedIpv4PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv4PrefixSpecification class]]; } + (NSValueTransformer *)assignedPrivateIpAddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AssignedPrivateIpAddress class]]; } @end @implementation AWSEC2AssignPrivateNatGatewayAddressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"natGatewayId" : @"NatGatewayId", @"privateIpAddressCount" : @"PrivateIpAddressCount", @"privateIpAddresses" : @"PrivateIpAddresses", }; } @end @implementation AWSEC2AssignPrivateNatGatewayAddressResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"natGatewayAddresses" : @"NatGatewayAddresses", @"natGatewayId" : @"NatGatewayId", }; } + (NSValueTransformer *)natGatewayAddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NatGatewayAddress class]]; } @end @implementation AWSEC2AssignedPrivateIpAddress + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"privateIpAddress" : @"PrivateIpAddress", }; } @end @implementation AWSEC2AssociateAddressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationId" : @"AllocationId", @"allowReassociation" : @"AllowReassociation", @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", @"networkInterfaceId" : @"NetworkInterfaceId", @"privateIpAddress" : @"PrivateIpAddress", @"publicIp" : @"PublicIp", }; } @end @implementation AWSEC2AssociateAddressResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", }; } @end @implementation AWSEC2AssociateClientVpnTargetNetworkRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"dryRun" : @"DryRun", @"subnetId" : @"SubnetId", }; } @end @implementation AWSEC2AssociateClientVpnTargetNetworkResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"status" : @"Status", }; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AssociationStatus class]]; } @end @implementation AWSEC2AssociateDhcpOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dhcpOptionsId" : @"DhcpOptionsId", @"dryRun" : @"DryRun", @"vpcId" : @"VpcId", }; } @end @implementation AWSEC2AssociateEnclaveCertificateIamRoleRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"certificateArn" : @"CertificateArn", @"dryRun" : @"DryRun", @"roleArn" : @"RoleArn", }; } @end @implementation AWSEC2AssociateEnclaveCertificateIamRoleResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"certificateS3BucketName" : @"CertificateS3BucketName", @"certificateS3ObjectKey" : @"CertificateS3ObjectKey", @"encryptionKmsKeyId" : @"EncryptionKmsKeyId", }; } @end @implementation AWSEC2AssociateIamInstanceProfileRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"iamInstanceProfile" : @"IamInstanceProfile", @"instanceId" : @"InstanceId", }; } + (NSValueTransformer *)iamInstanceProfileJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IamInstanceProfileSpecification class]]; } @end @implementation AWSEC2AssociateIamInstanceProfileResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"iamInstanceProfileAssociation" : @"IamInstanceProfileAssociation", }; } + (NSValueTransformer *)iamInstanceProfileAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IamInstanceProfileAssociation class]]; } @end @implementation AWSEC2AssociateInstanceEventWindowRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationTarget" : @"AssociationTarget", @"dryRun" : @"DryRun", @"instanceEventWindowId" : @"InstanceEventWindowId", }; } + (NSValueTransformer *)associationTargetJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceEventWindowAssociationRequest class]]; } @end @implementation AWSEC2AssociateInstanceEventWindowResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceEventWindow" : @"InstanceEventWindow", }; } + (NSValueTransformer *)instanceEventWindowJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceEventWindow class]]; } @end @implementation AWSEC2AssociateIpamResourceDiscoveryRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"ipamId" : @"IpamId", @"ipamResourceDiscoveryId" : @"IpamResourceDiscoveryId", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2AssociateIpamResourceDiscoveryResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamResourceDiscoveryAssociation" : @"IpamResourceDiscoveryAssociation", }; } + (NSValueTransformer *)ipamResourceDiscoveryAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamResourceDiscoveryAssociation class]]; } @end @implementation AWSEC2AssociateNatGatewayAddressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationIds" : @"AllocationIds", @"dryRun" : @"DryRun", @"natGatewayId" : @"NatGatewayId", @"privateIpAddresses" : @"PrivateIpAddresses", }; } @end @implementation AWSEC2AssociateNatGatewayAddressResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"natGatewayAddresses" : @"NatGatewayAddresses", @"natGatewayId" : @"NatGatewayId", }; } + (NSValueTransformer *)natGatewayAddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NatGatewayAddress class]]; } @end @implementation AWSEC2AssociateRouteTableRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"gatewayId" : @"GatewayId", @"routeTableId" : @"RouteTableId", @"subnetId" : @"SubnetId", }; } @end @implementation AWSEC2AssociateRouteTableResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"associationState" : @"AssociationState", }; } + (NSValueTransformer *)associationStateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2RouteTableAssociationState class]]; } @end @implementation AWSEC2AssociateSubnetCidrBlockRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6CidrBlock" : @"Ipv6CidrBlock", @"subnetId" : @"SubnetId", }; } @end @implementation AWSEC2AssociateSubnetCidrBlockResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6CidrBlockAssociation" : @"Ipv6CidrBlockAssociation", @"subnetId" : @"SubnetId", }; } + (NSValueTransformer *)ipv6CidrBlockAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SubnetIpv6CidrBlockAssociation class]]; } @end @implementation AWSEC2AssociateTransitGatewayMulticastDomainRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"subnetIds" : @"SubnetIds", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } @end @implementation AWSEC2AssociateTransitGatewayMulticastDomainResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associations" : @"Associations", }; } + (NSValueTransformer *)associationsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayMulticastDomainAssociations class]]; } @end @implementation AWSEC2AssociateTransitGatewayPolicyTableRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayPolicyTableId" : @"TransitGatewayPolicyTableId", }; } @end @implementation AWSEC2AssociateTransitGatewayPolicyTableResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"association" : @"Association", }; } + (NSValueTransformer *)associationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPolicyTableAssociation class]]; } @end @implementation AWSEC2AssociateTransitGatewayRouteTableRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } @end @implementation AWSEC2AssociateTransitGatewayRouteTableResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"association" : @"Association", }; } + (NSValueTransformer *)associationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayAssociation class]]; } @end @implementation AWSEC2AssociateTrunkInterfaceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"branchInterfaceId" : @"BranchInterfaceId", @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"greKey" : @"GreKey", @"trunkInterfaceId" : @"TrunkInterfaceId", @"vlanId" : @"VlanId", }; } @end @implementation AWSEC2AssociateTrunkInterfaceResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"interfaceAssociation" : @"InterfaceAssociation", }; } + (NSValueTransformer *)interfaceAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrunkInterfaceAssociation class]]; } @end @implementation AWSEC2AssociateVpcCidrBlockRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"amazonProvidedIpv6CidrBlock" : @"AmazonProvidedIpv6CidrBlock", @"cidrBlock" : @"CidrBlock", @"ipv4IpamPoolId" : @"Ipv4IpamPoolId", @"ipv4NetmaskLength" : @"Ipv4NetmaskLength", @"ipv6CidrBlock" : @"Ipv6CidrBlock", @"ipv6CidrBlockNetworkBorderGroup" : @"Ipv6CidrBlockNetworkBorderGroup", @"ipv6IpamPoolId" : @"Ipv6IpamPoolId", @"ipv6NetmaskLength" : @"Ipv6NetmaskLength", @"ipv6Pool" : @"Ipv6Pool", @"vpcId" : @"VpcId", }; } @end @implementation AWSEC2AssociateVpcCidrBlockResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrBlockAssociation" : @"CidrBlockAssociation", @"ipv6CidrBlockAssociation" : @"Ipv6CidrBlockAssociation", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)cidrBlockAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpcCidrBlockAssociation class]]; } + (NSValueTransformer *)ipv6CidrBlockAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpcIpv6CidrBlockAssociation class]]; } @end @implementation AWSEC2AssociatedRole + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associatedRoleArn" : @"AssociatedRoleArn", @"certificateS3BucketName" : @"CertificateS3BucketName", @"certificateS3ObjectKey" : @"CertificateS3ObjectKey", @"encryptionKmsKeyId" : @"EncryptionKmsKeyId", }; } @end @implementation AWSEC2AssociatedTargetNetwork + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkId" : @"NetworkId", @"networkType" : @"NetworkType", }; } + (NSValueTransformer *)networkTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2AssociatedNetworkTypeVPC); } return @(AWSEC2AssociatedNetworkTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AssociatedNetworkTypeVPC: return @"vpc"; default: return nil; } }]; } @end @implementation AWSEC2AssociationStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"associating"] == NSOrderedSame) { return @(AWSEC2AssociationStatusCodeAssociating); } if ([value caseInsensitiveCompare:@"associated"] == NSOrderedSame) { return @(AWSEC2AssociationStatusCodeAssociated); } if ([value caseInsensitiveCompare:@"association-failed"] == NSOrderedSame) { return @(AWSEC2AssociationStatusCodeAssociationFailed); } if ([value caseInsensitiveCompare:@"disassociating"] == NSOrderedSame) { return @(AWSEC2AssociationStatusCodeDisassociating); } if ([value caseInsensitiveCompare:@"disassociated"] == NSOrderedSame) { return @(AWSEC2AssociationStatusCodeDisassociated); } return @(AWSEC2AssociationStatusCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AssociationStatusCodeAssociating: return @"associating"; case AWSEC2AssociationStatusCodeAssociated: return @"associated"; case AWSEC2AssociationStatusCodeAssociationFailed: return @"association-failed"; case AWSEC2AssociationStatusCodeDisassociating: return @"disassociating"; case AWSEC2AssociationStatusCodeDisassociated: return @"disassociated"; default: return nil; } }]; } @end @implementation AWSEC2AthenaIntegration + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"integrationResultS3DestinationArn" : @"IntegrationResultS3DestinationArn", @"partitionEndDate" : @"PartitionEndDate", @"partitionLoadFrequency" : @"PartitionLoadFrequency", @"partitionStartDate" : @"PartitionStartDate", }; } + (NSValueTransformer *)partitionEndDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)partitionLoadFrequencyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"none"] == NSOrderedSame) { return @(AWSEC2PartitionLoadFrequencyNone); } if ([value caseInsensitiveCompare:@"daily"] == NSOrderedSame) { return @(AWSEC2PartitionLoadFrequencyDaily); } if ([value caseInsensitiveCompare:@"weekly"] == NSOrderedSame) { return @(AWSEC2PartitionLoadFrequencyWeekly); } if ([value caseInsensitiveCompare:@"monthly"] == NSOrderedSame) { return @(AWSEC2PartitionLoadFrequencyMonthly); } return @(AWSEC2PartitionLoadFrequencyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PartitionLoadFrequencyNone: return @"none"; case AWSEC2PartitionLoadFrequencyDaily: return @"daily"; case AWSEC2PartitionLoadFrequencyWeekly: return @"weekly"; case AWSEC2PartitionLoadFrequencyMonthly: return @"monthly"; default: return nil; } }]; } + (NSValueTransformer *)partitionStartDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2AttachClassicLinkVpcRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"groups" : @"Groups", @"instanceId" : @"InstanceId", @"vpcId" : @"VpcId", }; } @end @implementation AWSEC2AttachClassicLinkVpcResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2AttachInternetGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"internetGatewayId" : @"InternetGatewayId", @"vpcId" : @"VpcId", }; } @end @implementation AWSEC2AttachNetworkInterfaceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deviceIndex" : @"DeviceIndex", @"dryRun" : @"DryRun", @"enaSrdSpecification" : @"EnaSrdSpecification", @"instanceId" : @"InstanceId", @"networkCardIndex" : @"NetworkCardIndex", @"networkInterfaceId" : @"NetworkInterfaceId", }; } + (NSValueTransformer *)enaSrdSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EnaSrdSpecification class]]; } @end @implementation AWSEC2AttachNetworkInterfaceResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attachmentId" : @"AttachmentId", @"networkCardIndex" : @"NetworkCardIndex", }; } @end @implementation AWSEC2AttachVerifiedAccessTrustProviderRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"verifiedAccessInstanceId" : @"VerifiedAccessInstanceId", @"verifiedAccessTrustProviderId" : @"VerifiedAccessTrustProviderId", }; } @end @implementation AWSEC2AttachVerifiedAccessTrustProviderResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"verifiedAccessInstance" : @"VerifiedAccessInstance", @"verifiedAccessTrustProvider" : @"VerifiedAccessTrustProvider", }; } + (NSValueTransformer *)verifiedAccessInstanceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessInstance class]]; } + (NSValueTransformer *)verifiedAccessTrustProviderJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessTrustProvider class]]; } @end @implementation AWSEC2AttachVolumeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"device" : @"Device", @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", @"volumeId" : @"VolumeId", }; } @end @implementation AWSEC2AttachVpnGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"vpcId" : @"VpcId", @"vpnGatewayId" : @"VpnGatewayId", }; } @end @implementation AWSEC2AttachVpnGatewayResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpcAttachment" : @"VpcAttachment", }; } + (NSValueTransformer *)vpcAttachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpcAttachment class]]; } @end @implementation AWSEC2AttachmentEnaSrdSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enaSrdEnabled" : @"EnaSrdEnabled", @"enaSrdUdpSpecification" : @"EnaSrdUdpSpecification", }; } + (NSValueTransformer *)enaSrdUdpSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttachmentEnaSrdUdpSpecification class]]; } @end @implementation AWSEC2AttachmentEnaSrdUdpSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enaSrdUdpEnabled" : @"EnaSrdUdpEnabled", }; } @end @implementation AWSEC2AttributeBooleanValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2AttributeValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2AuthorizationRule + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"accessAll" : @"AccessAll", @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"detail" : @"Description", @"destinationCidr" : @"DestinationCidr", @"groupId" : @"GroupId", @"status" : @"Status", }; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientVpnAuthorizationRuleStatus class]]; } @end @implementation AWSEC2AuthorizeClientVpnIngressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"accessGroupId" : @"AccessGroupId", @"authorizeAllGroups" : @"AuthorizeAllGroups", @"clientToken" : @"ClientToken", @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"detail" : @"Description", @"dryRun" : @"DryRun", @"targetNetworkCidr" : @"TargetNetworkCidr", }; } @end @implementation AWSEC2AuthorizeClientVpnIngressResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"status" : @"Status", }; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientVpnAuthorizationRuleStatus class]]; } @end @implementation AWSEC2AuthorizeSecurityGroupEgressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrIp" : @"CidrIp", @"dryRun" : @"DryRun", @"fromPort" : @"FromPort", @"groupId" : @"GroupId", @"ipPermissions" : @"IpPermissions", @"ipProtocol" : @"IpProtocol", @"sourceSecurityGroupName" : @"SourceSecurityGroupName", @"sourceSecurityGroupOwnerId" : @"SourceSecurityGroupOwnerId", @"tagSpecifications" : @"TagSpecifications", @"toPort" : @"ToPort", }; } + (NSValueTransformer *)ipPermissionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpPermission class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2AuthorizeSecurityGroupEgressResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", @"securityGroupRules" : @"SecurityGroupRules", }; } + (NSValueTransformer *)securityGroupRulesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SecurityGroupRule class]]; } @end @implementation AWSEC2AuthorizeSecurityGroupIngressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrIp" : @"CidrIp", @"dryRun" : @"DryRun", @"fromPort" : @"FromPort", @"groupId" : @"GroupId", @"groupName" : @"GroupName", @"ipPermissions" : @"IpPermissions", @"ipProtocol" : @"IpProtocol", @"sourceSecurityGroupName" : @"SourceSecurityGroupName", @"sourceSecurityGroupOwnerId" : @"SourceSecurityGroupOwnerId", @"tagSpecifications" : @"TagSpecifications", @"toPort" : @"ToPort", }; } + (NSValueTransformer *)ipPermissionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpPermission class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2AuthorizeSecurityGroupIngressResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", @"securityGroupRules" : @"SecurityGroupRules", }; } + (NSValueTransformer *)securityGroupRulesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SecurityGroupRule class]]; } @end @implementation AWSEC2AvailabilityZone + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"groupName" : @"GroupName", @"messages" : @"Messages", @"networkBorderGroup" : @"NetworkBorderGroup", @"optInStatus" : @"OptInStatus", @"parentZoneId" : @"ParentZoneId", @"parentZoneName" : @"ParentZoneName", @"regionName" : @"RegionName", @"state" : @"State", @"zoneId" : @"ZoneId", @"zoneName" : @"ZoneName", @"zoneType" : @"ZoneType", }; } + (NSValueTransformer *)messagesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AvailabilityZoneMessage class]]; } + (NSValueTransformer *)optInStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"opt-in-not-required"] == NSOrderedSame) { return @(AWSEC2AvailabilityZoneOptInStatusOptInNotRequired); } if ([value caseInsensitiveCompare:@"opted-in"] == NSOrderedSame) { return @(AWSEC2AvailabilityZoneOptInStatusOptedIn); } if ([value caseInsensitiveCompare:@"not-opted-in"] == NSOrderedSame) { return @(AWSEC2AvailabilityZoneOptInStatusNotOptedIn); } return @(AWSEC2AvailabilityZoneOptInStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AvailabilityZoneOptInStatusOptInNotRequired: return @"opt-in-not-required"; case AWSEC2AvailabilityZoneOptInStatusOptedIn: return @"opted-in"; case AWSEC2AvailabilityZoneOptInStatusNotOptedIn: return @"not-opted-in"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2AvailabilityZoneStateAvailable); } if ([value caseInsensitiveCompare:@"information"] == NSOrderedSame) { return @(AWSEC2AvailabilityZoneStateInformation); } if ([value caseInsensitiveCompare:@"impaired"] == NSOrderedSame) { return @(AWSEC2AvailabilityZoneStateImpaired); } if ([value caseInsensitiveCompare:@"unavailable"] == NSOrderedSame) { return @(AWSEC2AvailabilityZoneStateUnavailable); } return @(AWSEC2AvailabilityZoneStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AvailabilityZoneStateAvailable: return @"available"; case AWSEC2AvailabilityZoneStateInformation: return @"information"; case AWSEC2AvailabilityZoneStateImpaired: return @"impaired"; case AWSEC2AvailabilityZoneStateUnavailable: return @"unavailable"; default: return nil; } }]; } @end @implementation AWSEC2AvailabilityZoneMessage + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"message" : @"Message", }; } @end @implementation AWSEC2AvailableCapacity + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availableInstanceCapacity" : @"AvailableInstanceCapacity", @"availableVCpus" : @"AvailableVCpus", }; } + (NSValueTransformer *)availableInstanceCapacityJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceCapacity class]]; } @end @implementation AWSEC2BaselineEbsBandwidthMbps + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2BaselineEbsBandwidthMbpsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2BlobAttributeValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2BlockDeviceMapping + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deviceName" : @"DeviceName", @"ebs" : @"Ebs", @"noDevice" : @"NoDevice", @"virtualName" : @"VirtualName", }; } + (NSValueTransformer *)ebsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EbsBlockDevice class]]; } @end @implementation AWSEC2BundleInstanceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", @"storage" : @"Storage", }; } + (NSValueTransformer *)storageJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Storage class]]; } @end @implementation AWSEC2BundleInstanceResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bundleTask" : @"BundleTask", }; } + (NSValueTransformer *)bundleTaskJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2BundleTask class]]; } @end @implementation AWSEC2BundleTask + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bundleId" : @"BundleId", @"bundleTaskError" : @"BundleTaskError", @"instanceId" : @"InstanceId", @"progress" : @"Progress", @"startTime" : @"StartTime", @"state" : @"State", @"storage" : @"Storage", @"updateTime" : @"UpdateTime", }; } + (NSValueTransformer *)bundleTaskErrorJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2BundleTaskError class]]; } + (NSValueTransformer *)startTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2BundleTaskStatePending); } if ([value caseInsensitiveCompare:@"waiting-for-shutdown"] == NSOrderedSame) { return @(AWSEC2BundleTaskStateWaitingForShutdown); } if ([value caseInsensitiveCompare:@"bundling"] == NSOrderedSame) { return @(AWSEC2BundleTaskStateBundling); } if ([value caseInsensitiveCompare:@"storing"] == NSOrderedSame) { return @(AWSEC2BundleTaskStateStoring); } if ([value caseInsensitiveCompare:@"cancelling"] == NSOrderedSame) { return @(AWSEC2BundleTaskStateCancelling); } if ([value caseInsensitiveCompare:@"complete"] == NSOrderedSame) { return @(AWSEC2BundleTaskStateComplete); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2BundleTaskStateFailed); } return @(AWSEC2BundleTaskStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2BundleTaskStatePending: return @"pending"; case AWSEC2BundleTaskStateWaitingForShutdown: return @"waiting-for-shutdown"; case AWSEC2BundleTaskStateBundling: return @"bundling"; case AWSEC2BundleTaskStateStoring: return @"storing"; case AWSEC2BundleTaskStateCancelling: return @"cancelling"; case AWSEC2BundleTaskStateComplete: return @"complete"; case AWSEC2BundleTaskStateFailed: return @"failed"; default: return nil; } }]; } + (NSValueTransformer *)storageJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Storage class]]; } + (NSValueTransformer *)updateTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2BundleTaskError + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } @end @implementation AWSEC2ByoipCidr + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"detail" : @"Description", @"state" : @"State", @"statusMessage" : @"StatusMessage", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"advertised"] == NSOrderedSame) { return @(AWSEC2ByoipCidrStateAdvertised); } if ([value caseInsensitiveCompare:@"deprovisioned"] == NSOrderedSame) { return @(AWSEC2ByoipCidrStateDeprovisioned); } if ([value caseInsensitiveCompare:@"failed-deprovision"] == NSOrderedSame) { return @(AWSEC2ByoipCidrStateFailedDeprovision); } if ([value caseInsensitiveCompare:@"failed-provision"] == NSOrderedSame) { return @(AWSEC2ByoipCidrStateFailedProvision); } if ([value caseInsensitiveCompare:@"pending-deprovision"] == NSOrderedSame) { return @(AWSEC2ByoipCidrStatePendingDeprovision); } if ([value caseInsensitiveCompare:@"pending-provision"] == NSOrderedSame) { return @(AWSEC2ByoipCidrStatePendingProvision); } if ([value caseInsensitiveCompare:@"provisioned"] == NSOrderedSame) { return @(AWSEC2ByoipCidrStateProvisioned); } if ([value caseInsensitiveCompare:@"provisioned-not-publicly-advertisable"] == NSOrderedSame) { return @(AWSEC2ByoipCidrStateProvisionedNotPubliclyAdvertisable); } return @(AWSEC2ByoipCidrStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ByoipCidrStateAdvertised: return @"advertised"; case AWSEC2ByoipCidrStateDeprovisioned: return @"deprovisioned"; case AWSEC2ByoipCidrStateFailedDeprovision: return @"failed-deprovision"; case AWSEC2ByoipCidrStateFailedProvision: return @"failed-provision"; case AWSEC2ByoipCidrStatePendingDeprovision: return @"pending-deprovision"; case AWSEC2ByoipCidrStatePendingProvision: return @"pending-provision"; case AWSEC2ByoipCidrStateProvisioned: return @"provisioned"; case AWSEC2ByoipCidrStateProvisionedNotPubliclyAdvertisable: return @"provisioned-not-publicly-advertisable"; default: return nil; } }]; } @end @implementation AWSEC2CancelBundleTaskRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bundleId" : @"BundleId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2CancelBundleTaskResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bundleTask" : @"BundleTask", }; } + (NSValueTransformer *)bundleTaskJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2BundleTask class]]; } @end @implementation AWSEC2CancelCapacityReservationFleetError + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } @end @implementation AWSEC2CancelCapacityReservationFleetsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationFleetIds" : @"CapacityReservationFleetIds", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2CancelCapacityReservationFleetsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"failedFleetCancellations" : @"FailedFleetCancellations", @"successfulFleetCancellations" : @"SuccessfulFleetCancellations", }; } + (NSValueTransformer *)failedFleetCancellationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2FailedCapacityReservationFleetCancellationResult class]]; } + (NSValueTransformer *)successfulFleetCancellationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CapacityReservationFleetCancellationState class]]; } @end @implementation AWSEC2CancelCapacityReservationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationId" : @"CapacityReservationId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2CancelCapacityReservationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2CancelConversionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"conversionTaskId" : @"ConversionTaskId", @"dryRun" : @"DryRun", @"reasonMessage" : @"ReasonMessage", }; } @end @implementation AWSEC2CancelExportTaskRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"exportTaskId" : @"ExportTaskId", }; } @end @implementation AWSEC2CancelImageLaunchPermissionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"imageId" : @"ImageId", }; } @end @implementation AWSEC2CancelImageLaunchPermissionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2CancelImportTaskRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cancelReason" : @"CancelReason", @"dryRun" : @"DryRun", @"importTaskId" : @"ImportTaskId", }; } @end @implementation AWSEC2CancelImportTaskResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"importTaskId" : @"ImportTaskId", @"previousState" : @"PreviousState", @"state" : @"State", }; } @end @implementation AWSEC2CancelReservedInstancesListingRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"reservedInstancesListingId" : @"ReservedInstancesListingId", }; } @end @implementation AWSEC2CancelReservedInstancesListingResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"reservedInstancesListings" : @"ReservedInstancesListings", }; } + (NSValueTransformer *)reservedInstancesListingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ReservedInstancesListing class]]; } @end @implementation AWSEC2CancelSpotFleetRequestsError + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"fleetRequestIdDoesNotExist"] == NSOrderedSame) { return @(AWSEC2CancelBatchErrorCodeFleetRequestIdDoesNotExist); } if ([value caseInsensitiveCompare:@"fleetRequestIdMalformed"] == NSOrderedSame) { return @(AWSEC2CancelBatchErrorCodeFleetRequestIdMalformed); } if ([value caseInsensitiveCompare:@"fleetRequestNotInCancellableState"] == NSOrderedSame) { return @(AWSEC2CancelBatchErrorCodeFleetRequestNotInCancellableState); } if ([value caseInsensitiveCompare:@"unexpectedError"] == NSOrderedSame) { return @(AWSEC2CancelBatchErrorCodeUnexpectedError); } return @(AWSEC2CancelBatchErrorCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CancelBatchErrorCodeFleetRequestIdDoesNotExist: return @"fleetRequestIdDoesNotExist"; case AWSEC2CancelBatchErrorCodeFleetRequestIdMalformed: return @"fleetRequestIdMalformed"; case AWSEC2CancelBatchErrorCodeFleetRequestNotInCancellableState: return @"fleetRequestNotInCancellableState"; case AWSEC2CancelBatchErrorCodeUnexpectedError: return @"unexpectedError"; default: return nil; } }]; } @end @implementation AWSEC2CancelSpotFleetRequestsErrorItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"error" : @"Error", @"spotFleetRequestId" : @"SpotFleetRequestId", }; } + (NSValueTransformer *)errorJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CancelSpotFleetRequestsError class]]; } @end @implementation AWSEC2CancelSpotFleetRequestsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"spotFleetRequestIds" : @"SpotFleetRequestIds", @"terminateInstances" : @"TerminateInstances", }; } @end @implementation AWSEC2CancelSpotFleetRequestsResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"successfulFleetRequests" : @"SuccessfulFleetRequests", @"unsuccessfulFleetRequests" : @"UnsuccessfulFleetRequests", }; } + (NSValueTransformer *)successfulFleetRequestsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CancelSpotFleetRequestsSuccessItem class]]; } + (NSValueTransformer *)unsuccessfulFleetRequestsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CancelSpotFleetRequestsErrorItem class]]; } @end @implementation AWSEC2CancelSpotFleetRequestsSuccessItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"currentSpotFleetRequestState" : @"CurrentSpotFleetRequestState", @"previousSpotFleetRequestState" : @"PreviousSpotFleetRequestState", @"spotFleetRequestId" : @"SpotFleetRequestId", }; } + (NSValueTransformer *)currentSpotFleetRequestStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"submitted"] == NSOrderedSame) { return @(AWSEC2BatchStateSubmitted); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2BatchStateActive); } if ([value caseInsensitiveCompare:@"cancelled"] == NSOrderedSame) { return @(AWSEC2BatchStateCancelled); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2BatchStateFailed); } if ([value caseInsensitiveCompare:@"cancelled_running"] == NSOrderedSame) { return @(AWSEC2BatchStateCancelledRunning); } if ([value caseInsensitiveCompare:@"cancelled_terminating"] == NSOrderedSame) { return @(AWSEC2BatchStateCancelledTerminating); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2BatchStateModifying); } return @(AWSEC2BatchStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2BatchStateSubmitted: return @"submitted"; case AWSEC2BatchStateActive: return @"active"; case AWSEC2BatchStateCancelled: return @"cancelled"; case AWSEC2BatchStateFailed: return @"failed"; case AWSEC2BatchStateCancelledRunning: return @"cancelled_running"; case AWSEC2BatchStateCancelledTerminating: return @"cancelled_terminating"; case AWSEC2BatchStateModifying: return @"modifying"; default: return nil; } }]; } + (NSValueTransformer *)previousSpotFleetRequestStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"submitted"] == NSOrderedSame) { return @(AWSEC2BatchStateSubmitted); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2BatchStateActive); } if ([value caseInsensitiveCompare:@"cancelled"] == NSOrderedSame) { return @(AWSEC2BatchStateCancelled); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2BatchStateFailed); } if ([value caseInsensitiveCompare:@"cancelled_running"] == NSOrderedSame) { return @(AWSEC2BatchStateCancelledRunning); } if ([value caseInsensitiveCompare:@"cancelled_terminating"] == NSOrderedSame) { return @(AWSEC2BatchStateCancelledTerminating); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2BatchStateModifying); } return @(AWSEC2BatchStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2BatchStateSubmitted: return @"submitted"; case AWSEC2BatchStateActive: return @"active"; case AWSEC2BatchStateCancelled: return @"cancelled"; case AWSEC2BatchStateFailed: return @"failed"; case AWSEC2BatchStateCancelledRunning: return @"cancelled_running"; case AWSEC2BatchStateCancelledTerminating: return @"cancelled_terminating"; case AWSEC2BatchStateModifying: return @"modifying"; default: return nil; } }]; } @end @implementation AWSEC2CancelSpotInstanceRequestsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"spotInstanceRequestIds" : @"SpotInstanceRequestIds", }; } @end @implementation AWSEC2CancelSpotInstanceRequestsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cancelledSpotInstanceRequests" : @"CancelledSpotInstanceRequests", }; } + (NSValueTransformer *)cancelledSpotInstanceRequestsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CancelledSpotInstanceRequest class]]; } @end @implementation AWSEC2CancelledSpotInstanceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"spotInstanceRequestId" : @"SpotInstanceRequestId", @"state" : @"State", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2CancelSpotInstanceRequestStateActive); } if ([value caseInsensitiveCompare:@"open"] == NSOrderedSame) { return @(AWSEC2CancelSpotInstanceRequestStateOpen); } if ([value caseInsensitiveCompare:@"closed"] == NSOrderedSame) { return @(AWSEC2CancelSpotInstanceRequestStateClosed); } if ([value caseInsensitiveCompare:@"cancelled"] == NSOrderedSame) { return @(AWSEC2CancelSpotInstanceRequestStateCancelled); } if ([value caseInsensitiveCompare:@"completed"] == NSOrderedSame) { return @(AWSEC2CancelSpotInstanceRequestStateCompleted); } return @(AWSEC2CancelSpotInstanceRequestStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CancelSpotInstanceRequestStateActive: return @"active"; case AWSEC2CancelSpotInstanceRequestStateOpen: return @"open"; case AWSEC2CancelSpotInstanceRequestStateClosed: return @"closed"; case AWSEC2CancelSpotInstanceRequestStateCancelled: return @"cancelled"; case AWSEC2CancelSpotInstanceRequestStateCompleted: return @"completed"; default: return nil; } }]; } @end @implementation AWSEC2CapacityAllocation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationType" : @"AllocationType", @"count" : @"Count", }; } + (NSValueTransformer *)allocationTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"used"] == NSOrderedSame) { return @(AWSEC2AllocationTypeUsed); } return @(AWSEC2AllocationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AllocationTypeUsed: return @"used"; default: return nil; } }]; } @end @implementation AWSEC2CapacityReservation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"availabilityZoneId" : @"AvailabilityZoneId", @"availableInstanceCount" : @"AvailableInstanceCount", @"capacityAllocations" : @"CapacityAllocations", @"capacityReservationArn" : @"CapacityReservationArn", @"capacityReservationFleetId" : @"CapacityReservationFleetId", @"capacityReservationId" : @"CapacityReservationId", @"createDate" : @"CreateDate", @"ebsOptimized" : @"EbsOptimized", @"endDate" : @"EndDate", @"endDateType" : @"EndDateType", @"ephemeralStorage" : @"EphemeralStorage", @"instanceMatchCriteria" : @"InstanceMatchCriteria", @"instancePlatform" : @"InstancePlatform", @"instanceType" : @"InstanceType", @"outpostArn" : @"OutpostArn", @"ownerId" : @"OwnerId", @"placementGroupArn" : @"PlacementGroupArn", @"startDate" : @"StartDate", @"state" : @"State", @"tags" : @"Tags", @"tenancy" : @"Tenancy", @"totalInstanceCount" : @"TotalInstanceCount", }; } + (NSValueTransformer *)capacityAllocationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CapacityAllocation class]]; } + (NSValueTransformer *)createDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)endDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)endDateTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"unlimited"] == NSOrderedSame) { return @(AWSEC2EndDateTypeUnlimited); } if ([value caseInsensitiveCompare:@"limited"] == NSOrderedSame) { return @(AWSEC2EndDateTypeLimited); } return @(AWSEC2EndDateTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2EndDateTypeUnlimited: return @"unlimited"; case AWSEC2EndDateTypeLimited: return @"limited"; default: return nil; } }]; } + (NSValueTransformer *)instanceMatchCriteriaJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"open"] == NSOrderedSame) { return @(AWSEC2InstanceMatchCriteriaOpen); } if ([value caseInsensitiveCompare:@"targeted"] == NSOrderedSame) { return @(AWSEC2InstanceMatchCriteriaTargeted); } return @(AWSEC2InstanceMatchCriteriaUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceMatchCriteriaOpen: return @"open"; case AWSEC2InstanceMatchCriteriaTargeted: return @"targeted"; default: return nil; } }]; } + (NSValueTransformer *)instancePlatformJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Linux/UNIX"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxUNIX); } if ([value caseInsensitiveCompare:@"Red Hat Enterprise Linux"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRedHatEnterpriseLinux); } if ([value caseInsensitiveCompare:@"SUSE Linux"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformSUSELinux); } if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindows); } if ([value caseInsensitiveCompare:@"Windows with SQL Server"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServer); } if ([value caseInsensitiveCompare:@"Windows with SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerEnterprise); } if ([value caseInsensitiveCompare:@"Windows with SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerStandard); } if ([value caseInsensitiveCompare:@"Windows with SQL Server Web"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerWeb); } if ([value caseInsensitiveCompare:@"Linux with SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerStandard); } if ([value caseInsensitiveCompare:@"Linux with SQL Server Web"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerWeb); } if ([value caseInsensitiveCompare:@"Linux with SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerEnterprise); } if ([value caseInsensitiveCompare:@"RHEL with SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerStandard); } if ([value caseInsensitiveCompare:@"RHEL with SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerEnterprise); } if ([value caseInsensitiveCompare:@"RHEL with SQL Server Web"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerWeb); } if ([value caseInsensitiveCompare:@"RHEL with HA"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHA); } if ([value caseInsensitiveCompare:@"RHEL with HA and SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerStandard); } if ([value caseInsensitiveCompare:@"RHEL with HA and SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise); } return @(AWSEC2CapacityReservationInstancePlatformUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationInstancePlatformLinuxUNIX: return @"Linux/UNIX"; case AWSEC2CapacityReservationInstancePlatformRedHatEnterpriseLinux: return @"Red Hat Enterprise Linux"; case AWSEC2CapacityReservationInstancePlatformSUSELinux: return @"SUSE Linux"; case AWSEC2CapacityReservationInstancePlatformWindows: return @"Windows"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServer: return @"Windows with SQL Server"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerEnterprise: return @"Windows with SQL Server Enterprise"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerStandard: return @"Windows with SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerWeb: return @"Windows with SQL Server Web"; case AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerStandard: return @"Linux with SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerWeb: return @"Linux with SQL Server Web"; case AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerEnterprise: return @"Linux with SQL Server Enterprise"; case AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerStandard: return @"RHEL with SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerEnterprise: return @"RHEL with SQL Server Enterprise"; case AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerWeb: return @"RHEL with SQL Server Web"; case AWSEC2CapacityReservationInstancePlatformRHELWithHA: return @"RHEL with HA"; case AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerStandard: return @"RHEL with HA and SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise: return @"RHEL with HA and SQL Server Enterprise"; default: return nil; } }]; } + (NSValueTransformer *)startDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2CapacityReservationStateActive); } if ([value caseInsensitiveCompare:@"expired"] == NSOrderedSame) { return @(AWSEC2CapacityReservationStateExpired); } if ([value caseInsensitiveCompare:@"cancelled"] == NSOrderedSame) { return @(AWSEC2CapacityReservationStateCancelled); } if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2CapacityReservationStatePending); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2CapacityReservationStateFailed); } return @(AWSEC2CapacityReservationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationStateActive: return @"active"; case AWSEC2CapacityReservationStateExpired: return @"expired"; case AWSEC2CapacityReservationStateCancelled: return @"cancelled"; case AWSEC2CapacityReservationStatePending: return @"pending"; case AWSEC2CapacityReservationStateFailed: return @"failed"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)tenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2CapacityReservationTenancyDefault); } if ([value caseInsensitiveCompare:@"dedicated"] == NSOrderedSame) { return @(AWSEC2CapacityReservationTenancyDedicated); } return @(AWSEC2CapacityReservationTenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationTenancyDefault: return @"default"; case AWSEC2CapacityReservationTenancyDedicated: return @"dedicated"; default: return nil; } }]; } @end @implementation AWSEC2CapacityReservationFleet + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationStrategy" : @"AllocationStrategy", @"capacityReservationFleetArn" : @"CapacityReservationFleetArn", @"capacityReservationFleetId" : @"CapacityReservationFleetId", @"createTime" : @"CreateTime", @"endDate" : @"EndDate", @"instanceMatchCriteria" : @"InstanceMatchCriteria", @"instanceTypeSpecifications" : @"InstanceTypeSpecifications", @"state" : @"State", @"tags" : @"Tags", @"tenancy" : @"Tenancy", @"totalFulfilledCapacity" : @"TotalFulfilledCapacity", @"totalTargetCapacity" : @"TotalTargetCapacity", }; } + (NSValueTransformer *)createTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)endDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)instanceMatchCriteriaJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"open"] == NSOrderedSame) { return @(AWSEC2FleetInstanceMatchCriteriaOpen); } return @(AWSEC2FleetInstanceMatchCriteriaUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetInstanceMatchCriteriaOpen: return @"open"; default: return nil; } }]; } + (NSValueTransformer *)instanceTypeSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2FleetCapacityReservation class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"submitted"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateSubmitted); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateModifying); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateActive); } if ([value caseInsensitiveCompare:@"partially_fulfilled"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStatePartiallyFulfilled); } if ([value caseInsensitiveCompare:@"expiring"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateExpiring); } if ([value caseInsensitiveCompare:@"expired"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateExpired); } if ([value caseInsensitiveCompare:@"cancelling"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateCancelling); } if ([value caseInsensitiveCompare:@"cancelled"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateCancelled); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateFailed); } return @(AWSEC2CapacityReservationFleetStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationFleetStateSubmitted: return @"submitted"; case AWSEC2CapacityReservationFleetStateModifying: return @"modifying"; case AWSEC2CapacityReservationFleetStateActive: return @"active"; case AWSEC2CapacityReservationFleetStatePartiallyFulfilled: return @"partially_fulfilled"; case AWSEC2CapacityReservationFleetStateExpiring: return @"expiring"; case AWSEC2CapacityReservationFleetStateExpired: return @"expired"; case AWSEC2CapacityReservationFleetStateCancelling: return @"cancelling"; case AWSEC2CapacityReservationFleetStateCancelled: return @"cancelled"; case AWSEC2CapacityReservationFleetStateFailed: return @"failed"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)tenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2FleetCapacityReservationTenancyDefault); } return @(AWSEC2FleetCapacityReservationTenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetCapacityReservationTenancyDefault: return @"default"; default: return nil; } }]; } @end @implementation AWSEC2CapacityReservationFleetCancellationState + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationFleetId" : @"CapacityReservationFleetId", @"currentFleetState" : @"CurrentFleetState", @"previousFleetState" : @"PreviousFleetState", }; } + (NSValueTransformer *)currentFleetStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"submitted"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateSubmitted); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateModifying); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateActive); } if ([value caseInsensitiveCompare:@"partially_fulfilled"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStatePartiallyFulfilled); } if ([value caseInsensitiveCompare:@"expiring"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateExpiring); } if ([value caseInsensitiveCompare:@"expired"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateExpired); } if ([value caseInsensitiveCompare:@"cancelling"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateCancelling); } if ([value caseInsensitiveCompare:@"cancelled"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateCancelled); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateFailed); } return @(AWSEC2CapacityReservationFleetStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationFleetStateSubmitted: return @"submitted"; case AWSEC2CapacityReservationFleetStateModifying: return @"modifying"; case AWSEC2CapacityReservationFleetStateActive: return @"active"; case AWSEC2CapacityReservationFleetStatePartiallyFulfilled: return @"partially_fulfilled"; case AWSEC2CapacityReservationFleetStateExpiring: return @"expiring"; case AWSEC2CapacityReservationFleetStateExpired: return @"expired"; case AWSEC2CapacityReservationFleetStateCancelling: return @"cancelling"; case AWSEC2CapacityReservationFleetStateCancelled: return @"cancelled"; case AWSEC2CapacityReservationFleetStateFailed: return @"failed"; default: return nil; } }]; } + (NSValueTransformer *)previousFleetStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"submitted"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateSubmitted); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateModifying); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateActive); } if ([value caseInsensitiveCompare:@"partially_fulfilled"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStatePartiallyFulfilled); } if ([value caseInsensitiveCompare:@"expiring"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateExpiring); } if ([value caseInsensitiveCompare:@"expired"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateExpired); } if ([value caseInsensitiveCompare:@"cancelling"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateCancelling); } if ([value caseInsensitiveCompare:@"cancelled"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateCancelled); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateFailed); } return @(AWSEC2CapacityReservationFleetStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationFleetStateSubmitted: return @"submitted"; case AWSEC2CapacityReservationFleetStateModifying: return @"modifying"; case AWSEC2CapacityReservationFleetStateActive: return @"active"; case AWSEC2CapacityReservationFleetStatePartiallyFulfilled: return @"partially_fulfilled"; case AWSEC2CapacityReservationFleetStateExpiring: return @"expiring"; case AWSEC2CapacityReservationFleetStateExpired: return @"expired"; case AWSEC2CapacityReservationFleetStateCancelling: return @"cancelling"; case AWSEC2CapacityReservationFleetStateCancelled: return @"cancelled"; case AWSEC2CapacityReservationFleetStateFailed: return @"failed"; default: return nil; } }]; } @end @implementation AWSEC2CapacityReservationGroup + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"groupArn" : @"GroupArn", @"ownerId" : @"OwnerId", }; } @end @implementation AWSEC2CapacityReservationOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"usageStrategy" : @"UsageStrategy", }; } + (NSValueTransformer *)usageStrategyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"use-capacity-reservations-first"] == NSOrderedSame) { return @(AWSEC2FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst); } return @(AWSEC2FleetCapacityReservationUsageStrategyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst: return @"use-capacity-reservations-first"; default: return nil; } }]; } @end @implementation AWSEC2CapacityReservationOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"usageStrategy" : @"UsageStrategy", }; } + (NSValueTransformer *)usageStrategyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"use-capacity-reservations-first"] == NSOrderedSame) { return @(AWSEC2FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst); } return @(AWSEC2FleetCapacityReservationUsageStrategyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetCapacityReservationUsageStrategyUseCapacityReservationsFirst: return @"use-capacity-reservations-first"; default: return nil; } }]; } @end @implementation AWSEC2CapacityReservationSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationPreference" : @"CapacityReservationPreference", @"capacityReservationTarget" : @"CapacityReservationTarget", }; } + (NSValueTransformer *)capacityReservationPreferenceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"open"] == NSOrderedSame) { return @(AWSEC2CapacityReservationPreferenceOpen); } if ([value caseInsensitiveCompare:@"none"] == NSOrderedSame) { return @(AWSEC2CapacityReservationPreferenceNone); } return @(AWSEC2CapacityReservationPreferenceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationPreferenceOpen: return @"open"; case AWSEC2CapacityReservationPreferenceNone: return @"none"; default: return nil; } }]; } + (NSValueTransformer *)capacityReservationTargetJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CapacityReservationTarget class]]; } @end @implementation AWSEC2CapacityReservationSpecificationResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationPreference" : @"CapacityReservationPreference", @"capacityReservationTarget" : @"CapacityReservationTarget", }; } + (NSValueTransformer *)capacityReservationPreferenceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"open"] == NSOrderedSame) { return @(AWSEC2CapacityReservationPreferenceOpen); } if ([value caseInsensitiveCompare:@"none"] == NSOrderedSame) { return @(AWSEC2CapacityReservationPreferenceNone); } return @(AWSEC2CapacityReservationPreferenceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationPreferenceOpen: return @"open"; case AWSEC2CapacityReservationPreferenceNone: return @"none"; default: return nil; } }]; } + (NSValueTransformer *)capacityReservationTargetJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CapacityReservationTargetResponse class]]; } @end @implementation AWSEC2CapacityReservationTarget + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationId" : @"CapacityReservationId", @"capacityReservationResourceGroupArn" : @"CapacityReservationResourceGroupArn", }; } @end @implementation AWSEC2CapacityReservationTargetResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationId" : @"CapacityReservationId", @"capacityReservationResourceGroupArn" : @"CapacityReservationResourceGroupArn", }; } @end @implementation AWSEC2CarrierGateway + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"carrierGatewayId" : @"CarrierGatewayId", @"ownerId" : @"OwnerId", @"state" : @"State", @"tags" : @"Tags", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2CarrierGatewayStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2CarrierGatewayStateAvailable); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2CarrierGatewayStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2CarrierGatewayStateDeleted); } return @(AWSEC2CarrierGatewayStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CarrierGatewayStatePending: return @"pending"; case AWSEC2CarrierGatewayStateAvailable: return @"available"; case AWSEC2CarrierGatewayStateDeleting: return @"deleting"; case AWSEC2CarrierGatewayStateDeleted: return @"deleted"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2CertificateAuthentication + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientRootCertificateChain" : @"ClientRootCertificateChain", }; } @end @implementation AWSEC2CertificateAuthenticationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientRootCertificateChainArn" : @"ClientRootCertificateChainArn", }; } @end @implementation AWSEC2CidrAuthorizationContext + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"message" : @"Message", @"signature" : @"Signature", }; } @end @implementation AWSEC2CidrBlock + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrBlock" : @"CidrBlock", }; } @end @implementation AWSEC2ClassicLinkDnsSupport + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"classicLinkDnsSupported" : @"ClassicLinkDnsSupported", @"vpcId" : @"VpcId", }; } @end @implementation AWSEC2ClassicLinkInstance + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"groups" : @"Groups", @"instanceId" : @"InstanceId", @"tags" : @"Tags", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)groupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2GroupIdentifier class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ClassicLoadBalancer + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"name" : @"Name", }; } @end @implementation AWSEC2ClassicLoadBalancersConfig + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"classicLoadBalancers" : @"ClassicLoadBalancers", }; } + (NSValueTransformer *)classicLoadBalancersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ClassicLoadBalancer class]]; } @end @implementation AWSEC2ClientCertificateRevocationListStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2ClientCertificateRevocationListStatusCodePending); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2ClientCertificateRevocationListStatusCodeActive); } return @(AWSEC2ClientCertificateRevocationListStatusCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ClientCertificateRevocationListStatusCodePending: return @"pending"; case AWSEC2ClientCertificateRevocationListStatusCodeActive: return @"active"; default: return nil; } }]; } @end @implementation AWSEC2ClientConnectOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enabled" : @"Enabled", @"lambdaFunctionArn" : @"LambdaFunctionArn", }; } @end @implementation AWSEC2ClientConnectResponseOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enabled" : @"Enabled", @"lambdaFunctionArn" : @"LambdaFunctionArn", @"status" : @"Status", }; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientVpnEndpointAttributeStatus class]]; } @end @implementation AWSEC2ClientData + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"comment" : @"Comment", @"uploadEnd" : @"UploadEnd", @"uploadSize" : @"UploadSize", @"uploadStart" : @"UploadStart", }; } + (NSValueTransformer *)uploadEndJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)uploadStartJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2ClientLoginBannerOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bannerText" : @"BannerText", @"enabled" : @"Enabled", }; } @end @implementation AWSEC2ClientLoginBannerResponseOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bannerText" : @"BannerText", @"enabled" : @"Enabled", }; } @end @implementation AWSEC2ClientVpnAuthentication + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"activeDirectory" : @"ActiveDirectory", @"federatedAuthentication" : @"FederatedAuthentication", @"mutualAuthentication" : @"MutualAuthentication", @"types" : @"Type", }; } + (NSValueTransformer *)activeDirectoryJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DirectoryServiceAuthentication class]]; } + (NSValueTransformer *)federatedAuthenticationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FederatedAuthentication class]]; } + (NSValueTransformer *)mutualAuthenticationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CertificateAuthentication class]]; } + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"certificate-authentication"] == NSOrderedSame) { return @(AWSEC2ClientVpnAuthenticationTypeCertificateAuthentication); } if ([value caseInsensitiveCompare:@"directory-service-authentication"] == NSOrderedSame) { return @(AWSEC2ClientVpnAuthenticationTypeDirectoryServiceAuthentication); } if ([value caseInsensitiveCompare:@"federated-authentication"] == NSOrderedSame) { return @(AWSEC2ClientVpnAuthenticationTypeFederatedAuthentication); } return @(AWSEC2ClientVpnAuthenticationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ClientVpnAuthenticationTypeCertificateAuthentication: return @"certificate-authentication"; case AWSEC2ClientVpnAuthenticationTypeDirectoryServiceAuthentication: return @"directory-service-authentication"; case AWSEC2ClientVpnAuthenticationTypeFederatedAuthentication: return @"federated-authentication"; default: return nil; } }]; } @end @implementation AWSEC2ClientVpnAuthenticationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"activeDirectory" : @"ActiveDirectory", @"federatedAuthentication" : @"FederatedAuthentication", @"mutualAuthentication" : @"MutualAuthentication", @"types" : @"Type", }; } + (NSValueTransformer *)activeDirectoryJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DirectoryServiceAuthenticationRequest class]]; } + (NSValueTransformer *)federatedAuthenticationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FederatedAuthenticationRequest class]]; } + (NSValueTransformer *)mutualAuthenticationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CertificateAuthenticationRequest class]]; } + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"certificate-authentication"] == NSOrderedSame) { return @(AWSEC2ClientVpnAuthenticationTypeCertificateAuthentication); } if ([value caseInsensitiveCompare:@"directory-service-authentication"] == NSOrderedSame) { return @(AWSEC2ClientVpnAuthenticationTypeDirectoryServiceAuthentication); } if ([value caseInsensitiveCompare:@"federated-authentication"] == NSOrderedSame) { return @(AWSEC2ClientVpnAuthenticationTypeFederatedAuthentication); } return @(AWSEC2ClientVpnAuthenticationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ClientVpnAuthenticationTypeCertificateAuthentication: return @"certificate-authentication"; case AWSEC2ClientVpnAuthenticationTypeDirectoryServiceAuthentication: return @"directory-service-authentication"; case AWSEC2ClientVpnAuthenticationTypeFederatedAuthentication: return @"federated-authentication"; default: return nil; } }]; } @end @implementation AWSEC2ClientVpnAuthorizationRuleStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"authorizing"] == NSOrderedSame) { return @(AWSEC2ClientVpnAuthorizationRuleStatusCodeAuthorizing); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2ClientVpnAuthorizationRuleStatusCodeActive); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2ClientVpnAuthorizationRuleStatusCodeFailed); } if ([value caseInsensitiveCompare:@"revoking"] == NSOrderedSame) { return @(AWSEC2ClientVpnAuthorizationRuleStatusCodeRevoking); } return @(AWSEC2ClientVpnAuthorizationRuleStatusCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ClientVpnAuthorizationRuleStatusCodeAuthorizing: return @"authorizing"; case AWSEC2ClientVpnAuthorizationRuleStatusCodeActive: return @"active"; case AWSEC2ClientVpnAuthorizationRuleStatusCodeFailed: return @"failed"; case AWSEC2ClientVpnAuthorizationRuleStatusCodeRevoking: return @"revoking"; default: return nil; } }]; } @end @implementation AWSEC2ClientVpnConnection + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientIp" : @"ClientIp", @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"commonName" : @"CommonName", @"connectionEndTime" : @"ConnectionEndTime", @"connectionEstablishedTime" : @"ConnectionEstablishedTime", @"connectionId" : @"ConnectionId", @"egressBytes" : @"EgressBytes", @"egressPackets" : @"EgressPackets", @"ingressBytes" : @"IngressBytes", @"ingressPackets" : @"IngressPackets", @"postureComplianceStatuses" : @"PostureComplianceStatuses", @"status" : @"Status", @"timestamp" : @"Timestamp", @"username" : @"Username", }; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientVpnConnectionStatus class]]; } @end @implementation AWSEC2ClientVpnConnectionStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2ClientVpnConnectionStatusCodeActive); } if ([value caseInsensitiveCompare:@"failed-to-terminate"] == NSOrderedSame) { return @(AWSEC2ClientVpnConnectionStatusCodeFailedToTerminate); } if ([value caseInsensitiveCompare:@"terminating"] == NSOrderedSame) { return @(AWSEC2ClientVpnConnectionStatusCodeTerminating); } if ([value caseInsensitiveCompare:@"terminated"] == NSOrderedSame) { return @(AWSEC2ClientVpnConnectionStatusCodeTerminated); } return @(AWSEC2ClientVpnConnectionStatusCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ClientVpnConnectionStatusCodeActive: return @"active"; case AWSEC2ClientVpnConnectionStatusCodeFailedToTerminate: return @"failed-to-terminate"; case AWSEC2ClientVpnConnectionStatusCodeTerminating: return @"terminating"; case AWSEC2ClientVpnConnectionStatusCodeTerminated: return @"terminated"; default: return nil; } }]; } @end @implementation AWSEC2ClientVpnEndpoint + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associatedTargetNetworks" : @"AssociatedTargetNetworks", @"authenticationOptions" : @"AuthenticationOptions", @"clientCidrBlock" : @"ClientCidrBlock", @"clientConnectOptions" : @"ClientConnectOptions", @"clientLoginBannerOptions" : @"ClientLoginBannerOptions", @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"connectionLogOptions" : @"ConnectionLogOptions", @"creationTime" : @"CreationTime", @"deletionTime" : @"DeletionTime", @"detail" : @"Description", @"dnsName" : @"DnsName", @"dnsServers" : @"DnsServers", @"securityGroupIds" : @"SecurityGroupIds", @"selfServicePortalUrl" : @"SelfServicePortalUrl", @"serverCertificateArn" : @"ServerCertificateArn", @"sessionTimeoutHours" : @"SessionTimeoutHours", @"splitTunnel" : @"SplitTunnel", @"status" : @"Status", @"tags" : @"Tags", @"transportProtocol" : @"TransportProtocol", @"vpcId" : @"VpcId", @"vpnPort" : @"VpnPort", @"vpnProtocol" : @"VpnProtocol", }; } + (NSValueTransformer *)associatedTargetNetworksJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AssociatedTargetNetwork class]]; } + (NSValueTransformer *)authenticationOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ClientVpnAuthentication class]]; } + (NSValueTransformer *)clientConnectOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientConnectResponseOptions class]]; } + (NSValueTransformer *)clientLoginBannerOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientLoginBannerResponseOptions class]]; } + (NSValueTransformer *)connectionLogOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ConnectionLogResponseOptions class]]; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientVpnEndpointStatus class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)transportProtocolJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"tcp"] == NSOrderedSame) { return @(AWSEC2TransportProtocolTcp); } if ([value caseInsensitiveCompare:@"udp"] == NSOrderedSame) { return @(AWSEC2TransportProtocolUdp); } return @(AWSEC2TransportProtocolUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransportProtocolTcp: return @"tcp"; case AWSEC2TransportProtocolUdp: return @"udp"; default: return nil; } }]; } + (NSValueTransformer *)vpnProtocolJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"openvpn"] == NSOrderedSame) { return @(AWSEC2VpnProtocolOpenvpn); } return @(AWSEC2VpnProtocolUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VpnProtocolOpenvpn: return @"openvpn"; default: return nil; } }]; } @end @implementation AWSEC2ClientVpnEndpointAttributeStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"applying"] == NSOrderedSame) { return @(AWSEC2ClientVpnEndpointAttributeStatusCodeApplying); } if ([value caseInsensitiveCompare:@"applied"] == NSOrderedSame) { return @(AWSEC2ClientVpnEndpointAttributeStatusCodeApplied); } return @(AWSEC2ClientVpnEndpointAttributeStatusCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ClientVpnEndpointAttributeStatusCodeApplying: return @"applying"; case AWSEC2ClientVpnEndpointAttributeStatusCodeApplied: return @"applied"; default: return nil; } }]; } @end @implementation AWSEC2ClientVpnEndpointStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending-associate"] == NSOrderedSame) { return @(AWSEC2ClientVpnEndpointStatusCodePendingAssociate); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2ClientVpnEndpointStatusCodeAvailable); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2ClientVpnEndpointStatusCodeDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2ClientVpnEndpointStatusCodeDeleted); } return @(AWSEC2ClientVpnEndpointStatusCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ClientVpnEndpointStatusCodePendingAssociate: return @"pending-associate"; case AWSEC2ClientVpnEndpointStatusCodeAvailable: return @"available"; case AWSEC2ClientVpnEndpointStatusCodeDeleting: return @"deleting"; case AWSEC2ClientVpnEndpointStatusCodeDeleted: return @"deleted"; default: return nil; } }]; } @end @implementation AWSEC2ClientVpnRoute + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"detail" : @"Description", @"destinationCidr" : @"DestinationCidr", @"origin" : @"Origin", @"status" : @"Status", @"targetSubnet" : @"TargetSubnet", @"types" : @"Type", }; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientVpnRouteStatus class]]; } @end @implementation AWSEC2ClientVpnRouteStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"creating"] == NSOrderedSame) { return @(AWSEC2ClientVpnRouteStatusCodeCreating); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2ClientVpnRouteStatusCodeActive); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2ClientVpnRouteStatusCodeFailed); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2ClientVpnRouteStatusCodeDeleting); } return @(AWSEC2ClientVpnRouteStatusCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ClientVpnRouteStatusCodeCreating: return @"creating"; case AWSEC2ClientVpnRouteStatusCodeActive: return @"active"; case AWSEC2ClientVpnRouteStatusCodeFailed: return @"failed"; case AWSEC2ClientVpnRouteStatusCodeDeleting: return @"deleting"; default: return nil; } }]; } @end @implementation AWSEC2CloudWatchLogOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"logEnabled" : @"LogEnabled", @"logGroupArn" : @"LogGroupArn", @"logOutputFormat" : @"LogOutputFormat", }; } @end @implementation AWSEC2CloudWatchLogOptionsSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"logEnabled" : @"LogEnabled", @"logGroupArn" : @"LogGroupArn", @"logOutputFormat" : @"LogOutputFormat", }; } @end @implementation AWSEC2CoipAddressUsage + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationId" : @"AllocationId", @"awsAccountId" : @"AwsAccountId", @"awsService" : @"AwsService", @"coIp" : @"CoIp", }; } @end @implementation AWSEC2CoipCidr + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"coipPoolId" : @"CoipPoolId", @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", }; } @end @implementation AWSEC2CoipPool + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", @"poolArn" : @"PoolArn", @"poolCidrs" : @"PoolCidrs", @"poolId" : @"PoolId", @"tags" : @"Tags", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ConfirmProductInstanceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", @"productCode" : @"ProductCode", }; } @end @implementation AWSEC2ConfirmProductInstanceResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ownerId" : @"OwnerId", @"returned" : @"Return", }; } @end @implementation AWSEC2ConnectionLogOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cloudwatchLogGroup" : @"CloudwatchLogGroup", @"cloudwatchLogStream" : @"CloudwatchLogStream", @"enabled" : @"Enabled", }; } @end @implementation AWSEC2ConnectionLogResponseOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cloudwatchLogGroup" : @"CloudwatchLogGroup", @"cloudwatchLogStream" : @"CloudwatchLogStream", @"enabled" : @"Enabled", }; } @end @implementation AWSEC2ConnectionNotification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"connectionEvents" : @"ConnectionEvents", @"connectionNotificationArn" : @"ConnectionNotificationArn", @"connectionNotificationId" : @"ConnectionNotificationId", @"connectionNotificationState" : @"ConnectionNotificationState", @"connectionNotificationType" : @"ConnectionNotificationType", @"serviceId" : @"ServiceId", @"vpcEndpointId" : @"VpcEndpointId", }; } + (NSValueTransformer *)connectionNotificationStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Enabled"] == NSOrderedSame) { return @(AWSEC2ConnectionNotificationStateEnabled); } if ([value caseInsensitiveCompare:@"Disabled"] == NSOrderedSame) { return @(AWSEC2ConnectionNotificationStateDisabled); } return @(AWSEC2ConnectionNotificationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ConnectionNotificationStateEnabled: return @"Enabled"; case AWSEC2ConnectionNotificationStateDisabled: return @"Disabled"; default: return nil; } }]; } + (NSValueTransformer *)connectionNotificationTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Topic"] == NSOrderedSame) { return @(AWSEC2ConnectionNotificationTypeTopic); } return @(AWSEC2ConnectionNotificationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ConnectionNotificationTypeTopic: return @"Topic"; default: return nil; } }]; } @end @implementation AWSEC2ConversionTask + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"conversionTaskId" : @"ConversionTaskId", @"expirationTime" : @"ExpirationTime", @"importInstance" : @"ImportInstance", @"importVolume" : @"ImportVolume", @"state" : @"State", @"statusMessage" : @"StatusMessage", @"tags" : @"Tags", }; } + (NSValueTransformer *)importInstanceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ImportInstanceTaskDetails class]]; } + (NSValueTransformer *)importVolumeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ImportVolumeTaskDetails class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2ConversionTaskStateActive); } if ([value caseInsensitiveCompare:@"cancelling"] == NSOrderedSame) { return @(AWSEC2ConversionTaskStateCancelling); } if ([value caseInsensitiveCompare:@"cancelled"] == NSOrderedSame) { return @(AWSEC2ConversionTaskStateCancelled); } if ([value caseInsensitiveCompare:@"completed"] == NSOrderedSame) { return @(AWSEC2ConversionTaskStateCompleted); } return @(AWSEC2ConversionTaskStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ConversionTaskStateActive: return @"active"; case AWSEC2ConversionTaskStateCancelling: return @"cancelling"; case AWSEC2ConversionTaskStateCancelled: return @"cancelled"; case AWSEC2ConversionTaskStateCompleted: return @"completed"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ReplicateFpgaImageRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"name" : @"Name", @"sourceFpgaImageId" : @"SourceFpgaImageId", @"sourceRegion" : @"SourceRegion", }; } @end @implementation AWSEC2ReplicateFpgaImageResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fpgaImageId" : @"FpgaImageId", }; } @end @implementation AWSEC2ReplicateImageRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"replicateImageTags" : @"CopyImageTags", @"detail" : @"Description", @"destinationOutpostArn" : @"DestinationOutpostArn", @"dryRun" : @"DryRun", @"encrypted" : @"Encrypted", @"kmsKeyId" : @"KmsKeyId", @"name" : @"Name", @"sourceImageId" : @"SourceImageId", @"sourceRegion" : @"SourceRegion", }; } @end @implementation AWSEC2ReplicateImageResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"imageId" : @"ImageId", }; } @end @implementation AWSEC2ReplicateSnapshotRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"destinationOutpostArn" : @"DestinationOutpostArn", @"destinationRegion" : @"DestinationRegion", @"dryRun" : @"DryRun", @"encrypted" : @"Encrypted", @"kmsKeyId" : @"KmsKeyId", @"presignedUrl" : @"PresignedUrl", @"sourceRegion" : @"SourceRegion", @"sourceSnapshotId" : @"SourceSnapshotId", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2ReplicateSnapshotResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"snapshotId" : @"SnapshotId", @"tags" : @"Tags", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2CpuOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"amdSevSnp" : @"AmdSevSnp", @"coreCount" : @"CoreCount", @"threadsPerCore" : @"ThreadsPerCore", }; } + (NSValueTransformer *)amdSevSnpJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2AmdSevSnpSpecificationEnabled); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2AmdSevSnpSpecificationDisabled); } return @(AWSEC2AmdSevSnpSpecificationUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AmdSevSnpSpecificationEnabled: return @"enabled"; case AWSEC2AmdSevSnpSpecificationDisabled: return @"disabled"; default: return nil; } }]; } @end @implementation AWSEC2CpuOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"amdSevSnp" : @"AmdSevSnp", @"coreCount" : @"CoreCount", @"threadsPerCore" : @"ThreadsPerCore", }; } + (NSValueTransformer *)amdSevSnpJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2AmdSevSnpSpecificationEnabled); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2AmdSevSnpSpecificationDisabled); } return @(AWSEC2AmdSevSnpSpecificationUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AmdSevSnpSpecificationEnabled: return @"enabled"; case AWSEC2AmdSevSnpSpecificationDisabled: return @"disabled"; default: return nil; } }]; } @end @implementation AWSEC2CreateCapacityReservationFleetRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationStrategy" : @"AllocationStrategy", @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"endDate" : @"EndDate", @"instanceMatchCriteria" : @"InstanceMatchCriteria", @"instanceTypeSpecifications" : @"InstanceTypeSpecifications", @"tagSpecifications" : @"TagSpecifications", @"tenancy" : @"Tenancy", @"totalTargetCapacity" : @"TotalTargetCapacity", }; } + (NSValueTransformer *)endDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)instanceMatchCriteriaJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"open"] == NSOrderedSame) { return @(AWSEC2FleetInstanceMatchCriteriaOpen); } return @(AWSEC2FleetInstanceMatchCriteriaUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetInstanceMatchCriteriaOpen: return @"open"; default: return nil; } }]; } + (NSValueTransformer *)instanceTypeSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ReservationFleetInstanceSpecification class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } + (NSValueTransformer *)tenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2FleetCapacityReservationTenancyDefault); } return @(AWSEC2FleetCapacityReservationTenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetCapacityReservationTenancyDefault: return @"default"; default: return nil; } }]; } @end @implementation AWSEC2CreateCapacityReservationFleetResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationStrategy" : @"AllocationStrategy", @"capacityReservationFleetId" : @"CapacityReservationFleetId", @"createTime" : @"CreateTime", @"endDate" : @"EndDate", @"fleetCapacityReservations" : @"FleetCapacityReservations", @"instanceMatchCriteria" : @"InstanceMatchCriteria", @"state" : @"State", @"tags" : @"Tags", @"tenancy" : @"Tenancy", @"totalFulfilledCapacity" : @"TotalFulfilledCapacity", @"totalTargetCapacity" : @"TotalTargetCapacity", }; } + (NSValueTransformer *)createTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)endDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)fleetCapacityReservationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2FleetCapacityReservation class]]; } + (NSValueTransformer *)instanceMatchCriteriaJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"open"] == NSOrderedSame) { return @(AWSEC2FleetInstanceMatchCriteriaOpen); } return @(AWSEC2FleetInstanceMatchCriteriaUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetInstanceMatchCriteriaOpen: return @"open"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"submitted"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateSubmitted); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateModifying); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateActive); } if ([value caseInsensitiveCompare:@"partially_fulfilled"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStatePartiallyFulfilled); } if ([value caseInsensitiveCompare:@"expiring"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateExpiring); } if ([value caseInsensitiveCompare:@"expired"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateExpired); } if ([value caseInsensitiveCompare:@"cancelling"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateCancelling); } if ([value caseInsensitiveCompare:@"cancelled"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateCancelled); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2CapacityReservationFleetStateFailed); } return @(AWSEC2CapacityReservationFleetStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationFleetStateSubmitted: return @"submitted"; case AWSEC2CapacityReservationFleetStateModifying: return @"modifying"; case AWSEC2CapacityReservationFleetStateActive: return @"active"; case AWSEC2CapacityReservationFleetStatePartiallyFulfilled: return @"partially_fulfilled"; case AWSEC2CapacityReservationFleetStateExpiring: return @"expiring"; case AWSEC2CapacityReservationFleetStateExpired: return @"expired"; case AWSEC2CapacityReservationFleetStateCancelling: return @"cancelling"; case AWSEC2CapacityReservationFleetStateCancelled: return @"cancelled"; case AWSEC2CapacityReservationFleetStateFailed: return @"failed"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)tenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2FleetCapacityReservationTenancyDefault); } return @(AWSEC2FleetCapacityReservationTenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetCapacityReservationTenancyDefault: return @"default"; default: return nil; } }]; } @end @implementation AWSEC2CreateCapacityReservationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"availabilityZoneId" : @"AvailabilityZoneId", @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"ebsOptimized" : @"EbsOptimized", @"endDate" : @"EndDate", @"endDateType" : @"EndDateType", @"ephemeralStorage" : @"EphemeralStorage", @"instanceCount" : @"InstanceCount", @"instanceMatchCriteria" : @"InstanceMatchCriteria", @"instancePlatform" : @"InstancePlatform", @"instanceType" : @"InstanceType", @"outpostArn" : @"OutpostArn", @"placementGroupArn" : @"PlacementGroupArn", @"tagSpecifications" : @"TagSpecifications", @"tenancy" : @"Tenancy", }; } + (NSValueTransformer *)endDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)endDateTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"unlimited"] == NSOrderedSame) { return @(AWSEC2EndDateTypeUnlimited); } if ([value caseInsensitiveCompare:@"limited"] == NSOrderedSame) { return @(AWSEC2EndDateTypeLimited); } return @(AWSEC2EndDateTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2EndDateTypeUnlimited: return @"unlimited"; case AWSEC2EndDateTypeLimited: return @"limited"; default: return nil; } }]; } + (NSValueTransformer *)instanceMatchCriteriaJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"open"] == NSOrderedSame) { return @(AWSEC2InstanceMatchCriteriaOpen); } if ([value caseInsensitiveCompare:@"targeted"] == NSOrderedSame) { return @(AWSEC2InstanceMatchCriteriaTargeted); } return @(AWSEC2InstanceMatchCriteriaUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceMatchCriteriaOpen: return @"open"; case AWSEC2InstanceMatchCriteriaTargeted: return @"targeted"; default: return nil; } }]; } + (NSValueTransformer *)instancePlatformJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Linux/UNIX"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxUNIX); } if ([value caseInsensitiveCompare:@"Red Hat Enterprise Linux"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRedHatEnterpriseLinux); } if ([value caseInsensitiveCompare:@"SUSE Linux"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformSUSELinux); } if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindows); } if ([value caseInsensitiveCompare:@"Windows with SQL Server"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServer); } if ([value caseInsensitiveCompare:@"Windows with SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerEnterprise); } if ([value caseInsensitiveCompare:@"Windows with SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerStandard); } if ([value caseInsensitiveCompare:@"Windows with SQL Server Web"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerWeb); } if ([value caseInsensitiveCompare:@"Linux with SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerStandard); } if ([value caseInsensitiveCompare:@"Linux with SQL Server Web"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerWeb); } if ([value caseInsensitiveCompare:@"Linux with SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerEnterprise); } if ([value caseInsensitiveCompare:@"RHEL with SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerStandard); } if ([value caseInsensitiveCompare:@"RHEL with SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerEnterprise); } if ([value caseInsensitiveCompare:@"RHEL with SQL Server Web"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerWeb); } if ([value caseInsensitiveCompare:@"RHEL with HA"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHA); } if ([value caseInsensitiveCompare:@"RHEL with HA and SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerStandard); } if ([value caseInsensitiveCompare:@"RHEL with HA and SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise); } return @(AWSEC2CapacityReservationInstancePlatformUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationInstancePlatformLinuxUNIX: return @"Linux/UNIX"; case AWSEC2CapacityReservationInstancePlatformRedHatEnterpriseLinux: return @"Red Hat Enterprise Linux"; case AWSEC2CapacityReservationInstancePlatformSUSELinux: return @"SUSE Linux"; case AWSEC2CapacityReservationInstancePlatformWindows: return @"Windows"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServer: return @"Windows with SQL Server"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerEnterprise: return @"Windows with SQL Server Enterprise"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerStandard: return @"Windows with SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerWeb: return @"Windows with SQL Server Web"; case AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerStandard: return @"Linux with SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerWeb: return @"Linux with SQL Server Web"; case AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerEnterprise: return @"Linux with SQL Server Enterprise"; case AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerStandard: return @"RHEL with SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerEnterprise: return @"RHEL with SQL Server Enterprise"; case AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerWeb: return @"RHEL with SQL Server Web"; case AWSEC2CapacityReservationInstancePlatformRHELWithHA: return @"RHEL with HA"; case AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerStandard: return @"RHEL with HA and SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise: return @"RHEL with HA and SQL Server Enterprise"; default: return nil; } }]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } + (NSValueTransformer *)tenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2CapacityReservationTenancyDefault); } if ([value caseInsensitiveCompare:@"dedicated"] == NSOrderedSame) { return @(AWSEC2CapacityReservationTenancyDedicated); } return @(AWSEC2CapacityReservationTenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationTenancyDefault: return @"default"; case AWSEC2CapacityReservationTenancyDedicated: return @"dedicated"; default: return nil; } }]; } @end @implementation AWSEC2CreateCapacityReservationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservation" : @"CapacityReservation", }; } + (NSValueTransformer *)capacityReservationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CapacityReservation class]]; } @end @implementation AWSEC2CreateCarrierGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"tagSpecifications" : @"TagSpecifications", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateCarrierGatewayResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"carrierGateway" : @"CarrierGateway", }; } + (NSValueTransformer *)carrierGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CarrierGateway class]]; } @end @implementation AWSEC2CreateClientVpnEndpointRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"authenticationOptions" : @"AuthenticationOptions", @"clientCidrBlock" : @"ClientCidrBlock", @"clientConnectOptions" : @"ClientConnectOptions", @"clientLoginBannerOptions" : @"ClientLoginBannerOptions", @"clientToken" : @"ClientToken", @"connectionLogOptions" : @"ConnectionLogOptions", @"detail" : @"Description", @"dnsServers" : @"DnsServers", @"dryRun" : @"DryRun", @"securityGroupIds" : @"SecurityGroupIds", @"selfServicePortal" : @"SelfServicePortal", @"serverCertificateArn" : @"ServerCertificateArn", @"sessionTimeoutHours" : @"SessionTimeoutHours", @"splitTunnel" : @"SplitTunnel", @"tagSpecifications" : @"TagSpecifications", @"transportProtocol" : @"TransportProtocol", @"vpcId" : @"VpcId", @"vpnPort" : @"VpnPort", }; } + (NSValueTransformer *)authenticationOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ClientVpnAuthenticationRequest class]]; } + (NSValueTransformer *)clientConnectOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientConnectOptions class]]; } + (NSValueTransformer *)clientLoginBannerOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientLoginBannerOptions class]]; } + (NSValueTransformer *)connectionLogOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ConnectionLogOptions class]]; } + (NSValueTransformer *)selfServicePortalJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2SelfServicePortalEnabled); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2SelfServicePortalDisabled); } return @(AWSEC2SelfServicePortalUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SelfServicePortalEnabled: return @"enabled"; case AWSEC2SelfServicePortalDisabled: return @"disabled"; default: return nil; } }]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } + (NSValueTransformer *)transportProtocolJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"tcp"] == NSOrderedSame) { return @(AWSEC2TransportProtocolTcp); } if ([value caseInsensitiveCompare:@"udp"] == NSOrderedSame) { return @(AWSEC2TransportProtocolUdp); } return @(AWSEC2TransportProtocolUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransportProtocolTcp: return @"tcp"; case AWSEC2TransportProtocolUdp: return @"udp"; default: return nil; } }]; } @end @implementation AWSEC2CreateClientVpnEndpointResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"dnsName" : @"DnsName", @"status" : @"Status", }; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientVpnEndpointStatus class]]; } @end @implementation AWSEC2CreateClientVpnRouteRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"detail" : @"Description", @"destinationCidrBlock" : @"DestinationCidrBlock", @"dryRun" : @"DryRun", @"targetVpcSubnetId" : @"TargetVpcSubnetId", }; } @end @implementation AWSEC2CreateClientVpnRouteResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"status" : @"Status", }; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientVpnRouteStatus class]]; } @end @implementation AWSEC2CreateCoipCidrRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"coipPoolId" : @"CoipPoolId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2CreateCoipCidrResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"coipCidr" : @"CoipCidr", }; } + (NSValueTransformer *)coipCidrJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CoipCidr class]]; } @end @implementation AWSEC2CreateCoipPoolRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateCoipPoolResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"coipPool" : @"CoipPool", }; } + (NSValueTransformer *)coipPoolJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CoipPool class]]; } @end @implementation AWSEC2CreateCustomerGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bgpAsn" : @"BgpAsn", @"certificateArn" : @"CertificateArn", @"deviceName" : @"DeviceName", @"dryRun" : @"DryRun", @"ipAddress" : @"IpAddress", @"publicIp" : @"PublicIp", @"tagSpecifications" : @"TagSpecifications", @"types" : @"Type", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ipsec.1"] == NSOrderedSame) { return @(AWSEC2GatewayTypeIpsec1); } return @(AWSEC2GatewayTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2GatewayTypeIpsec1: return @"ipsec.1"; default: return nil; } }]; } @end @implementation AWSEC2CreateCustomerGatewayResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"customerGateway" : @"CustomerGateway", }; } + (NSValueTransformer *)customerGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CustomerGateway class]]; } @end @implementation AWSEC2CreateDefaultSubnetRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"dryRun" : @"DryRun", @"ipv6Native" : @"Ipv6Native", }; } @end @implementation AWSEC2CreateDefaultSubnetResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"subnet" : @"Subnet", }; } + (NSValueTransformer *)subnetJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Subnet class]]; } @end @implementation AWSEC2CreateDefaultVpcRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2CreateDefaultVpcResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpc" : @"Vpc", }; } + (NSValueTransformer *)vpcJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Vpc class]]; } @end @implementation AWSEC2CreateDhcpOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dhcpConfigurations" : @"DhcpConfigurations", @"dryRun" : @"DryRun", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)dhcpConfigurationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LatestDhcpConfiguration class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateDhcpOptionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dhcpOptions" : @"DhcpOptions", }; } + (NSValueTransformer *)dhcpOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DhcpOptions class]]; } @end @implementation AWSEC2CreateEgressOnlyInternetGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"tagSpecifications" : @"TagSpecifications", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateEgressOnlyInternetGatewayResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"egressOnlyInternetGateway" : @"EgressOnlyInternetGateway", }; } + (NSValueTransformer *)egressOnlyInternetGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EgressOnlyInternetGateway class]]; } @end @implementation AWSEC2CreateFleetError + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"errorCode" : @"ErrorCode", @"errorMessage" : @"ErrorMessage", @"launchTemplateAndOverrides" : @"LaunchTemplateAndOverrides", @"lifecycle" : @"Lifecycle", }; } + (NSValueTransformer *)launchTemplateAndOverridesJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateAndOverridesResponse class]]; } + (NSValueTransformer *)lifecycleJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"spot"] == NSOrderedSame) { return @(AWSEC2InstanceLifecycleSpot); } if ([value caseInsensitiveCompare:@"on-demand"] == NSOrderedSame) { return @(AWSEC2InstanceLifecycleOnDemand); } return @(AWSEC2InstanceLifecycleUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceLifecycleSpot: return @"spot"; case AWSEC2InstanceLifecycleOnDemand: return @"on-demand"; default: return nil; } }]; } @end @implementation AWSEC2CreateFleetInstance + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceIds" : @"InstanceIds", @"instanceType" : @"InstanceType", @"launchTemplateAndOverrides" : @"LaunchTemplateAndOverrides", @"lifecycle" : @"Lifecycle", @"platform" : @"Platform", }; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)launchTemplateAndOverridesJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateAndOverridesResponse class]]; } + (NSValueTransformer *)lifecycleJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"spot"] == NSOrderedSame) { return @(AWSEC2InstanceLifecycleSpot); } if ([value caseInsensitiveCompare:@"on-demand"] == NSOrderedSame) { return @(AWSEC2InstanceLifecycleOnDemand); } return @(AWSEC2InstanceLifecycleUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceLifecycleSpot: return @"spot"; case AWSEC2InstanceLifecycleOnDemand: return @"on-demand"; default: return nil; } }]; } + (NSValueTransformer *)platformJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { return @(AWSEC2PlatformValuesWindows); } return @(AWSEC2PlatformValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PlatformValuesWindows: return @"Windows"; default: return nil; } }]; } @end @implementation AWSEC2CreateFleetRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"context" : @"Context", @"dryRun" : @"DryRun", @"excessCapacityTerminationPolicy" : @"ExcessCapacityTerminationPolicy", @"launchTemplateConfigs" : @"LaunchTemplateConfigs", @"onDemandOptions" : @"OnDemandOptions", @"replaceUnhealthyInstances" : @"ReplaceUnhealthyInstances", @"spotOptions" : @"SpotOptions", @"tagSpecifications" : @"TagSpecifications", @"targetCapacitySpecification" : @"TargetCapacitySpecification", @"terminateInstancesWithExpiration" : @"TerminateInstancesWithExpiration", @"types" : @"Type", @"validFrom" : @"ValidFrom", @"validUntil" : @"ValidUntil", }; } + (NSValueTransformer *)excessCapacityTerminationPolicyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"no-termination"] == NSOrderedSame) { return @(AWSEC2FleetExcessCapacityTerminationPolicyNoTermination); } if ([value caseInsensitiveCompare:@"termination"] == NSOrderedSame) { return @(AWSEC2FleetExcessCapacityTerminationPolicyTermination); } return @(AWSEC2FleetExcessCapacityTerminationPolicyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetExcessCapacityTerminationPolicyNoTermination: return @"no-termination"; case AWSEC2FleetExcessCapacityTerminationPolicyTermination: return @"termination"; default: return nil; } }]; } + (NSValueTransformer *)launchTemplateConfigsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2FleetLaunchTemplateConfigRequest class]]; } + (NSValueTransformer *)onDemandOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2OnDemandOptionsRequest class]]; } + (NSValueTransformer *)spotOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotOptionsRequest class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } + (NSValueTransformer *)targetCapacitySpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TargetCapacitySpecificationRequest class]]; } + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"request"] == NSOrderedSame) { return @(AWSEC2FleetTypeRequest); } if ([value caseInsensitiveCompare:@"maintain"] == NSOrderedSame) { return @(AWSEC2FleetTypeMaintain); } if ([value caseInsensitiveCompare:@"instant"] == NSOrderedSame) { return @(AWSEC2FleetTypeInstant); } return @(AWSEC2FleetTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetTypeRequest: return @"request"; case AWSEC2FleetTypeMaintain: return @"maintain"; case AWSEC2FleetTypeInstant: return @"instant"; default: return nil; } }]; } + (NSValueTransformer *)validFromJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)validUntilJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2CreateFleetResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"errors" : @"Errors", @"fleetId" : @"FleetId", @"instances" : @"Instances", }; } + (NSValueTransformer *)errorsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CreateFleetError class]]; } + (NSValueTransformer *)instancesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CreateFleetInstance class]]; } @end @implementation AWSEC2CreateFlowLogsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"deliverCrossAccountRole" : @"DeliverCrossAccountRole", @"deliverLogsPermissionArn" : @"DeliverLogsPermissionArn", @"destinationOptions" : @"DestinationOptions", @"dryRun" : @"DryRun", @"logDestination" : @"LogDestination", @"logDestinationType" : @"LogDestinationType", @"logFormat" : @"LogFormat", @"logGroupName" : @"LogGroupName", @"maxAggregationInterval" : @"MaxAggregationInterval", @"resourceIds" : @"ResourceIds", @"resourceType" : @"ResourceType", @"tagSpecifications" : @"TagSpecifications", @"trafficType" : @"TrafficType", }; } + (NSValueTransformer *)destinationOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DestinationOptionsRequest class]]; } + (NSValueTransformer *)logDestinationTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"cloud-watch-logs"] == NSOrderedSame) { return @(AWSEC2LogDestinationTypeCloudWatchLogs); } if ([value caseInsensitiveCompare:@"s3"] == NSOrderedSame) { return @(AWSEC2LogDestinationTypeS3); } if ([value caseInsensitiveCompare:@"kinesis-data-firehose"] == NSOrderedSame) { return @(AWSEC2LogDestinationTypeKinesisDataFirehose); } return @(AWSEC2LogDestinationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LogDestinationTypeCloudWatchLogs: return @"cloud-watch-logs"; case AWSEC2LogDestinationTypeS3: return @"s3"; case AWSEC2LogDestinationTypeKinesisDataFirehose: return @"kinesis-data-firehose"; default: return nil; } }]; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"VPC"] == NSOrderedSame) { return @(AWSEC2FlowLogsResourceTypeVpc); } if ([value caseInsensitiveCompare:@"Subnet"] == NSOrderedSame) { return @(AWSEC2FlowLogsResourceTypeSubnet); } if ([value caseInsensitiveCompare:@"NetworkInterface"] == NSOrderedSame) { return @(AWSEC2FlowLogsResourceTypeNetworkInterface); } if ([value caseInsensitiveCompare:@"TransitGateway"] == NSOrderedSame) { return @(AWSEC2FlowLogsResourceTypeTransitGateway); } if ([value caseInsensitiveCompare:@"TransitGatewayAttachment"] == NSOrderedSame) { return @(AWSEC2FlowLogsResourceTypeTransitGatewayAttachment); } return @(AWSEC2FlowLogsResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FlowLogsResourceTypeVpc: return @"VPC"; case AWSEC2FlowLogsResourceTypeSubnet: return @"Subnet"; case AWSEC2FlowLogsResourceTypeNetworkInterface: return @"NetworkInterface"; case AWSEC2FlowLogsResourceTypeTransitGateway: return @"TransitGateway"; case AWSEC2FlowLogsResourceTypeTransitGatewayAttachment: return @"TransitGatewayAttachment"; default: return nil; } }]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } + (NSValueTransformer *)trafficTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ACCEPT"] == NSOrderedSame) { return @(AWSEC2TrafficTypeAccept); } if ([value caseInsensitiveCompare:@"REJECT"] == NSOrderedSame) { return @(AWSEC2TrafficTypeReject); } if ([value caseInsensitiveCompare:@"ALL"] == NSOrderedSame) { return @(AWSEC2TrafficTypeAll); } return @(AWSEC2TrafficTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TrafficTypeAccept: return @"ACCEPT"; case AWSEC2TrafficTypeReject: return @"REJECT"; case AWSEC2TrafficTypeAll: return @"ALL"; default: return nil; } }]; } @end @implementation AWSEC2CreateFlowLogsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"flowLogIds" : @"FlowLogIds", @"unsuccessful" : @"Unsuccessful", }; } + (NSValueTransformer *)unsuccessfulJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2UnsuccessfulItem class]]; } @end @implementation AWSEC2CreateFpgaImageRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"inputStorageLocation" : @"InputStorageLocation", @"logsStorageLocation" : @"LogsStorageLocation", @"name" : @"Name", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)inputStorageLocationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2StorageLocation class]]; } + (NSValueTransformer *)logsStorageLocationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2StorageLocation class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateFpgaImageResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fpgaImageGlobalId" : @"FpgaImageGlobalId", @"fpgaImageId" : @"FpgaImageId", }; } @end @implementation AWSEC2CreateImageRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blockDeviceMappings" : @"BlockDeviceMappings", @"detail" : @"Description", @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", @"name" : @"Name", @"noReboot" : @"NoReboot", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)blockDeviceMappingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2BlockDeviceMapping class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateImageResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"imageId" : @"ImageId", }; } @end @implementation AWSEC2CreateInstanceConnectEndpointRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"preserveClientIp" : @"PreserveClientIp", @"securityGroupIds" : @"SecurityGroupIds", @"subnetId" : @"SubnetId", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateInstanceConnectEndpointResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"instanceConnectEndpoint" : @"InstanceConnectEndpoint", }; } + (NSValueTransformer *)instanceConnectEndpointJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Ec2InstanceConnectEndpoint class]]; } @end @implementation AWSEC2CreateInstanceEventWindowRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cronExpression" : @"CronExpression", @"dryRun" : @"DryRun", @"name" : @"Name", @"tagSpecifications" : @"TagSpecifications", @"timeRanges" : @"TimeRanges", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } + (NSValueTransformer *)timeRangesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceEventWindowTimeRangeRequest class]]; } @end @implementation AWSEC2CreateInstanceEventWindowResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceEventWindow" : @"InstanceEventWindow", }; } + (NSValueTransformer *)instanceEventWindowJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceEventWindow class]]; } @end @implementation AWSEC2CreateInstanceExportTaskRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"exportToS3Task" : @"ExportToS3Task", @"instanceId" : @"InstanceId", @"tagSpecifications" : @"TagSpecifications", @"targetEnvironment" : @"TargetEnvironment", }; } + (NSValueTransformer *)exportToS3TaskJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ExportToS3TaskSpecification class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } + (NSValueTransformer *)targetEnvironmentJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"citrix"] == NSOrderedSame) { return @(AWSEC2ExportEnvironmentCitrix); } if ([value caseInsensitiveCompare:@"vmware"] == NSOrderedSame) { return @(AWSEC2ExportEnvironmentVMware); } if ([value caseInsensitiveCompare:@"microsoft"] == NSOrderedSame) { return @(AWSEC2ExportEnvironmentMicrosoft); } return @(AWSEC2ExportEnvironmentUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ExportEnvironmentCitrix: return @"citrix"; case AWSEC2ExportEnvironmentVMware: return @"vmware"; case AWSEC2ExportEnvironmentMicrosoft: return @"microsoft"; default: return nil; } }]; } @end @implementation AWSEC2CreateInstanceExportTaskResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"exportTask" : @"ExportTask", }; } + (NSValueTransformer *)exportTaskJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ExportTask class]]; } @end @implementation AWSEC2CreateInternetGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateInternetGatewayResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"internetGateway" : @"InternetGateway", }; } + (NSValueTransformer *)internetGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InternetGateway class]]; } @end @implementation AWSEC2CreateIpamPoolRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addressFamily" : @"AddressFamily", @"allocationDefaultNetmaskLength" : @"AllocationDefaultNetmaskLength", @"allocationMaxNetmaskLength" : @"AllocationMaxNetmaskLength", @"allocationMinNetmaskLength" : @"AllocationMinNetmaskLength", @"allocationResourceTags" : @"AllocationResourceTags", @"autoImport" : @"AutoImport", @"awsService" : @"AwsService", @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"ipamScopeId" : @"IpamScopeId", @"locale" : @"Locale", @"publicIpSource" : @"PublicIpSource", @"publiclyAdvertisable" : @"PubliclyAdvertisable", @"sourceIpamPoolId" : @"SourceIpamPoolId", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)addressFamilyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ipv4"] == NSOrderedSame) { return @(AWSEC2AddressFamilyIpv4); } if ([value caseInsensitiveCompare:@"ipv6"] == NSOrderedSame) { return @(AWSEC2AddressFamilyIpv6); } return @(AWSEC2AddressFamilyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AddressFamilyIpv4: return @"ipv4"; case AWSEC2AddressFamilyIpv6: return @"ipv6"; default: return nil; } }]; } + (NSValueTransformer *)allocationResourceTagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2RequestIpamResourceTag class]]; } + (NSValueTransformer *)awsServiceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ec2"] == NSOrderedSame) { return @(AWSEC2IpamPoolAwsServiceEc2); } return @(AWSEC2IpamPoolAwsServiceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamPoolAwsServiceEc2: return @"ec2"; default: return nil; } }]; } + (NSValueTransformer *)publicIpSourceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"amazon"] == NSOrderedSame) { return @(AWSEC2IpamPoolPublicIpSourceAmazon); } if ([value caseInsensitiveCompare:@"byoip"] == NSOrderedSame) { return @(AWSEC2IpamPoolPublicIpSourceByoip); } return @(AWSEC2IpamPoolPublicIpSourceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamPoolPublicIpSourceAmazon: return @"amazon"; case AWSEC2IpamPoolPublicIpSourceByoip: return @"byoip"; default: return nil; } }]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateIpamPoolResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamPool" : @"IpamPool", }; } + (NSValueTransformer *)ipamPoolJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamPool class]]; } @end @implementation AWSEC2CreateIpamRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"operatingRegions" : @"OperatingRegions", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)operatingRegionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AddIpamOperatingRegion class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateIpamResourceDiscoveryRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"operatingRegions" : @"OperatingRegions", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)operatingRegionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AddIpamOperatingRegion class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateIpamResourceDiscoveryResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamResourceDiscovery" : @"IpamResourceDiscovery", }; } + (NSValueTransformer *)ipamResourceDiscoveryJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamResourceDiscovery class]]; } @end @implementation AWSEC2CreateIpamResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipam" : @"Ipam", }; } + (NSValueTransformer *)ipamJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Ipam class]]; } @end @implementation AWSEC2CreateIpamScopeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"ipamId" : @"IpamId", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateIpamScopeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamScope" : @"IpamScope", }; } + (NSValueTransformer *)ipamScopeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamScope class]]; } @end @implementation AWSEC2CreateKeyPairRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"keyFormat" : @"KeyFormat", @"keyName" : @"KeyName", @"keyType" : @"KeyType", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)keyFormatJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pem"] == NSOrderedSame) { return @(AWSEC2KeyFormatPem); } if ([value caseInsensitiveCompare:@"ppk"] == NSOrderedSame) { return @(AWSEC2KeyFormatPpk); } return @(AWSEC2KeyFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2KeyFormatPem: return @"pem"; case AWSEC2KeyFormatPpk: return @"ppk"; default: return nil; } }]; } + (NSValueTransformer *)keyTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"rsa"] == NSOrderedSame) { return @(AWSEC2KeyTypeRsa); } if ([value caseInsensitiveCompare:@"ed25519"] == NSOrderedSame) { return @(AWSEC2KeyTypeEd25519); } return @(AWSEC2KeyTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2KeyTypeRsa: return @"rsa"; case AWSEC2KeyTypeEd25519: return @"ed25519"; default: return nil; } }]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateLaunchTemplateRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"launchTemplateData" : @"LaunchTemplateData", @"launchTemplateName" : @"LaunchTemplateName", @"tagSpecifications" : @"TagSpecifications", @"versionDescription" : @"VersionDescription", }; } + (NSValueTransformer *)launchTemplateDataJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2RequestLaunchTemplateData class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateLaunchTemplateResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplate" : @"LaunchTemplate", @"warning" : @"Warning", }; } + (NSValueTransformer *)launchTemplateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplate class]]; } + (NSValueTransformer *)warningJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ValidationWarning class]]; } @end @implementation AWSEC2CreateLaunchTemplateVersionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"launchTemplateData" : @"LaunchTemplateData", @"launchTemplateId" : @"LaunchTemplateId", @"launchTemplateName" : @"LaunchTemplateName", @"resolveAlias" : @"ResolveAlias", @"sourceVersion" : @"SourceVersion", @"versionDescription" : @"VersionDescription", }; } + (NSValueTransformer *)launchTemplateDataJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2RequestLaunchTemplateData class]]; } @end @implementation AWSEC2CreateLaunchTemplateVersionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplateVersion" : @"LaunchTemplateVersion", @"warning" : @"Warning", }; } + (NSValueTransformer *)launchTemplateVersionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateVersion class]]; } + (NSValueTransformer *)warningJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ValidationWarning class]]; } @end @implementation AWSEC2CreateLocalGatewayRouteRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationCidrBlock" : @"DestinationCidrBlock", @"destinationPrefixListId" : @"DestinationPrefixListId", @"dryRun" : @"DryRun", @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", @"localGatewayVirtualInterfaceGroupId" : @"LocalGatewayVirtualInterfaceGroupId", @"networkInterfaceId" : @"NetworkInterfaceId", }; } @end @implementation AWSEC2CreateLocalGatewayRouteResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"route" : @"Route", }; } + (NSValueTransformer *)routeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LocalGatewayRoute class]]; } @end @implementation AWSEC2CreateLocalGatewayRouteTableRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"localGatewayId" : @"LocalGatewayId", @"mode" : @"Mode", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)modeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"direct-vpc-routing"] == NSOrderedSame) { return @(AWSEC2LocalGatewayRouteTableModeDirectVpcRouting); } if ([value caseInsensitiveCompare:@"coip"] == NSOrderedSame) { return @(AWSEC2LocalGatewayRouteTableModeCoip); } return @(AWSEC2LocalGatewayRouteTableModeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LocalGatewayRouteTableModeDirectVpcRouting: return @"direct-vpc-routing"; case AWSEC2LocalGatewayRouteTableModeCoip: return @"coip"; default: return nil; } }]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateLocalGatewayRouteTableResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayRouteTable" : @"LocalGatewayRouteTable", }; } + (NSValueTransformer *)localGatewayRouteTableJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LocalGatewayRouteTable class]]; } @end @implementation AWSEC2CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", @"localGatewayVirtualInterfaceGroupId" : @"LocalGatewayVirtualInterfaceGroupId", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayRouteTableVirtualInterfaceGroupAssociation" : @"LocalGatewayRouteTableVirtualInterfaceGroupAssociation", }; } + (NSValueTransformer *)localGatewayRouteTableVirtualInterfaceGroupAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LocalGatewayRouteTableVirtualInterfaceGroupAssociation class]]; } @end @implementation AWSEC2CreateLocalGatewayRouteTableVpcAssociationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", @"tagSpecifications" : @"TagSpecifications", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateLocalGatewayRouteTableVpcAssociationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayRouteTableVpcAssociation" : @"LocalGatewayRouteTableVpcAssociation", }; } + (NSValueTransformer *)localGatewayRouteTableVpcAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LocalGatewayRouteTableVpcAssociation class]]; } @end @implementation AWSEC2CreateManagedPrefixListRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addressFamily" : @"AddressFamily", @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"entries" : @"Entries", @"maxEntries" : @"MaxEntries", @"prefixListName" : @"PrefixListName", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)entriesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AddPrefixListEntry class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateManagedPrefixListResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"prefixList" : @"PrefixList", }; } + (NSValueTransformer *)prefixListJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ManagedPrefixList class]]; } @end @implementation AWSEC2CreateNatGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationId" : @"AllocationId", @"clientToken" : @"ClientToken", @"connectivityType" : @"ConnectivityType", @"dryRun" : @"DryRun", @"privateIpAddress" : @"PrivateIpAddress", @"secondaryAllocationIds" : @"SecondaryAllocationIds", @"secondaryPrivateIpAddressCount" : @"SecondaryPrivateIpAddressCount", @"secondaryPrivateIpAddresses" : @"SecondaryPrivateIpAddresses", @"subnetId" : @"SubnetId", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)connectivityTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"private"] == NSOrderedSame) { return @(AWSEC2ConnectivityTypePrivate); } if ([value caseInsensitiveCompare:@"public"] == NSOrderedSame) { return @(AWSEC2ConnectivityTypePublic); } return @(AWSEC2ConnectivityTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ConnectivityTypePrivate: return @"private"; case AWSEC2ConnectivityTypePublic: return @"public"; default: return nil; } }]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateNatGatewayResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"natGateway" : @"NatGateway", }; } + (NSValueTransformer *)natGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NatGateway class]]; } @end @implementation AWSEC2CreateNetworkAclEntryRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrBlock" : @"CidrBlock", @"dryRun" : @"DryRun", @"egress" : @"Egress", @"icmpTypeCode" : @"IcmpTypeCode", @"ipv6CidrBlock" : @"Ipv6CidrBlock", @"networkAclId" : @"NetworkAclId", @"portRange" : @"PortRange", @"protocols" : @"Protocol", @"ruleAction" : @"RuleAction", @"ruleNumber" : @"RuleNumber", }; } + (NSValueTransformer *)icmpTypeCodeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IcmpTypeCode class]]; } + (NSValueTransformer *)portRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PortRange class]]; } + (NSValueTransformer *)ruleActionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"allow"] == NSOrderedSame) { return @(AWSEC2RuleActionAllow); } if ([value caseInsensitiveCompare:@"deny"] == NSOrderedSame) { return @(AWSEC2RuleActionDeny); } return @(AWSEC2RuleActionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2RuleActionAllow: return @"allow"; case AWSEC2RuleActionDeny: return @"deny"; default: return nil; } }]; } @end @implementation AWSEC2CreateNetworkAclRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"tagSpecifications" : @"TagSpecifications", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateNetworkAclResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkAcl" : @"NetworkAcl", }; } + (NSValueTransformer *)networkAclJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkAcl class]]; } @end @implementation AWSEC2CreateNetworkInsightsAccessScopeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"excludePaths" : @"ExcludePaths", @"matchPaths" : @"MatchPaths", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)excludePathsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AccessScopePathRequest class]]; } + (NSValueTransformer *)matchPathsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AccessScopePathRequest class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateNetworkInsightsAccessScopeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInsightsAccessScope" : @"NetworkInsightsAccessScope", @"networkInsightsAccessScopeContent" : @"NetworkInsightsAccessScopeContent", }; } + (NSValueTransformer *)networkInsightsAccessScopeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInsightsAccessScope class]]; } + (NSValueTransformer *)networkInsightsAccessScopeContentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInsightsAccessScopeContent class]]; } @end @implementation AWSEC2CreateNetworkInsightsPathRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"destination" : @"Destination", @"destinationIp" : @"DestinationIp", @"destinationPort" : @"DestinationPort", @"dryRun" : @"DryRun", @"filterAtDestination" : @"FilterAtDestination", @"filterAtSource" : @"FilterAtSource", @"protocols" : @"Protocol", @"source" : @"Source", @"sourceIp" : @"SourceIp", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)filterAtDestinationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PathRequestFilter class]]; } + (NSValueTransformer *)filterAtSourceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PathRequestFilter class]]; } + (NSValueTransformer *)protocolsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"tcp"] == NSOrderedSame) { return @(AWSEC2ProtocolsTcp); } if ([value caseInsensitiveCompare:@"udp"] == NSOrderedSame) { return @(AWSEC2ProtocolsUdp); } return @(AWSEC2ProtocolsUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ProtocolsTcp: return @"tcp"; case AWSEC2ProtocolsUdp: return @"udp"; default: return nil; } }]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateNetworkInsightsPathResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInsightsPath" : @"NetworkInsightsPath", }; } + (NSValueTransformer *)networkInsightsPathJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInsightsPath class]]; } @end @implementation AWSEC2CreateNetworkInterfacePermissionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"awsAccountId" : @"AwsAccountId", @"awsService" : @"AwsService", @"dryRun" : @"DryRun", @"networkInterfaceId" : @"NetworkInterfaceId", @"permission" : @"Permission", }; } + (NSValueTransformer *)permissionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"INSTANCE-ATTACH"] == NSOrderedSame) { return @(AWSEC2InterfacePermissionTypeInstanceAttach); } if ([value caseInsensitiveCompare:@"EIP-ASSOCIATE"] == NSOrderedSame) { return @(AWSEC2InterfacePermissionTypeEipAssociate); } return @(AWSEC2InterfacePermissionTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InterfacePermissionTypeInstanceAttach: return @"INSTANCE-ATTACH"; case AWSEC2InterfacePermissionTypeEipAssociate: return @"EIP-ASSOCIATE"; default: return nil; } }]; } @end @implementation AWSEC2CreateNetworkInterfacePermissionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"interfacePermission" : @"InterfacePermission", }; } + (NSValueTransformer *)interfacePermissionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInterfacePermission class]]; } @end @implementation AWSEC2CreateNetworkInterfaceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"groups" : @"Groups", @"interfaceType" : @"InterfaceType", @"ipv4PrefixCount" : @"Ipv4PrefixCount", @"ipv4Prefixes" : @"Ipv4Prefixes", @"ipv6AddressCount" : @"Ipv6AddressCount", @"ipv6Addresses" : @"Ipv6Addresses", @"ipv6PrefixCount" : @"Ipv6PrefixCount", @"ipv6Prefixes" : @"Ipv6Prefixes", @"privateIpAddress" : @"PrivateIpAddress", @"privateIpAddresses" : @"PrivateIpAddresses", @"secondaryPrivateIpAddressCount" : @"SecondaryPrivateIpAddressCount", @"subnetId" : @"SubnetId", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)interfaceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"efa"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceCreationTypeEfa); } if ([value caseInsensitiveCompare:@"branch"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceCreationTypeBranch); } if ([value caseInsensitiveCompare:@"trunk"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceCreationTypeTrunk); } return @(AWSEC2NetworkInterfaceCreationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2NetworkInterfaceCreationTypeEfa: return @"efa"; case AWSEC2NetworkInterfaceCreationTypeBranch: return @"branch"; case AWSEC2NetworkInterfaceCreationTypeTrunk: return @"trunk"; default: return nil; } }]; } + (NSValueTransformer *)ipv4PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv4PrefixSpecificationRequest class]]; } + (NSValueTransformer *)ipv6AddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceIpv6Address class]]; } + (NSValueTransformer *)ipv6PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv6PrefixSpecificationRequest class]]; } + (NSValueTransformer *)privateIpAddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PrivateIpAddressSpecification class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateNetworkInterfaceResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"networkInterface" : @"NetworkInterface", }; } + (NSValueTransformer *)networkInterfaceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInterface class]]; } @end @implementation AWSEC2CreatePlacementGroupRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"groupName" : @"GroupName", @"partitionCount" : @"PartitionCount", @"spreadLevel" : @"SpreadLevel", @"strategy" : @"Strategy", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)spreadLevelJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"host"] == NSOrderedSame) { return @(AWSEC2SpreadLevelHost); } if ([value caseInsensitiveCompare:@"rack"] == NSOrderedSame) { return @(AWSEC2SpreadLevelRack); } return @(AWSEC2SpreadLevelUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SpreadLevelHost: return @"host"; case AWSEC2SpreadLevelRack: return @"rack"; default: return nil; } }]; } + (NSValueTransformer *)strategyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"cluster"] == NSOrderedSame) { return @(AWSEC2PlacementStrategyCluster); } if ([value caseInsensitiveCompare:@"spread"] == NSOrderedSame) { return @(AWSEC2PlacementStrategySpread); } if ([value caseInsensitiveCompare:@"partition"] == NSOrderedSame) { return @(AWSEC2PlacementStrategyPartition); } return @(AWSEC2PlacementStrategyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PlacementStrategyCluster: return @"cluster"; case AWSEC2PlacementStrategySpread: return @"spread"; case AWSEC2PlacementStrategyPartition: return @"partition"; default: return nil; } }]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreatePlacementGroupResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"placementGroup" : @"PlacementGroup", }; } + (NSValueTransformer *)placementGroupJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PlacementGroup class]]; } @end @implementation AWSEC2CreatePublicIpv4PoolRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreatePublicIpv4PoolResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"poolId" : @"PoolId", }; } @end @implementation AWSEC2CreateReplaceRootVolumeTaskRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"deleteReplacedRootVolume" : @"DeleteReplacedRootVolume", @"dryRun" : @"DryRun", @"imageId" : @"ImageId", @"instanceId" : @"InstanceId", @"snapshotId" : @"SnapshotId", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateReplaceRootVolumeTaskResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"replaceRootVolumeTask" : @"ReplaceRootVolumeTask", }; } + (NSValueTransformer *)replaceRootVolumeTaskJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ReplaceRootVolumeTask class]]; } @end @implementation AWSEC2CreateReservedInstancesListingRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"instanceCount" : @"InstanceCount", @"priceSchedules" : @"PriceSchedules", @"reservedInstancesId" : @"ReservedInstancesId", }; } + (NSValueTransformer *)priceSchedulesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PriceScheduleSpecification class]]; } @end @implementation AWSEC2CreateReservedInstancesListingResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"reservedInstancesListings" : @"ReservedInstancesListings", }; } + (NSValueTransformer *)reservedInstancesListingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ReservedInstancesListing class]]; } @end @implementation AWSEC2CreateRestoreImageTaskRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bucket" : @"Bucket", @"dryRun" : @"DryRun", @"name" : @"Name", @"objectKey" : @"ObjectKey", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateRestoreImageTaskResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"imageId" : @"ImageId", }; } @end @implementation AWSEC2CreateRouteRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"carrierGatewayId" : @"CarrierGatewayId", @"coreNetworkArn" : @"CoreNetworkArn", @"destinationCidrBlock" : @"DestinationCidrBlock", @"destinationIpv6CidrBlock" : @"DestinationIpv6CidrBlock", @"destinationPrefixListId" : @"DestinationPrefixListId", @"dryRun" : @"DryRun", @"egressOnlyInternetGatewayId" : @"EgressOnlyInternetGatewayId", @"gatewayId" : @"GatewayId", @"instanceId" : @"InstanceId", @"localGatewayId" : @"LocalGatewayId", @"natGatewayId" : @"NatGatewayId", @"networkInterfaceId" : @"NetworkInterfaceId", @"routeTableId" : @"RouteTableId", @"transitGatewayId" : @"TransitGatewayId", @"vpcEndpointId" : @"VpcEndpointId", @"vpcPeeringConnectionId" : @"VpcPeeringConnectionId", }; } @end @implementation AWSEC2CreateRouteResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2CreateRouteTableRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"tagSpecifications" : @"TagSpecifications", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateRouteTableResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"routeTable" : @"RouteTable", }; } + (NSValueTransformer *)routeTableJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2RouteTable class]]; } @end @implementation AWSEC2CreateSecurityGroupRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"dryRun" : @"DryRun", @"groupName" : @"GroupName", @"tagSpecifications" : @"TagSpecifications", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateSecurityGroupResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"groupId" : @"GroupId", @"tags" : @"Tags", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2CreateSnapshotRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"dryRun" : @"DryRun", @"outpostArn" : @"OutpostArn", @"tagSpecifications" : @"TagSpecifications", @"volumeId" : @"VolumeId", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateSnapshotsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"replicateTagsFromSource" : @"CopyTagsFromSource", @"detail" : @"Description", @"dryRun" : @"DryRun", @"instanceSpecification" : @"InstanceSpecification", @"outpostArn" : @"OutpostArn", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)replicateTagsFromSourceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"volume"] == NSOrderedSame) { return @(AWSEC2ReplicateTagsFromSourceVolume); } return @(AWSEC2ReplicateTagsFromSourceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ReplicateTagsFromSourceVolume: return @"volume"; default: return nil; } }]; } + (NSValueTransformer *)instanceSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceSpecification class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateSnapshotsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"snapshots" : @"Snapshots", }; } + (NSValueTransformer *)snapshotsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SnapshotInfo class]]; } @end @implementation AWSEC2CreateSpotDatafeedSubscriptionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bucket" : @"Bucket", @"dryRun" : @"DryRun", @"prefix" : @"Prefix", }; } @end @implementation AWSEC2CreateSpotDatafeedSubscriptionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"spotDatafeedSubscription" : @"SpotDatafeedSubscription", }; } + (NSValueTransformer *)spotDatafeedSubscriptionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotDatafeedSubscription class]]; } @end @implementation AWSEC2CreateStoreImageTaskRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bucket" : @"Bucket", @"dryRun" : @"DryRun", @"imageId" : @"ImageId", @"s3ObjectTags" : @"S3ObjectTags", }; } + (NSValueTransformer *)s3ObjectTagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2S3ObjectTag class]]; } @end @implementation AWSEC2CreateStoreImageTaskResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"objectKey" : @"ObjectKey", }; } @end @implementation AWSEC2CreateSubnetCidrReservationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"detail" : @"Description", @"dryRun" : @"DryRun", @"reservationType" : @"ReservationType", @"subnetId" : @"SubnetId", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)reservationTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"prefix"] == NSOrderedSame) { return @(AWSEC2SubnetCidrReservationTypePrefix); } if ([value caseInsensitiveCompare:@"explicit"] == NSOrderedSame) { return @(AWSEC2SubnetCidrReservationTypeExplicit); } return @(AWSEC2SubnetCidrReservationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SubnetCidrReservationTypePrefix: return @"prefix"; case AWSEC2SubnetCidrReservationTypeExplicit: return @"explicit"; default: return nil; } }]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateSubnetCidrReservationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"subnetCidrReservation" : @"SubnetCidrReservation", }; } + (NSValueTransformer *)subnetCidrReservationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SubnetCidrReservation class]]; } @end @implementation AWSEC2CreateSubnetRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"availabilityZoneId" : @"AvailabilityZoneId", @"cidrBlock" : @"CidrBlock", @"dryRun" : @"DryRun", @"ipv6CidrBlock" : @"Ipv6CidrBlock", @"ipv6Native" : @"Ipv6Native", @"outpostArn" : @"OutpostArn", @"tagSpecifications" : @"TagSpecifications", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateSubnetResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"subnet" : @"Subnet", }; } + (NSValueTransformer *)subnetJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Subnet class]]; } @end @implementation AWSEC2CreateTagsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"resources" : @"Resources", @"tags" : @"Tags", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2CreateTrafficMirrorFilterRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateTrafficMirrorFilterResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"trafficMirrorFilter" : @"TrafficMirrorFilter", }; } + (NSValueTransformer *)trafficMirrorFilterJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrafficMirrorFilter class]]; } @end @implementation AWSEC2CreateTrafficMirrorFilterRuleRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"destinationCidrBlock" : @"DestinationCidrBlock", @"destinationPortRange" : @"DestinationPortRange", @"dryRun" : @"DryRun", @"protocols" : @"Protocol", @"ruleAction" : @"RuleAction", @"ruleNumber" : @"RuleNumber", @"sourceCidrBlock" : @"SourceCidrBlock", @"sourcePortRange" : @"SourcePortRange", @"trafficDirection" : @"TrafficDirection", @"trafficMirrorFilterId" : @"TrafficMirrorFilterId", }; } + (NSValueTransformer *)destinationPortRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrafficMirrorPortRangeRequest class]]; } + (NSValueTransformer *)ruleActionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"accept"] == NSOrderedSame) { return @(AWSEC2TrafficMirrorRuleActionAccept); } if ([value caseInsensitiveCompare:@"reject"] == NSOrderedSame) { return @(AWSEC2TrafficMirrorRuleActionReject); } return @(AWSEC2TrafficMirrorRuleActionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TrafficMirrorRuleActionAccept: return @"accept"; case AWSEC2TrafficMirrorRuleActionReject: return @"reject"; default: return nil; } }]; } + (NSValueTransformer *)sourcePortRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrafficMirrorPortRangeRequest class]]; } + (NSValueTransformer *)trafficDirectionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ingress"] == NSOrderedSame) { return @(AWSEC2TrafficDirectionIngress); } if ([value caseInsensitiveCompare:@"egress"] == NSOrderedSame) { return @(AWSEC2TrafficDirectionEgress); } return @(AWSEC2TrafficDirectionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TrafficDirectionIngress: return @"ingress"; case AWSEC2TrafficDirectionEgress: return @"egress"; default: return nil; } }]; } @end @implementation AWSEC2CreateTrafficMirrorFilterRuleResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"trafficMirrorFilterRule" : @"TrafficMirrorFilterRule", }; } + (NSValueTransformer *)trafficMirrorFilterRuleJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrafficMirrorFilterRule class]]; } @end @implementation AWSEC2CreateTrafficMirrorSessionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"networkInterfaceId" : @"NetworkInterfaceId", @"packetLength" : @"PacketLength", @"sessionNumber" : @"SessionNumber", @"tagSpecifications" : @"TagSpecifications", @"trafficMirrorFilterId" : @"TrafficMirrorFilterId", @"trafficMirrorTargetId" : @"TrafficMirrorTargetId", @"virtualNetworkId" : @"VirtualNetworkId", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateTrafficMirrorSessionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"trafficMirrorSession" : @"TrafficMirrorSession", }; } + (NSValueTransformer *)trafficMirrorSessionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrafficMirrorSession class]]; } @end @implementation AWSEC2CreateTrafficMirrorTargetRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"gatewayLoadBalancerEndpointId" : @"GatewayLoadBalancerEndpointId", @"networkInterfaceId" : @"NetworkInterfaceId", @"networkLoadBalancerArn" : @"NetworkLoadBalancerArn", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateTrafficMirrorTargetResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"trafficMirrorTarget" : @"TrafficMirrorTarget", }; } + (NSValueTransformer *)trafficMirrorTargetJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrafficMirrorTarget class]]; } @end @implementation AWSEC2CreateTransitGatewayConnectPeerRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bgpOptions" : @"BgpOptions", @"dryRun" : @"DryRun", @"insideCidrBlocks" : @"InsideCidrBlocks", @"peerAddress" : @"PeerAddress", @"tagSpecifications" : @"TagSpecifications", @"transitGatewayAddress" : @"TransitGatewayAddress", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } + (NSValueTransformer *)bgpOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayConnectRequestBgpOptions class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateTransitGatewayConnectPeerResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayConnectPeer" : @"TransitGatewayConnectPeer", }; } + (NSValueTransformer *)transitGatewayConnectPeerJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayConnectPeer class]]; } @end @implementation AWSEC2CreateTransitGatewayConnectRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"options" : @"Options", @"tagSpecifications" : @"TagSpecifications", @"transportTransitGatewayAttachmentId" : @"TransportTransitGatewayAttachmentId", }; } + (NSValueTransformer *)optionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CreateTransitGatewayConnectRequestOptions class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateTransitGatewayConnectRequestOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"protocols" : @"Protocol", }; } + (NSValueTransformer *)protocolsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"gre"] == NSOrderedSame) { return @(AWSEC2ProtocolValueGre); } return @(AWSEC2ProtocolValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ProtocolValueGre: return @"gre"; default: return nil; } }]; } @end @implementation AWSEC2CreateTransitGatewayConnectResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayConnect" : @"TransitGatewayConnect", }; } + (NSValueTransformer *)transitGatewayConnectJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayConnect class]]; } @end @implementation AWSEC2CreateTransitGatewayMulticastDomainRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"options" : @"Options", @"tagSpecifications" : @"TagSpecifications", @"transitGatewayId" : @"TransitGatewayId", }; } + (NSValueTransformer *)optionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CreateTransitGatewayMulticastDomainRequestOptions class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateTransitGatewayMulticastDomainRequestOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"autoAcceptSharedAssociations" : @"AutoAcceptSharedAssociations", @"igmpv2Support" : @"Igmpv2Support", @"staticSourcesSupport" : @"StaticSourcesSupport", }; } + (NSValueTransformer *)autoAcceptSharedAssociationsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2AutoAcceptSharedAssociationsValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2AutoAcceptSharedAssociationsValueDisable); } return @(AWSEC2AutoAcceptSharedAssociationsValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AutoAcceptSharedAssociationsValueEnable: return @"enable"; case AWSEC2AutoAcceptSharedAssociationsValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)igmpv2SupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2Igmpv2SupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2Igmpv2SupportValueDisable); } return @(AWSEC2Igmpv2SupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2Igmpv2SupportValueEnable: return @"enable"; case AWSEC2Igmpv2SupportValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)staticSourcesSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2StaticSourcesSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2StaticSourcesSupportValueDisable); } return @(AWSEC2StaticSourcesSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2StaticSourcesSupportValueEnable: return @"enable"; case AWSEC2StaticSourcesSupportValueDisable: return @"disable"; default: return nil; } }]; } @end @implementation AWSEC2CreateTransitGatewayMulticastDomainResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayMulticastDomain" : @"TransitGatewayMulticastDomain", }; } + (NSValueTransformer *)transitGatewayMulticastDomainJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayMulticastDomain class]]; } @end @implementation AWSEC2CreateTransitGatewayPeeringAttachmentRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"options" : @"Options", @"peerAccountId" : @"PeerAccountId", @"peerRegion" : @"PeerRegion", @"peerTransitGatewayId" : @"PeerTransitGatewayId", @"tagSpecifications" : @"TagSpecifications", @"transitGatewayId" : @"TransitGatewayId", }; } + (NSValueTransformer *)optionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CreateTransitGatewayPeeringAttachmentRequestOptions class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateTransitGatewayPeeringAttachmentRequestOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dynamicRouting" : @"DynamicRouting", }; } + (NSValueTransformer *)dynamicRoutingJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2DynamicRoutingValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2DynamicRoutingValueDisable); } return @(AWSEC2DynamicRoutingValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DynamicRoutingValueEnable: return @"enable"; case AWSEC2DynamicRoutingValueDisable: return @"disable"; default: return nil; } }]; } @end @implementation AWSEC2CreateTransitGatewayPeeringAttachmentResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayPeeringAttachment" : @"TransitGatewayPeeringAttachment", }; } + (NSValueTransformer *)transitGatewayPeeringAttachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPeeringAttachment class]]; } @end @implementation AWSEC2CreateTransitGatewayPolicyTableRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"tagSpecifications" : @"TagSpecifications", @"transitGatewayId" : @"TransitGatewayId", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateTransitGatewayPolicyTableResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayPolicyTable" : @"TransitGatewayPolicyTable", }; } + (NSValueTransformer *)transitGatewayPolicyTableJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPolicyTable class]]; } @end @implementation AWSEC2CreateTransitGatewayPrefixListReferenceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blackhole" : @"Blackhole", @"dryRun" : @"DryRun", @"prefixListId" : @"PrefixListId", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } @end @implementation AWSEC2CreateTransitGatewayPrefixListReferenceResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayPrefixListReference" : @"TransitGatewayPrefixListReference", }; } + (NSValueTransformer *)transitGatewayPrefixListReferenceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPrefixListReference class]]; } @end @implementation AWSEC2CreateTransitGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"dryRun" : @"DryRun", @"options" : @"Options", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)optionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayRequestOptions class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateTransitGatewayResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGateway" : @"TransitGateway", }; } + (NSValueTransformer *)transitGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGateway class]]; } @end @implementation AWSEC2CreateTransitGatewayRouteRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blackhole" : @"Blackhole", @"destinationCidrBlock" : @"DestinationCidrBlock", @"dryRun" : @"DryRun", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } @end @implementation AWSEC2CreateTransitGatewayRouteResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"route" : @"Route", }; } + (NSValueTransformer *)routeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayRoute class]]; } @end @implementation AWSEC2CreateTransitGatewayRouteTableAnnouncementRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"peeringAttachmentId" : @"PeeringAttachmentId", @"tagSpecifications" : @"TagSpecifications", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateTransitGatewayRouteTableAnnouncementResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayRouteTableAnnouncement" : @"TransitGatewayRouteTableAnnouncement", }; } + (NSValueTransformer *)transitGatewayRouteTableAnnouncementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayRouteTableAnnouncement class]]; } @end @implementation AWSEC2CreateTransitGatewayRouteTableRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"tagSpecifications" : @"TagSpecifications", @"transitGatewayId" : @"TransitGatewayId", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateTransitGatewayRouteTableResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayRouteTable" : @"TransitGatewayRouteTable", }; } + (NSValueTransformer *)transitGatewayRouteTableJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayRouteTable class]]; } @end @implementation AWSEC2CreateTransitGatewayVpcAttachmentRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"options" : @"Options", @"subnetIds" : @"SubnetIds", @"tagSpecifications" : @"TagSpecifications", @"transitGatewayId" : @"TransitGatewayId", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)optionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CreateTransitGatewayVpcAttachmentRequestOptions class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateTransitGatewayVpcAttachmentRequestOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"applianceModeSupport" : @"ApplianceModeSupport", @"dnsSupport" : @"DnsSupport", @"ipv6Support" : @"Ipv6Support", }; } + (NSValueTransformer *)applianceModeSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2ApplianceModeSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2ApplianceModeSupportValueDisable); } return @(AWSEC2ApplianceModeSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ApplianceModeSupportValueEnable: return @"enable"; case AWSEC2ApplianceModeSupportValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)dnsSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2DnsSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2DnsSupportValueDisable); } return @(AWSEC2DnsSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DnsSupportValueEnable: return @"enable"; case AWSEC2DnsSupportValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)ipv6SupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2Ipv6SupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2Ipv6SupportValueDisable); } return @(AWSEC2Ipv6SupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2Ipv6SupportValueEnable: return @"enable"; case AWSEC2Ipv6SupportValueDisable: return @"disable"; default: return nil; } }]; } @end @implementation AWSEC2CreateTransitGatewayVpcAttachmentResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayVpcAttachment" : @"TransitGatewayVpcAttachment", }; } + (NSValueTransformer *)transitGatewayVpcAttachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayVpcAttachment class]]; } @end @implementation AWSEC2CreateVerifiedAccessEndpointEniOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInterfaceId" : @"NetworkInterfaceId", @"port" : @"Port", @"protocols" : @"Protocol", }; } + (NSValueTransformer *)protocolsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"http"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointProtocolHTTP); } if ([value caseInsensitiveCompare:@"https"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointProtocolHTTPS); } return @(AWSEC2VerifiedAccessEndpointProtocolUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VerifiedAccessEndpointProtocolHTTP: return @"http"; case AWSEC2VerifiedAccessEndpointProtocolHTTPS: return @"https"; default: return nil; } }]; } @end @implementation AWSEC2CreateVerifiedAccessEndpointLoadBalancerOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"loadBalancerArn" : @"LoadBalancerArn", @"port" : @"Port", @"protocols" : @"Protocol", @"subnetIds" : @"SubnetIds", }; } + (NSValueTransformer *)protocolsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"http"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointProtocolHTTP); } if ([value caseInsensitiveCompare:@"https"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointProtocolHTTPS); } return @(AWSEC2VerifiedAccessEndpointProtocolUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VerifiedAccessEndpointProtocolHTTP: return @"http"; case AWSEC2VerifiedAccessEndpointProtocolHTTPS: return @"https"; default: return nil; } }]; } @end @implementation AWSEC2CreateVerifiedAccessEndpointRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"applicationDomain" : @"ApplicationDomain", @"attachmentType" : @"AttachmentType", @"clientToken" : @"ClientToken", @"detail" : @"Description", @"domainCertificateArn" : @"DomainCertificateArn", @"dryRun" : @"DryRun", @"endpointDomainPrefix" : @"EndpointDomainPrefix", @"endpointType" : @"EndpointType", @"loadBalancerOptions" : @"LoadBalancerOptions", @"networkInterfaceOptions" : @"NetworkInterfaceOptions", @"policyDocument" : @"PolicyDocument", @"securityGroupIds" : @"SecurityGroupIds", @"tagSpecifications" : @"TagSpecifications", @"verifiedAccessGroupId" : @"VerifiedAccessGroupId", }; } + (NSValueTransformer *)attachmentTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointAttachmentTypeVPC); } return @(AWSEC2VerifiedAccessEndpointAttachmentTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VerifiedAccessEndpointAttachmentTypeVPC: return @"vpc"; default: return nil; } }]; } + (NSValueTransformer *)endpointTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"load-balancer"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointTypeLoadBalancer); } if ([value caseInsensitiveCompare:@"network-interface"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointTypeNetworkInterface); } return @(AWSEC2VerifiedAccessEndpointTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VerifiedAccessEndpointTypeLoadBalancer: return @"load-balancer"; case AWSEC2VerifiedAccessEndpointTypeNetworkInterface: return @"network-interface"; default: return nil; } }]; } + (NSValueTransformer *)loadBalancerOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CreateVerifiedAccessEndpointLoadBalancerOptions class]]; } + (NSValueTransformer *)networkInterfaceOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CreateVerifiedAccessEndpointEniOptions class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateVerifiedAccessEndpointResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"verifiedAccessEndpoint" : @"VerifiedAccessEndpoint", }; } + (NSValueTransformer *)verifiedAccessEndpointJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessEndpoint class]]; } @end @implementation AWSEC2CreateVerifiedAccessGroupRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"policyDocument" : @"PolicyDocument", @"tagSpecifications" : @"TagSpecifications", @"verifiedAccessInstanceId" : @"VerifiedAccessInstanceId", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateVerifiedAccessGroupResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"verifiedAccessGroup" : @"VerifiedAccessGroup", }; } + (NSValueTransformer *)verifiedAccessGroupJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessGroup class]]; } @end @implementation AWSEC2CreateVerifiedAccessInstanceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateVerifiedAccessInstanceResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"verifiedAccessInstance" : @"VerifiedAccessInstance", }; } + (NSValueTransformer *)verifiedAccessInstanceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessInstance class]]; } @end @implementation AWSEC2CreateVerifiedAccessTrustProviderDeviceOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"tenantId" : @"TenantId", }; } @end @implementation AWSEC2CreateVerifiedAccessTrustProviderOidcOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"authorizationEndpoint" : @"AuthorizationEndpoint", @"clientId" : @"ClientId", @"clientSecret" : @"ClientSecret", @"issuer" : @"Issuer", @"scope" : @"Scope", @"tokenEndpoint" : @"TokenEndpoint", @"userInfoEndpoint" : @"UserInfoEndpoint", }; } @end @implementation AWSEC2CreateVerifiedAccessTrustProviderRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"deviceOptions" : @"DeviceOptions", @"deviceTrustProviderType" : @"DeviceTrustProviderType", @"dryRun" : @"DryRun", @"oidcOptions" : @"OidcOptions", @"policyReferenceName" : @"PolicyReferenceName", @"tagSpecifications" : @"TagSpecifications", @"trustProviderType" : @"TrustProviderType", @"userTrustProviderType" : @"UserTrustProviderType", }; } + (NSValueTransformer *)deviceOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CreateVerifiedAccessTrustProviderDeviceOptions class]]; } + (NSValueTransformer *)deviceTrustProviderTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"jamf"] == NSOrderedSame) { return @(AWSEC2DeviceTrustProviderTypeJamf); } if ([value caseInsensitiveCompare:@"crowdstrike"] == NSOrderedSame) { return @(AWSEC2DeviceTrustProviderTypeCrowdstrike); } return @(AWSEC2DeviceTrustProviderTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DeviceTrustProviderTypeJamf: return @"jamf"; case AWSEC2DeviceTrustProviderTypeCrowdstrike: return @"crowdstrike"; default: return nil; } }]; } + (NSValueTransformer *)oidcOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CreateVerifiedAccessTrustProviderOidcOptions class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } + (NSValueTransformer *)trustProviderTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"user"] == NSOrderedSame) { return @(AWSEC2TrustProviderTypeUser); } if ([value caseInsensitiveCompare:@"device"] == NSOrderedSame) { return @(AWSEC2TrustProviderTypeDevice); } return @(AWSEC2TrustProviderTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TrustProviderTypeUser: return @"user"; case AWSEC2TrustProviderTypeDevice: return @"device"; default: return nil; } }]; } + (NSValueTransformer *)userTrustProviderTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"iam-identity-center"] == NSOrderedSame) { return @(AWSEC2UserTrustProviderTypeIamIdentityCenter); } if ([value caseInsensitiveCompare:@"oidc"] == NSOrderedSame) { return @(AWSEC2UserTrustProviderTypeOidc); } return @(AWSEC2UserTrustProviderTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2UserTrustProviderTypeIamIdentityCenter: return @"iam-identity-center"; case AWSEC2UserTrustProviderTypeOidc: return @"oidc"; default: return nil; } }]; } @end @implementation AWSEC2CreateVerifiedAccessTrustProviderResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"verifiedAccessTrustProvider" : @"VerifiedAccessTrustProvider", }; } + (NSValueTransformer *)verifiedAccessTrustProviderJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessTrustProvider class]]; } @end @implementation AWSEC2CreateVolumePermission + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"group" : @"Group", @"userId" : @"UserId", }; } + (NSValueTransformer *)groupJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"all"] == NSOrderedSame) { return @(AWSEC2PermissionGroupAll); } return @(AWSEC2PermissionGroupUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PermissionGroupAll: return @"all"; default: return nil; } }]; } @end @implementation AWSEC2CreateVolumePermissionModifications + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"add" : @"Add", @"remove" : @"Remove", }; } + (NSValueTransformer *)addJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CreateVolumePermission class]]; } + (NSValueTransformer *)removeJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CreateVolumePermission class]]; } @end @implementation AWSEC2CreateVolumeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"encrypted" : @"Encrypted", @"iops" : @"Iops", @"kmsKeyId" : @"KmsKeyId", @"multiAttachEnabled" : @"MultiAttachEnabled", @"outpostArn" : @"OutpostArn", @"size" : @"Size", @"snapshotId" : @"SnapshotId", @"tagSpecifications" : @"TagSpecifications", @"throughput" : @"Throughput", @"volumeType" : @"VolumeType", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } + (NSValueTransformer *)volumeTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2VolumeTypeStandard); } if ([value caseInsensitiveCompare:@"io1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIO1); } if ([value caseInsensitiveCompare:@"io2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIo2); } if ([value caseInsensitiveCompare:@"gp2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp2); } if ([value caseInsensitiveCompare:@"sc1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSc1); } if ([value caseInsensitiveCompare:@"st1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSt1); } if ([value caseInsensitiveCompare:@"gp3"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp3); } return @(AWSEC2VolumeTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VolumeTypeStandard: return @"standard"; case AWSEC2VolumeTypeIO1: return @"io1"; case AWSEC2VolumeTypeIo2: return @"io2"; case AWSEC2VolumeTypeGp2: return @"gp2"; case AWSEC2VolumeTypeSc1: return @"sc1"; case AWSEC2VolumeTypeSt1: return @"st1"; case AWSEC2VolumeTypeGp3: return @"gp3"; default: return nil; } }]; } @end @implementation AWSEC2CreateVpcEndpointConnectionNotificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"connectionEvents" : @"ConnectionEvents", @"connectionNotificationArn" : @"ConnectionNotificationArn", @"dryRun" : @"DryRun", @"serviceId" : @"ServiceId", @"vpcEndpointId" : @"VpcEndpointId", }; } @end @implementation AWSEC2CreateVpcEndpointConnectionNotificationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"connectionNotification" : @"ConnectionNotification", }; } + (NSValueTransformer *)connectionNotificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ConnectionNotification class]]; } @end @implementation AWSEC2CreateVpcEndpointRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dnsOptions" : @"DnsOptions", @"dryRun" : @"DryRun", @"ipAddressType" : @"IpAddressType", @"policyDocument" : @"PolicyDocument", @"privateDnsEnabled" : @"PrivateDnsEnabled", @"routeTableIds" : @"RouteTableIds", @"securityGroupIds" : @"SecurityGroupIds", @"serviceName" : @"ServiceName", @"subnetIds" : @"SubnetIds", @"tagSpecifications" : @"TagSpecifications", @"vpcEndpointType" : @"VpcEndpointType", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)dnsOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DnsOptionsSpecification class]]; } + (NSValueTransformer *)ipAddressTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ipv4"] == NSOrderedSame) { return @(AWSEC2IpAddressTypeIpv4); } if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { return @(AWSEC2IpAddressTypeDualstack); } if ([value caseInsensitiveCompare:@"ipv6"] == NSOrderedSame) { return @(AWSEC2IpAddressTypeIpv6); } return @(AWSEC2IpAddressTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpAddressTypeIpv4: return @"ipv4"; case AWSEC2IpAddressTypeDualstack: return @"dualstack"; case AWSEC2IpAddressTypeIpv6: return @"ipv6"; default: return nil; } }]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } + (NSValueTransformer *)vpcEndpointTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Interface"] == NSOrderedSame) { return @(AWSEC2VpcEndpointTypeInterface); } if ([value caseInsensitiveCompare:@"Gateway"] == NSOrderedSame) { return @(AWSEC2VpcEndpointTypeGateway); } if ([value caseInsensitiveCompare:@"GatewayLoadBalancer"] == NSOrderedSame) { return @(AWSEC2VpcEndpointTypeGatewayLoadBalancer); } return @(AWSEC2VpcEndpointTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VpcEndpointTypeInterface: return @"Interface"; case AWSEC2VpcEndpointTypeGateway: return @"Gateway"; case AWSEC2VpcEndpointTypeGatewayLoadBalancer: return @"GatewayLoadBalancer"; default: return nil; } }]; } @end @implementation AWSEC2CreateVpcEndpointResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"vpcEndpoint" : @"VpcEndpoint", }; } + (NSValueTransformer *)vpcEndpointJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpcEndpoint class]]; } @end @implementation AWSEC2CreateVpcEndpointServiceConfigurationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"acceptanceRequired" : @"AcceptanceRequired", @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"gatewayLoadBalancerArns" : @"GatewayLoadBalancerArns", @"networkLoadBalancerArns" : @"NetworkLoadBalancerArns", @"privateDnsName" : @"PrivateDnsName", @"supportedIpAddressTypes" : @"SupportedIpAddressTypes", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateVpcEndpointServiceConfigurationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"serviceConfiguration" : @"ServiceConfiguration", }; } + (NSValueTransformer *)serviceConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ServiceConfiguration class]]; } @end @implementation AWSEC2CreateVpcPeeringConnectionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"peerOwnerId" : @"PeerOwnerId", @"peerRegion" : @"PeerRegion", @"peerVpcId" : @"PeerVpcId", @"tagSpecifications" : @"TagSpecifications", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateVpcPeeringConnectionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpcPeeringConnection" : @"VpcPeeringConnection", }; } + (NSValueTransformer *)vpcPeeringConnectionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpcPeeringConnection class]]; } @end @implementation AWSEC2CreateVpcRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"amazonProvidedIpv6CidrBlock" : @"AmazonProvidedIpv6CidrBlock", @"cidrBlock" : @"CidrBlock", @"dryRun" : @"DryRun", @"instanceTenancy" : @"InstanceTenancy", @"ipv4IpamPoolId" : @"Ipv4IpamPoolId", @"ipv4NetmaskLength" : @"Ipv4NetmaskLength", @"ipv6CidrBlock" : @"Ipv6CidrBlock", @"ipv6CidrBlockNetworkBorderGroup" : @"Ipv6CidrBlockNetworkBorderGroup", @"ipv6IpamPoolId" : @"Ipv6IpamPoolId", @"ipv6NetmaskLength" : @"Ipv6NetmaskLength", @"ipv6Pool" : @"Ipv6Pool", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)instanceTenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2TenancyDefault); } if ([value caseInsensitiveCompare:@"dedicated"] == NSOrderedSame) { return @(AWSEC2TenancyDedicated); } if ([value caseInsensitiveCompare:@"host"] == NSOrderedSame) { return @(AWSEC2TenancyHost); } return @(AWSEC2TenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TenancyDefault: return @"default"; case AWSEC2TenancyDedicated: return @"dedicated"; case AWSEC2TenancyHost: return @"host"; default: return nil; } }]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateVpcResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpc" : @"Vpc", }; } + (NSValueTransformer *)vpcJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Vpc class]]; } @end @implementation AWSEC2CreateVpnConnectionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"customerGatewayId" : @"CustomerGatewayId", @"dryRun" : @"DryRun", @"options" : @"Options", @"tagSpecifications" : @"TagSpecifications", @"transitGatewayId" : @"TransitGatewayId", @"types" : @"Type", @"vpnGatewayId" : @"VpnGatewayId", }; } + (NSValueTransformer *)optionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpnConnectionOptionsSpecification class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2CreateVpnConnectionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpnConnection" : @"VpnConnection", }; } + (NSValueTransformer *)vpnConnectionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpnConnection class]]; } @end @implementation AWSEC2CreateVpnConnectionRouteRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationCidrBlock" : @"DestinationCidrBlock", @"vpnConnectionId" : @"VpnConnectionId", }; } @end @implementation AWSEC2CreateVpnGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"amazonSideAsn" : @"AmazonSideAsn", @"availabilityZone" : @"AvailabilityZone", @"dryRun" : @"DryRun", @"tagSpecifications" : @"TagSpecifications", @"types" : @"Type", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ipsec.1"] == NSOrderedSame) { return @(AWSEC2GatewayTypeIpsec1); } return @(AWSEC2GatewayTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2GatewayTypeIpsec1: return @"ipsec.1"; default: return nil; } }]; } @end @implementation AWSEC2CreateVpnGatewayResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpnGateway" : @"VpnGateway", }; } + (NSValueTransformer *)vpnGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpnGateway class]]; } @end @implementation AWSEC2CreditSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cpuCredits" : @"CpuCredits", }; } @end @implementation AWSEC2CreditSpecificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cpuCredits" : @"CpuCredits", }; } @end @implementation AWSEC2CustomerGateway + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bgpAsn" : @"BgpAsn", @"certificateArn" : @"CertificateArn", @"customerGatewayId" : @"CustomerGatewayId", @"deviceName" : @"DeviceName", @"ipAddress" : @"IpAddress", @"state" : @"State", @"tags" : @"Tags", @"types" : @"Type", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2DataQuery + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destination" : @"Destination", @"identifier" : @"Id", @"metric" : @"Metric", @"period" : @"Period", @"source" : @"Source", @"statistic" : @"Statistic", }; } + (NSValueTransformer *)metricJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"aggregate-latency"] == NSOrderedSame) { return @(AWSEC2MetricTypeAggregateLatency); } return @(AWSEC2MetricTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MetricTypeAggregateLatency: return @"aggregate-latency"; default: return nil; } }]; } + (NSValueTransformer *)periodJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"five-minutes"] == NSOrderedSame) { return @(AWSEC2PeriodTypeFiveMinutes); } if ([value caseInsensitiveCompare:@"fifteen-minutes"] == NSOrderedSame) { return @(AWSEC2PeriodTypeFifteenMinutes); } if ([value caseInsensitiveCompare:@"one-hour"] == NSOrderedSame) { return @(AWSEC2PeriodTypeOneHour); } if ([value caseInsensitiveCompare:@"three-hours"] == NSOrderedSame) { return @(AWSEC2PeriodTypeThreeHours); } if ([value caseInsensitiveCompare:@"one-day"] == NSOrderedSame) { return @(AWSEC2PeriodTypeOneDay); } if ([value caseInsensitiveCompare:@"one-week"] == NSOrderedSame) { return @(AWSEC2PeriodTypeOneWeek); } return @(AWSEC2PeriodTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PeriodTypeFiveMinutes: return @"five-minutes"; case AWSEC2PeriodTypeFifteenMinutes: return @"fifteen-minutes"; case AWSEC2PeriodTypeOneHour: return @"one-hour"; case AWSEC2PeriodTypeThreeHours: return @"three-hours"; case AWSEC2PeriodTypeOneDay: return @"one-day"; case AWSEC2PeriodTypeOneWeek: return @"one-week"; default: return nil; } }]; } + (NSValueTransformer *)statisticJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"p50"] == NSOrderedSame) { return @(AWSEC2StatisticTypeP50); } return @(AWSEC2StatisticTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2StatisticTypeP50: return @"p50"; default: return nil; } }]; } @end @implementation AWSEC2DataResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destination" : @"Destination", @"identifier" : @"Id", @"metric" : @"Metric", @"metricPoints" : @"MetricPoints", @"period" : @"Period", @"source" : @"Source", @"statistic" : @"Statistic", }; } + (NSValueTransformer *)metricJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"aggregate-latency"] == NSOrderedSame) { return @(AWSEC2MetricTypeAggregateLatency); } return @(AWSEC2MetricTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MetricTypeAggregateLatency: return @"aggregate-latency"; default: return nil; } }]; } + (NSValueTransformer *)metricPointsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2MetricPoint class]]; } + (NSValueTransformer *)periodJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"five-minutes"] == NSOrderedSame) { return @(AWSEC2PeriodTypeFiveMinutes); } if ([value caseInsensitiveCompare:@"fifteen-minutes"] == NSOrderedSame) { return @(AWSEC2PeriodTypeFifteenMinutes); } if ([value caseInsensitiveCompare:@"one-hour"] == NSOrderedSame) { return @(AWSEC2PeriodTypeOneHour); } if ([value caseInsensitiveCompare:@"three-hours"] == NSOrderedSame) { return @(AWSEC2PeriodTypeThreeHours); } if ([value caseInsensitiveCompare:@"one-day"] == NSOrderedSame) { return @(AWSEC2PeriodTypeOneDay); } if ([value caseInsensitiveCompare:@"one-week"] == NSOrderedSame) { return @(AWSEC2PeriodTypeOneWeek); } return @(AWSEC2PeriodTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PeriodTypeFiveMinutes: return @"five-minutes"; case AWSEC2PeriodTypeFifteenMinutes: return @"fifteen-minutes"; case AWSEC2PeriodTypeOneHour: return @"one-hour"; case AWSEC2PeriodTypeThreeHours: return @"three-hours"; case AWSEC2PeriodTypeOneDay: return @"one-day"; case AWSEC2PeriodTypeOneWeek: return @"one-week"; default: return nil; } }]; } + (NSValueTransformer *)statisticJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"p50"] == NSOrderedSame) { return @(AWSEC2StatisticTypeP50); } return @(AWSEC2StatisticTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2StatisticTypeP50: return @"p50"; default: return nil; } }]; } @end @implementation AWSEC2DeleteCarrierGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"carrierGatewayId" : @"CarrierGatewayId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DeleteCarrierGatewayResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"carrierGateway" : @"CarrierGateway", }; } + (NSValueTransformer *)carrierGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CarrierGateway class]]; } @end @implementation AWSEC2DeleteClientVpnEndpointRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DeleteClientVpnEndpointResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"status" : @"Status", }; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientVpnEndpointStatus class]]; } @end @implementation AWSEC2DeleteClientVpnRouteRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"destinationCidrBlock" : @"DestinationCidrBlock", @"dryRun" : @"DryRun", @"targetVpcSubnetId" : @"TargetVpcSubnetId", }; } @end @implementation AWSEC2DeleteClientVpnRouteResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"status" : @"Status", }; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientVpnRouteStatus class]]; } @end @implementation AWSEC2DeleteCoipCidrRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"coipPoolId" : @"CoipPoolId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DeleteCoipCidrResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"coipCidr" : @"CoipCidr", }; } + (NSValueTransformer *)coipCidrJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CoipCidr class]]; } @end @implementation AWSEC2DeleteCoipPoolRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"coipPoolId" : @"CoipPoolId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DeleteCoipPoolResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"coipPool" : @"CoipPool", }; } + (NSValueTransformer *)coipPoolJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CoipPool class]]; } @end @implementation AWSEC2DeleteCustomerGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"customerGatewayId" : @"CustomerGatewayId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DeleteDhcpOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dhcpOptionsId" : @"DhcpOptionsId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DeleteEgressOnlyInternetGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"egressOnlyInternetGatewayId" : @"EgressOnlyInternetGatewayId", }; } @end @implementation AWSEC2DeleteEgressOnlyInternetGatewayResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returnCode" : @"ReturnCode", }; } @end @implementation AWSEC2DeleteFleetError + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"fleetIdDoesNotExist"] == NSOrderedSame) { return @(AWSEC2DeleteFleetErrorCodeFleetIdDoesNotExist); } if ([value caseInsensitiveCompare:@"fleetIdMalformed"] == NSOrderedSame) { return @(AWSEC2DeleteFleetErrorCodeFleetIdMalformed); } if ([value caseInsensitiveCompare:@"fleetNotInDeletableState"] == NSOrderedSame) { return @(AWSEC2DeleteFleetErrorCodeFleetNotInDeletableState); } if ([value caseInsensitiveCompare:@"unexpectedError"] == NSOrderedSame) { return @(AWSEC2DeleteFleetErrorCodeUnexpectedError); } return @(AWSEC2DeleteFleetErrorCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DeleteFleetErrorCodeFleetIdDoesNotExist: return @"fleetIdDoesNotExist"; case AWSEC2DeleteFleetErrorCodeFleetIdMalformed: return @"fleetIdMalformed"; case AWSEC2DeleteFleetErrorCodeFleetNotInDeletableState: return @"fleetNotInDeletableState"; case AWSEC2DeleteFleetErrorCodeUnexpectedError: return @"unexpectedError"; default: return nil; } }]; } @end @implementation AWSEC2DeleteFleetErrorItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"error" : @"Error", @"fleetId" : @"FleetId", }; } + (NSValueTransformer *)errorJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DeleteFleetError class]]; } @end @implementation AWSEC2DeleteFleetSuccessItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"currentFleetState" : @"CurrentFleetState", @"fleetId" : @"FleetId", @"previousFleetState" : @"PreviousFleetState", }; } + (NSValueTransformer *)currentFleetStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"submitted"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeSubmitted); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeActive); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeDeleted); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeFailed); } if ([value caseInsensitiveCompare:@"deleted_running"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeDeletedRunning); } if ([value caseInsensitiveCompare:@"deleted_terminating"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeDeletedTerminating); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeModifying); } return @(AWSEC2FleetStateCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetStateCodeSubmitted: return @"submitted"; case AWSEC2FleetStateCodeActive: return @"active"; case AWSEC2FleetStateCodeDeleted: return @"deleted"; case AWSEC2FleetStateCodeFailed: return @"failed"; case AWSEC2FleetStateCodeDeletedRunning: return @"deleted_running"; case AWSEC2FleetStateCodeDeletedTerminating: return @"deleted_terminating"; case AWSEC2FleetStateCodeModifying: return @"modifying"; default: return nil; } }]; } + (NSValueTransformer *)previousFleetStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"submitted"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeSubmitted); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeActive); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeDeleted); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeFailed); } if ([value caseInsensitiveCompare:@"deleted_running"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeDeletedRunning); } if ([value caseInsensitiveCompare:@"deleted_terminating"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeDeletedTerminating); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeModifying); } return @(AWSEC2FleetStateCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetStateCodeSubmitted: return @"submitted"; case AWSEC2FleetStateCodeActive: return @"active"; case AWSEC2FleetStateCodeDeleted: return @"deleted"; case AWSEC2FleetStateCodeFailed: return @"failed"; case AWSEC2FleetStateCodeDeletedRunning: return @"deleted_running"; case AWSEC2FleetStateCodeDeletedTerminating: return @"deleted_terminating"; case AWSEC2FleetStateCodeModifying: return @"modifying"; default: return nil; } }]; } @end @implementation AWSEC2DeleteFleetsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"fleetIds" : @"FleetIds", @"terminateInstances" : @"TerminateInstances", }; } @end @implementation AWSEC2DeleteFleetsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"successfulFleetDeletions" : @"SuccessfulFleetDeletions", @"unsuccessfulFleetDeletions" : @"UnsuccessfulFleetDeletions", }; } + (NSValueTransformer *)successfulFleetDeletionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DeleteFleetSuccessItem class]]; } + (NSValueTransformer *)unsuccessfulFleetDeletionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DeleteFleetErrorItem class]]; } @end @implementation AWSEC2DeleteFlowLogsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"flowLogIds" : @"FlowLogIds", }; } @end @implementation AWSEC2DeleteFlowLogsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"unsuccessful" : @"Unsuccessful", }; } + (NSValueTransformer *)unsuccessfulJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2UnsuccessfulItem class]]; } @end @implementation AWSEC2DeleteFpgaImageRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"fpgaImageId" : @"FpgaImageId", }; } @end @implementation AWSEC2DeleteFpgaImageResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2DeleteInstanceConnectEndpointRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceConnectEndpointId" : @"InstanceConnectEndpointId", }; } @end @implementation AWSEC2DeleteInstanceConnectEndpointResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceConnectEndpoint" : @"InstanceConnectEndpoint", }; } + (NSValueTransformer *)instanceConnectEndpointJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Ec2InstanceConnectEndpoint class]]; } @end @implementation AWSEC2DeleteInstanceEventWindowRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"forceDelete" : @"ForceDelete", @"instanceEventWindowId" : @"InstanceEventWindowId", }; } @end @implementation AWSEC2DeleteInstanceEventWindowResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceEventWindowState" : @"InstanceEventWindowState", }; } + (NSValueTransformer *)instanceEventWindowStateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceEventWindowStateChange class]]; } @end @implementation AWSEC2DeleteInternetGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"internetGatewayId" : @"InternetGatewayId", }; } @end @implementation AWSEC2DeleteIpamPoolRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"ipamPoolId" : @"IpamPoolId", }; } @end @implementation AWSEC2DeleteIpamPoolResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamPool" : @"IpamPool", }; } + (NSValueTransformer *)ipamPoolJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamPool class]]; } @end @implementation AWSEC2DeleteIpamRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cascade" : @"Cascade", @"dryRun" : @"DryRun", @"ipamId" : @"IpamId", }; } @end @implementation AWSEC2DeleteIpamResourceDiscoveryRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"ipamResourceDiscoveryId" : @"IpamResourceDiscoveryId", }; } @end @implementation AWSEC2DeleteIpamResourceDiscoveryResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamResourceDiscovery" : @"IpamResourceDiscovery", }; } + (NSValueTransformer *)ipamResourceDiscoveryJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamResourceDiscovery class]]; } @end @implementation AWSEC2DeleteIpamResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipam" : @"Ipam", }; } + (NSValueTransformer *)ipamJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Ipam class]]; } @end @implementation AWSEC2DeleteIpamScopeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"ipamScopeId" : @"IpamScopeId", }; } @end @implementation AWSEC2DeleteIpamScopeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamScope" : @"IpamScope", }; } + (NSValueTransformer *)ipamScopeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamScope class]]; } @end @implementation AWSEC2DeleteKeyPairRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"keyName" : @"KeyName", @"keyPairId" : @"KeyPairId", }; } @end @implementation AWSEC2DeleteLaunchTemplateRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"launchTemplateId" : @"LaunchTemplateId", @"launchTemplateName" : @"LaunchTemplateName", }; } @end @implementation AWSEC2DeleteLaunchTemplateResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplate" : @"LaunchTemplate", }; } + (NSValueTransformer *)launchTemplateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplate class]]; } @end @implementation AWSEC2DeleteLaunchTemplateVersionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"launchTemplateId" : @"LaunchTemplateId", @"launchTemplateName" : @"LaunchTemplateName", @"versions" : @"Versions", }; } @end @implementation AWSEC2DeleteLaunchTemplateVersionsResponseErrorItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplateId" : @"LaunchTemplateId", @"launchTemplateName" : @"LaunchTemplateName", @"responseError" : @"ResponseError", @"versionNumber" : @"VersionNumber", }; } + (NSValueTransformer *)responseErrorJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ResponseError class]]; } @end @implementation AWSEC2DeleteLaunchTemplateVersionsResponseSuccessItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplateId" : @"LaunchTemplateId", @"launchTemplateName" : @"LaunchTemplateName", @"versionNumber" : @"VersionNumber", }; } @end @implementation AWSEC2DeleteLaunchTemplateVersionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"successfullyDeletedLaunchTemplateVersions" : @"SuccessfullyDeletedLaunchTemplateVersions", @"unsuccessfullyDeletedLaunchTemplateVersions" : @"UnsuccessfullyDeletedLaunchTemplateVersions", }; } + (NSValueTransformer *)successfullyDeletedLaunchTemplateVersionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DeleteLaunchTemplateVersionsResponseSuccessItem class]]; } + (NSValueTransformer *)unsuccessfullyDeletedLaunchTemplateVersionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DeleteLaunchTemplateVersionsResponseErrorItem class]]; } @end @implementation AWSEC2DeleteLocalGatewayRouteRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationCidrBlock" : @"DestinationCidrBlock", @"destinationPrefixListId" : @"DestinationPrefixListId", @"dryRun" : @"DryRun", @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", }; } @end @implementation AWSEC2DeleteLocalGatewayRouteResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"route" : @"Route", }; } + (NSValueTransformer *)routeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LocalGatewayRoute class]]; } @end @implementation AWSEC2DeleteLocalGatewayRouteTableRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", }; } @end @implementation AWSEC2DeleteLocalGatewayRouteTableResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayRouteTable" : @"LocalGatewayRouteTable", }; } + (NSValueTransformer *)localGatewayRouteTableJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LocalGatewayRouteTable class]]; } @end @implementation AWSEC2DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"localGatewayRouteTableVirtualInterfaceGroupAssociationId" : @"LocalGatewayRouteTableVirtualInterfaceGroupAssociationId", }; } @end @implementation AWSEC2DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayRouteTableVirtualInterfaceGroupAssociation" : @"LocalGatewayRouteTableVirtualInterfaceGroupAssociation", }; } + (NSValueTransformer *)localGatewayRouteTableVirtualInterfaceGroupAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LocalGatewayRouteTableVirtualInterfaceGroupAssociation class]]; } @end @implementation AWSEC2DeleteLocalGatewayRouteTableVpcAssociationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"localGatewayRouteTableVpcAssociationId" : @"LocalGatewayRouteTableVpcAssociationId", }; } @end @implementation AWSEC2DeleteLocalGatewayRouteTableVpcAssociationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayRouteTableVpcAssociation" : @"LocalGatewayRouteTableVpcAssociation", }; } + (NSValueTransformer *)localGatewayRouteTableVpcAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LocalGatewayRouteTableVpcAssociation class]]; } @end @implementation AWSEC2DeleteManagedPrefixListRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"prefixListId" : @"PrefixListId", }; } @end @implementation AWSEC2DeleteManagedPrefixListResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"prefixList" : @"PrefixList", }; } + (NSValueTransformer *)prefixListJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ManagedPrefixList class]]; } @end @implementation AWSEC2DeleteNatGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"natGatewayId" : @"NatGatewayId", }; } @end @implementation AWSEC2DeleteNatGatewayResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"natGatewayId" : @"NatGatewayId", }; } @end @implementation AWSEC2DeleteNetworkAclEntryRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"egress" : @"Egress", @"networkAclId" : @"NetworkAclId", @"ruleNumber" : @"RuleNumber", }; } @end @implementation AWSEC2DeleteNetworkAclRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"networkAclId" : @"NetworkAclId", }; } @end @implementation AWSEC2DeleteNetworkInsightsAccessScopeAnalysisRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"networkInsightsAccessScopeAnalysisId" : @"NetworkInsightsAccessScopeAnalysisId", }; } @end @implementation AWSEC2DeleteNetworkInsightsAccessScopeAnalysisResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInsightsAccessScopeAnalysisId" : @"NetworkInsightsAccessScopeAnalysisId", }; } @end @implementation AWSEC2DeleteNetworkInsightsAccessScopeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"networkInsightsAccessScopeId" : @"NetworkInsightsAccessScopeId", }; } @end @implementation AWSEC2DeleteNetworkInsightsAccessScopeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInsightsAccessScopeId" : @"NetworkInsightsAccessScopeId", }; } @end @implementation AWSEC2DeleteNetworkInsightsAnalysisRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"networkInsightsAnalysisId" : @"NetworkInsightsAnalysisId", }; } @end @implementation AWSEC2DeleteNetworkInsightsAnalysisResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInsightsAnalysisId" : @"NetworkInsightsAnalysisId", }; } @end @implementation AWSEC2DeleteNetworkInsightsPathRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"networkInsightsPathId" : @"NetworkInsightsPathId", }; } @end @implementation AWSEC2DeleteNetworkInsightsPathResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInsightsPathId" : @"NetworkInsightsPathId", }; } @end @implementation AWSEC2DeleteNetworkInterfacePermissionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"force" : @"Force", @"networkInterfacePermissionId" : @"NetworkInterfacePermissionId", }; } @end @implementation AWSEC2DeleteNetworkInterfacePermissionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2DeleteNetworkInterfaceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"networkInterfaceId" : @"NetworkInterfaceId", }; } @end @implementation AWSEC2DeletePlacementGroupRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"groupName" : @"GroupName", }; } @end @implementation AWSEC2DeletePublicIpv4PoolRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"poolId" : @"PoolId", }; } @end @implementation AWSEC2DeletePublicIpv4PoolResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returnValue" : @"ReturnValue", }; } @end @implementation AWSEC2DeleteQueuedReservedInstancesError + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"reserved-instances-id-invalid"] == NSOrderedSame) { return @(AWSEC2DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid); } if ([value caseInsensitiveCompare:@"reserved-instances-not-in-queued-state"] == NSOrderedSame) { return @(AWSEC2DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState); } if ([value caseInsensitiveCompare:@"unexpected-error"] == NSOrderedSame) { return @(AWSEC2DeleteQueuedReservedInstancesErrorCodeUnexpectedError); } return @(AWSEC2DeleteQueuedReservedInstancesErrorCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DeleteQueuedReservedInstancesErrorCodeReservedInstancesIdInvalid: return @"reserved-instances-id-invalid"; case AWSEC2DeleteQueuedReservedInstancesErrorCodeReservedInstancesNotInQueuedState: return @"reserved-instances-not-in-queued-state"; case AWSEC2DeleteQueuedReservedInstancesErrorCodeUnexpectedError: return @"unexpected-error"; default: return nil; } }]; } @end @implementation AWSEC2DeleteQueuedReservedInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"reservedInstancesIds" : @"ReservedInstancesIds", }; } @end @implementation AWSEC2DeleteQueuedReservedInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"failedQueuedPurchaseDeletions" : @"FailedQueuedPurchaseDeletions", @"successfulQueuedPurchaseDeletions" : @"SuccessfulQueuedPurchaseDeletions", }; } + (NSValueTransformer *)failedQueuedPurchaseDeletionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2FailedQueuedPurchaseDeletion class]]; } + (NSValueTransformer *)successfulQueuedPurchaseDeletionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SuccessfulQueuedPurchaseDeletion class]]; } @end @implementation AWSEC2DeleteRouteRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationCidrBlock" : @"DestinationCidrBlock", @"destinationIpv6CidrBlock" : @"DestinationIpv6CidrBlock", @"destinationPrefixListId" : @"DestinationPrefixListId", @"dryRun" : @"DryRun", @"routeTableId" : @"RouteTableId", }; } @end @implementation AWSEC2DeleteRouteTableRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"routeTableId" : @"RouteTableId", }; } @end @implementation AWSEC2DeleteSecurityGroupRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"groupId" : @"GroupId", @"groupName" : @"GroupName", }; } @end @implementation AWSEC2DeleteSnapshotRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"snapshotId" : @"SnapshotId", }; } @end @implementation AWSEC2DeleteSpotDatafeedSubscriptionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DeleteSubnetCidrReservationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"subnetCidrReservationId" : @"SubnetCidrReservationId", }; } @end @implementation AWSEC2DeleteSubnetCidrReservationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deletedSubnetCidrReservation" : @"DeletedSubnetCidrReservation", }; } + (NSValueTransformer *)deletedSubnetCidrReservationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SubnetCidrReservation class]]; } @end @implementation AWSEC2DeleteSubnetRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"subnetId" : @"SubnetId", }; } @end @implementation AWSEC2DeleteTagsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"resources" : @"Resources", @"tags" : @"Tags", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2DeleteTrafficMirrorFilterRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"trafficMirrorFilterId" : @"TrafficMirrorFilterId", }; } @end @implementation AWSEC2DeleteTrafficMirrorFilterResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"trafficMirrorFilterId" : @"TrafficMirrorFilterId", }; } @end @implementation AWSEC2DeleteTrafficMirrorFilterRuleRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"trafficMirrorFilterRuleId" : @"TrafficMirrorFilterRuleId", }; } @end @implementation AWSEC2DeleteTrafficMirrorFilterRuleResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"trafficMirrorFilterRuleId" : @"TrafficMirrorFilterRuleId", }; } @end @implementation AWSEC2DeleteTrafficMirrorSessionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"trafficMirrorSessionId" : @"TrafficMirrorSessionId", }; } @end @implementation AWSEC2DeleteTrafficMirrorSessionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"trafficMirrorSessionId" : @"TrafficMirrorSessionId", }; } @end @implementation AWSEC2DeleteTrafficMirrorTargetRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"trafficMirrorTargetId" : @"TrafficMirrorTargetId", }; } @end @implementation AWSEC2DeleteTrafficMirrorTargetResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"trafficMirrorTargetId" : @"TrafficMirrorTargetId", }; } @end @implementation AWSEC2DeleteTransitGatewayConnectPeerRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayConnectPeerId" : @"TransitGatewayConnectPeerId", }; } @end @implementation AWSEC2DeleteTransitGatewayConnectPeerResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayConnectPeer" : @"TransitGatewayConnectPeer", }; } + (NSValueTransformer *)transitGatewayConnectPeerJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayConnectPeer class]]; } @end @implementation AWSEC2DeleteTransitGatewayConnectRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } @end @implementation AWSEC2DeleteTransitGatewayConnectResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayConnect" : @"TransitGatewayConnect", }; } + (NSValueTransformer *)transitGatewayConnectJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayConnect class]]; } @end @implementation AWSEC2DeleteTransitGatewayMulticastDomainRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } @end @implementation AWSEC2DeleteTransitGatewayMulticastDomainResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayMulticastDomain" : @"TransitGatewayMulticastDomain", }; } + (NSValueTransformer *)transitGatewayMulticastDomainJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayMulticastDomain class]]; } @end @implementation AWSEC2DeleteTransitGatewayPeeringAttachmentRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } @end @implementation AWSEC2DeleteTransitGatewayPeeringAttachmentResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayPeeringAttachment" : @"TransitGatewayPeeringAttachment", }; } + (NSValueTransformer *)transitGatewayPeeringAttachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPeeringAttachment class]]; } @end @implementation AWSEC2DeleteTransitGatewayPolicyTableRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayPolicyTableId" : @"TransitGatewayPolicyTableId", }; } @end @implementation AWSEC2DeleteTransitGatewayPolicyTableResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayPolicyTable" : @"TransitGatewayPolicyTable", }; } + (NSValueTransformer *)transitGatewayPolicyTableJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPolicyTable class]]; } @end @implementation AWSEC2DeleteTransitGatewayPrefixListReferenceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"prefixListId" : @"PrefixListId", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } @end @implementation AWSEC2DeleteTransitGatewayPrefixListReferenceResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayPrefixListReference" : @"TransitGatewayPrefixListReference", }; } + (NSValueTransformer *)transitGatewayPrefixListReferenceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPrefixListReference class]]; } @end @implementation AWSEC2DeleteTransitGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayId" : @"TransitGatewayId", }; } @end @implementation AWSEC2DeleteTransitGatewayResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGateway" : @"TransitGateway", }; } + (NSValueTransformer *)transitGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGateway class]]; } @end @implementation AWSEC2DeleteTransitGatewayRouteRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationCidrBlock" : @"DestinationCidrBlock", @"dryRun" : @"DryRun", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } @end @implementation AWSEC2DeleteTransitGatewayRouteResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"route" : @"Route", }; } + (NSValueTransformer *)routeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayRoute class]]; } @end @implementation AWSEC2DeleteTransitGatewayRouteTableAnnouncementRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayRouteTableAnnouncementId" : @"TransitGatewayRouteTableAnnouncementId", }; } @end @implementation AWSEC2DeleteTransitGatewayRouteTableAnnouncementResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayRouteTableAnnouncement" : @"TransitGatewayRouteTableAnnouncement", }; } + (NSValueTransformer *)transitGatewayRouteTableAnnouncementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayRouteTableAnnouncement class]]; } @end @implementation AWSEC2DeleteTransitGatewayRouteTableRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } @end @implementation AWSEC2DeleteTransitGatewayRouteTableResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayRouteTable" : @"TransitGatewayRouteTable", }; } + (NSValueTransformer *)transitGatewayRouteTableJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayRouteTable class]]; } @end @implementation AWSEC2DeleteTransitGatewayVpcAttachmentRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } @end @implementation AWSEC2DeleteTransitGatewayVpcAttachmentResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayVpcAttachment" : @"TransitGatewayVpcAttachment", }; } + (NSValueTransformer *)transitGatewayVpcAttachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayVpcAttachment class]]; } @end @implementation AWSEC2DeleteVerifiedAccessEndpointRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"verifiedAccessEndpointId" : @"VerifiedAccessEndpointId", }; } @end @implementation AWSEC2DeleteVerifiedAccessEndpointResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"verifiedAccessEndpoint" : @"VerifiedAccessEndpoint", }; } + (NSValueTransformer *)verifiedAccessEndpointJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessEndpoint class]]; } @end @implementation AWSEC2DeleteVerifiedAccessGroupRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"verifiedAccessGroupId" : @"VerifiedAccessGroupId", }; } @end @implementation AWSEC2DeleteVerifiedAccessGroupResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"verifiedAccessGroup" : @"VerifiedAccessGroup", }; } + (NSValueTransformer *)verifiedAccessGroupJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessGroup class]]; } @end @implementation AWSEC2DeleteVerifiedAccessInstanceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"verifiedAccessInstanceId" : @"VerifiedAccessInstanceId", }; } @end @implementation AWSEC2DeleteVerifiedAccessInstanceResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"verifiedAccessInstance" : @"VerifiedAccessInstance", }; } + (NSValueTransformer *)verifiedAccessInstanceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessInstance class]]; } @end @implementation AWSEC2DeleteVerifiedAccessTrustProviderRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"verifiedAccessTrustProviderId" : @"VerifiedAccessTrustProviderId", }; } @end @implementation AWSEC2DeleteVerifiedAccessTrustProviderResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"verifiedAccessTrustProvider" : @"VerifiedAccessTrustProvider", }; } + (NSValueTransformer *)verifiedAccessTrustProviderJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessTrustProvider class]]; } @end @implementation AWSEC2DeleteVolumeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"volumeId" : @"VolumeId", }; } @end @implementation AWSEC2DeleteVpcEndpointConnectionNotificationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"connectionNotificationIds" : @"ConnectionNotificationIds", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DeleteVpcEndpointConnectionNotificationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"unsuccessful" : @"Unsuccessful", }; } + (NSValueTransformer *)unsuccessfulJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2UnsuccessfulItem class]]; } @end @implementation AWSEC2DeleteVpcEndpointServiceConfigurationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"serviceIds" : @"ServiceIds", }; } @end @implementation AWSEC2DeleteVpcEndpointServiceConfigurationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"unsuccessful" : @"Unsuccessful", }; } + (NSValueTransformer *)unsuccessfulJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2UnsuccessfulItem class]]; } @end @implementation AWSEC2DeleteVpcEndpointsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"vpcEndpointIds" : @"VpcEndpointIds", }; } @end @implementation AWSEC2DeleteVpcEndpointsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"unsuccessful" : @"Unsuccessful", }; } + (NSValueTransformer *)unsuccessfulJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2UnsuccessfulItem class]]; } @end @implementation AWSEC2DeleteVpcPeeringConnectionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"vpcPeeringConnectionId" : @"VpcPeeringConnectionId", }; } @end @implementation AWSEC2DeleteVpcPeeringConnectionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2DeleteVpcRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"vpcId" : @"VpcId", }; } @end @implementation AWSEC2DeleteVpnConnectionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"vpnConnectionId" : @"VpnConnectionId", }; } @end @implementation AWSEC2DeleteVpnConnectionRouteRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationCidrBlock" : @"DestinationCidrBlock", @"vpnConnectionId" : @"VpnConnectionId", }; } @end @implementation AWSEC2DeleteVpnGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"vpnGatewayId" : @"VpnGatewayId", }; } @end @implementation AWSEC2DeprovisionByoipCidrRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DeprovisionByoipCidrResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"byoipCidr" : @"ByoipCidr", }; } + (NSValueTransformer *)byoipCidrJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ByoipCidr class]]; } @end @implementation AWSEC2DeprovisionIpamPoolCidrRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"dryRun" : @"DryRun", @"ipamPoolId" : @"IpamPoolId", }; } @end @implementation AWSEC2DeprovisionIpamPoolCidrResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamPoolCidr" : @"IpamPoolCidr", }; } + (NSValueTransformer *)ipamPoolCidrJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamPoolCidr class]]; } @end @implementation AWSEC2DeprovisionPublicIpv4PoolCidrRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"dryRun" : @"DryRun", @"poolId" : @"PoolId", }; } @end @implementation AWSEC2DeprovisionPublicIpv4PoolCidrResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deprovisionedAddresses" : @"DeprovisionedAddresses", @"poolId" : @"PoolId", }; } @end @implementation AWSEC2DeregisterImageRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"imageId" : @"ImageId", }; } @end @implementation AWSEC2DeregisterInstanceEventNotificationAttributesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceTagAttribute" : @"InstanceTagAttribute", }; } + (NSValueTransformer *)instanceTagAttributeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DeregisterInstanceTagAttributeRequest class]]; } @end @implementation AWSEC2DeregisterInstanceEventNotificationAttributesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceTagAttribute" : @"InstanceTagAttribute", }; } + (NSValueTransformer *)instanceTagAttributeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceTagNotificationAttribute class]]; } @end @implementation AWSEC2DeregisterInstanceTagAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"includeAllTagsOfInstance" : @"IncludeAllTagsOfInstance", @"instanceTagKeys" : @"InstanceTagKeys", }; } @end @implementation AWSEC2DeregisterTransitGatewayMulticastGroupMembersRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"groupIpAddress" : @"GroupIpAddress", @"networkInterfaceIds" : @"NetworkInterfaceIds", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } @end @implementation AWSEC2DeregisterTransitGatewayMulticastGroupMembersResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deregisteredMulticastGroupMembers" : @"DeregisteredMulticastGroupMembers", }; } + (NSValueTransformer *)deregisteredMulticastGroupMembersJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayMulticastDeregisteredGroupMembers class]]; } @end @implementation AWSEC2DeregisterTransitGatewayMulticastGroupSourcesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"groupIpAddress" : @"GroupIpAddress", @"networkInterfaceIds" : @"NetworkInterfaceIds", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } @end @implementation AWSEC2DeregisterTransitGatewayMulticastGroupSourcesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deregisteredMulticastGroupSources" : @"DeregisteredMulticastGroupSources", }; } + (NSValueTransformer *)deregisteredMulticastGroupSourcesJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayMulticastDeregisteredGroupSources class]]; } @end @implementation AWSEC2DescribeAccountAttributesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attributeNames" : @"AttributeNames", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DescribeAccountAttributesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"accountAttributes" : @"AccountAttributes", }; } + (NSValueTransformer *)accountAttributesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AccountAttribute class]]; } @end @implementation AWSEC2DescribeAddressTransfersRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationIds" : @"AllocationIds", @"dryRun" : @"DryRun", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } @end @implementation AWSEC2DescribeAddressTransfersResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addressTransfers" : @"AddressTransfers", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)addressTransfersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AddressTransfer class]]; } @end @implementation AWSEC2DescribeAddressesAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationIds" : @"AllocationIds", @"attribute" : @"Attribute", @"dryRun" : @"DryRun", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"domain-name"] == NSOrderedSame) { return @(AWSEC2AddressAttributeNameDomainName); } return @(AWSEC2AddressAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AddressAttributeNameDomainName: return @"domain-name"; default: return nil; } }]; } @end @implementation AWSEC2DescribeAddressesAttributeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addresses" : @"Addresses", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)addressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AddressAttribute class]]; } @end @implementation AWSEC2DescribeAddressesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationIds" : @"AllocationIds", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"publicIps" : @"PublicIps", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeAddressesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addresses" : @"Addresses", }; } + (NSValueTransformer *)addressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Address class]]; } @end @implementation AWSEC2DescribeAggregateIdFormatRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DescribeAggregateIdFormatResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"statuses" : @"Statuses", @"useLongIdsAggregated" : @"UseLongIdsAggregated", }; } + (NSValueTransformer *)statusesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IdFormat class]]; } @end @implementation AWSEC2DescribeAvailabilityZonesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allAvailabilityZones" : @"AllAvailabilityZones", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"zoneIds" : @"ZoneIds", @"zoneNames" : @"ZoneNames", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeAvailabilityZonesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZones" : @"AvailabilityZones", }; } + (NSValueTransformer *)availabilityZonesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AvailabilityZone class]]; } @end @implementation AWSEC2DescribeAwsNetworkPerformanceMetricSubscriptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeAwsNetworkPerformanceMetricSubscriptionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"subscriptions" : @"Subscriptions", }; } + (NSValueTransformer *)subscriptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Subscription class]]; } @end @implementation AWSEC2DescribeBundleTasksRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bundleIds" : @"BundleIds", @"dryRun" : @"DryRun", @"filters" : @"Filters", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeBundleTasksResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bundleTasks" : @"BundleTasks", }; } + (NSValueTransformer *)bundleTasksJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2BundleTask class]]; } @end @implementation AWSEC2DescribeByoipCidrsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } @end @implementation AWSEC2DescribeByoipCidrsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"byoipCidrs" : @"ByoipCidrs", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)byoipCidrsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ByoipCidr class]]; } @end @implementation AWSEC2DescribeCapacityReservationFleetsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationFleetIds" : @"CapacityReservationFleetIds", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeCapacityReservationFleetsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationFleets" : @"CapacityReservationFleets", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)capacityReservationFleetsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CapacityReservationFleet class]]; } @end @implementation AWSEC2DescribeCapacityReservationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationIds" : @"CapacityReservationIds", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeCapacityReservationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservations" : @"CapacityReservations", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)capacityReservationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CapacityReservation class]]; } @end @implementation AWSEC2DescribeCarrierGatewaysRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"carrierGatewayIds" : @"CarrierGatewayIds", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeCarrierGatewaysResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"carrierGateways" : @"CarrierGateways", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)carrierGatewaysJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CarrierGateway class]]; } @end @implementation AWSEC2DescribeClassicLinkInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"instanceIds" : @"InstanceIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeClassicLinkInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instances" : @"Instances", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)instancesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ClassicLinkInstance class]]; } @end @implementation AWSEC2DescribeClientVpnAuthorizationRulesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeClientVpnAuthorizationRulesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"authorizationRules" : @"AuthorizationRules", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)authorizationRulesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AuthorizationRule class]]; } @end @implementation AWSEC2DescribeClientVpnConnectionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeClientVpnConnectionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"connections" : @"Connections", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)connectionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ClientVpnConnection class]]; } @end @implementation AWSEC2DescribeClientVpnEndpointsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientVpnEndpointIds" : @"ClientVpnEndpointIds", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeClientVpnEndpointsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientVpnEndpoints" : @"ClientVpnEndpoints", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)clientVpnEndpointsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ClientVpnEndpoint class]]; } @end @implementation AWSEC2DescribeClientVpnRoutesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeClientVpnRoutesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"routes" : @"Routes", }; } + (NSValueTransformer *)routesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ClientVpnRoute class]]; } @end @implementation AWSEC2DescribeClientVpnTargetNetworksRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationIds" : @"AssociationIds", @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeClientVpnTargetNetworksResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientVpnTargetNetworks" : @"ClientVpnTargetNetworks", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)clientVpnTargetNetworksJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TargetNetwork class]]; } @end @implementation AWSEC2DescribeCoipPoolsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"poolIds" : @"PoolIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeCoipPoolsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"coipPools" : @"CoipPools", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)coipPoolsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CoipPool class]]; } @end @implementation AWSEC2DescribeConversionTasksRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"conversionTaskIds" : @"ConversionTaskIds", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DescribeConversionTasksResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"conversionTasks" : @"ConversionTasks", }; } + (NSValueTransformer *)conversionTasksJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ConversionTask class]]; } @end @implementation AWSEC2DescribeCustomerGatewaysRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"customerGatewayIds" : @"CustomerGatewayIds", @"dryRun" : @"DryRun", @"filters" : @"Filters", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeCustomerGatewaysResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"customerGateways" : @"CustomerGateways", }; } + (NSValueTransformer *)customerGatewaysJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CustomerGateway class]]; } @end @implementation AWSEC2DescribeDhcpOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dhcpOptionsIds" : @"DhcpOptionsIds", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeDhcpOptionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dhcpOptions" : @"DhcpOptions", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)dhcpOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DhcpOptions class]]; } @end @implementation AWSEC2DescribeEgressOnlyInternetGatewaysRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"egressOnlyInternetGatewayIds" : @"EgressOnlyInternetGatewayIds", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeEgressOnlyInternetGatewaysResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"egressOnlyInternetGateways" : @"EgressOnlyInternetGateways", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)egressOnlyInternetGatewaysJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2EgressOnlyInternetGateway class]]; } @end @implementation AWSEC2DescribeElasticGpusRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"elasticGpuIds" : @"ElasticGpuIds", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeElasticGpusResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"elasticGpuSet" : @"ElasticGpuSet", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)elasticGpuSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ElasticGpus class]]; } @end @implementation AWSEC2DescribeExportImageTasksRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"exportImageTaskIds" : @"ExportImageTaskIds", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeExportImageTasksResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"exportImageTasks" : @"ExportImageTasks", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)exportImageTasksJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ExportImageTask class]]; } @end @implementation AWSEC2DescribeExportTasksRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"exportTaskIds" : @"ExportTaskIds", @"filters" : @"Filters", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeExportTasksResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"exportTasks" : @"ExportTasks", }; } + (NSValueTransformer *)exportTasksJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ExportTask class]]; } @end @implementation AWSEC2DescribeFastLaunchImagesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"imageIds" : @"ImageIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeFastLaunchImagesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fastLaunchImages" : @"FastLaunchImages", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)fastLaunchImagesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DescribeFastLaunchImagesSuccessItem class]]; } @end @implementation AWSEC2DescribeFastLaunchImagesSuccessItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"imageId" : @"ImageId", @"launchTemplate" : @"LaunchTemplate", @"maxParallelLaunches" : @"MaxParallelLaunches", @"ownerId" : @"OwnerId", @"resourceType" : @"ResourceType", @"snapshotConfiguration" : @"SnapshotConfiguration", @"state" : @"State", @"stateTransitionReason" : @"StateTransitionReason", @"stateTransitionTime" : @"StateTransitionTime", }; } + (NSValueTransformer *)launchTemplateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FastLaunchLaunchTemplateSpecificationResponse class]]; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"snapshot"] == NSOrderedSame) { return @(AWSEC2FastLaunchResourceTypeSnapshot); } return @(AWSEC2FastLaunchResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FastLaunchResourceTypeSnapshot: return @"snapshot"; default: return nil; } }]; } + (NSValueTransformer *)snapshotConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FastLaunchSnapshotConfigurationResponse class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enabling"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeEnabling); } if ([value caseInsensitiveCompare:@"enabling-failed"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeEnablingFailed); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeEnabled); } if ([value caseInsensitiveCompare:@"enabled-failed"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeEnabledFailed); } if ([value caseInsensitiveCompare:@"disabling"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeDisabling); } if ([value caseInsensitiveCompare:@"disabling-failed"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeDisablingFailed); } return @(AWSEC2FastLaunchStateCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FastLaunchStateCodeEnabling: return @"enabling"; case AWSEC2FastLaunchStateCodeEnablingFailed: return @"enabling-failed"; case AWSEC2FastLaunchStateCodeEnabled: return @"enabled"; case AWSEC2FastLaunchStateCodeEnabledFailed: return @"enabled-failed"; case AWSEC2FastLaunchStateCodeDisabling: return @"disabling"; case AWSEC2FastLaunchStateCodeDisablingFailed: return @"disabling-failed"; default: return nil; } }]; } + (NSValueTransformer *)stateTransitionTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2DescribeFastSnapshotRestoreSuccessItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"disabledTime" : @"DisabledTime", @"disablingTime" : @"DisablingTime", @"enabledTime" : @"EnabledTime", @"enablingTime" : @"EnablingTime", @"optimizingTime" : @"OptimizingTime", @"ownerAlias" : @"OwnerAlias", @"ownerId" : @"OwnerId", @"snapshotId" : @"SnapshotId", @"state" : @"State", @"stateTransitionReason" : @"StateTransitionReason", }; } + (NSValueTransformer *)disabledTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)disablingTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)enabledTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)enablingTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)optimizingTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enabling"] == NSOrderedSame) { return @(AWSEC2FastSnapshotRestoreStateCodeEnabling); } if ([value caseInsensitiveCompare:@"optimizing"] == NSOrderedSame) { return @(AWSEC2FastSnapshotRestoreStateCodeOptimizing); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2FastSnapshotRestoreStateCodeEnabled); } if ([value caseInsensitiveCompare:@"disabling"] == NSOrderedSame) { return @(AWSEC2FastSnapshotRestoreStateCodeDisabling); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2FastSnapshotRestoreStateCodeDisabled); } return @(AWSEC2FastSnapshotRestoreStateCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FastSnapshotRestoreStateCodeEnabling: return @"enabling"; case AWSEC2FastSnapshotRestoreStateCodeOptimizing: return @"optimizing"; case AWSEC2FastSnapshotRestoreStateCodeEnabled: return @"enabled"; case AWSEC2FastSnapshotRestoreStateCodeDisabling: return @"disabling"; case AWSEC2FastSnapshotRestoreStateCodeDisabled: return @"disabled"; default: return nil; } }]; } @end @implementation AWSEC2DescribeFastSnapshotRestoresRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeFastSnapshotRestoresResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fastSnapshotRestores" : @"FastSnapshotRestores", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)fastSnapshotRestoresJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DescribeFastSnapshotRestoreSuccessItem class]]; } @end @implementation AWSEC2DescribeFleetError + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"errorCode" : @"ErrorCode", @"errorMessage" : @"ErrorMessage", @"launchTemplateAndOverrides" : @"LaunchTemplateAndOverrides", @"lifecycle" : @"Lifecycle", }; } + (NSValueTransformer *)launchTemplateAndOverridesJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateAndOverridesResponse class]]; } + (NSValueTransformer *)lifecycleJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"spot"] == NSOrderedSame) { return @(AWSEC2InstanceLifecycleSpot); } if ([value caseInsensitiveCompare:@"on-demand"] == NSOrderedSame) { return @(AWSEC2InstanceLifecycleOnDemand); } return @(AWSEC2InstanceLifecycleUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceLifecycleSpot: return @"spot"; case AWSEC2InstanceLifecycleOnDemand: return @"on-demand"; default: return nil; } }]; } @end @implementation AWSEC2DescribeFleetHistoryRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"eventType" : @"EventType", @"fleetId" : @"FleetId", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"startTime" : @"StartTime", }; } + (NSValueTransformer *)eventTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"instance-change"] == NSOrderedSame) { return @(AWSEC2FleetEventTypeInstanceChange); } if ([value caseInsensitiveCompare:@"fleet-change"] == NSOrderedSame) { return @(AWSEC2FleetEventTypeFleetChange); } if ([value caseInsensitiveCompare:@"service-error"] == NSOrderedSame) { return @(AWSEC2FleetEventTypeServiceError); } return @(AWSEC2FleetEventTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetEventTypeInstanceChange: return @"instance-change"; case AWSEC2FleetEventTypeFleetChange: return @"fleet-change"; case AWSEC2FleetEventTypeServiceError: return @"service-error"; default: return nil; } }]; } + (NSValueTransformer *)startTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2DescribeFleetHistoryResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fleetId" : @"FleetId", @"historyRecords" : @"HistoryRecords", @"lastEvaluatedTime" : @"LastEvaluatedTime", @"nextToken" : @"NextToken", @"startTime" : @"StartTime", }; } + (NSValueTransformer *)historyRecordsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2HistoryRecordEntry class]]; } + (NSValueTransformer *)lastEvaluatedTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)startTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2DescribeFleetInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"fleetId" : @"FleetId", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeFleetInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"activeInstances" : @"ActiveInstances", @"fleetId" : @"FleetId", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)activeInstancesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ActiveInstance class]]; } @end @implementation AWSEC2DescribeFleetsInstances + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceIds" : @"InstanceIds", @"instanceType" : @"InstanceType", @"launchTemplateAndOverrides" : @"LaunchTemplateAndOverrides", @"lifecycle" : @"Lifecycle", @"platform" : @"Platform", }; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)launchTemplateAndOverridesJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateAndOverridesResponse class]]; } + (NSValueTransformer *)lifecycleJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"spot"] == NSOrderedSame) { return @(AWSEC2InstanceLifecycleSpot); } if ([value caseInsensitiveCompare:@"on-demand"] == NSOrderedSame) { return @(AWSEC2InstanceLifecycleOnDemand); } return @(AWSEC2InstanceLifecycleUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceLifecycleSpot: return @"spot"; case AWSEC2InstanceLifecycleOnDemand: return @"on-demand"; default: return nil; } }]; } + (NSValueTransformer *)platformJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { return @(AWSEC2PlatformValuesWindows); } return @(AWSEC2PlatformValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PlatformValuesWindows: return @"Windows"; default: return nil; } }]; } @end @implementation AWSEC2DescribeFleetsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"fleetIds" : @"FleetIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeFleetsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fleets" : @"Fleets", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)fleetsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2FleetData class]]; } @end @implementation AWSEC2DescribeFlowLogsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filter" : @"Filter", @"flowLogIds" : @"FlowLogIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filterJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeFlowLogsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"flowLogs" : @"FlowLogs", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)flowLogsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2FlowLog class]]; } @end @implementation AWSEC2DescribeFpgaImageAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attribute" : @"Attribute", @"dryRun" : @"DryRun", @"fpgaImageId" : @"FpgaImageId", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"description"] == NSOrderedSame) { return @(AWSEC2FpgaImageAttributeNameDescription); } if ([value caseInsensitiveCompare:@"name"] == NSOrderedSame) { return @(AWSEC2FpgaImageAttributeNameName); } if ([value caseInsensitiveCompare:@"loadPermission"] == NSOrderedSame) { return @(AWSEC2FpgaImageAttributeNameLoadPermission); } if ([value caseInsensitiveCompare:@"productCodes"] == NSOrderedSame) { return @(AWSEC2FpgaImageAttributeNameProductCodes); } return @(AWSEC2FpgaImageAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FpgaImageAttributeNameDescription: return @"description"; case AWSEC2FpgaImageAttributeNameName: return @"name"; case AWSEC2FpgaImageAttributeNameLoadPermission: return @"loadPermission"; case AWSEC2FpgaImageAttributeNameProductCodes: return @"productCodes"; default: return nil; } }]; } @end @implementation AWSEC2DescribeFpgaImageAttributeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fpgaImageAttribute" : @"FpgaImageAttribute", }; } + (NSValueTransformer *)fpgaImageAttributeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FpgaImageAttribute class]]; } @end @implementation AWSEC2DescribeFpgaImagesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"fpgaImageIds" : @"FpgaImageIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"owners" : @"Owners", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeFpgaImagesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fpgaImages" : @"FpgaImages", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)fpgaImagesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2FpgaImage class]]; } @end @implementation AWSEC2DescribeHostReservationOfferingsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"filter" : @"Filter", @"maxDuration" : @"MaxDuration", @"maxResults" : @"MaxResults", @"minDuration" : @"MinDuration", @"nextToken" : @"NextToken", @"offeringId" : @"OfferingId", }; } + (NSValueTransformer *)filterJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeHostReservationOfferingsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"offeringSet" : @"OfferingSet", }; } + (NSValueTransformer *)offeringSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2HostOffering class]]; } @end @implementation AWSEC2DescribeHostReservationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"filter" : @"Filter", @"hostReservationIdSet" : @"HostReservationIdSet", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filterJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeHostReservationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"hostReservationSet" : @"HostReservationSet", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)hostReservationSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2HostReservation class]]; } @end @implementation AWSEC2DescribeHostsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"filter" : @"Filter", @"hostIds" : @"HostIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filterJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeHostsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"hosts" : @"Hosts", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)hostsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Host class]]; } @end @implementation AWSEC2DescribeIamInstanceProfileAssociationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationIds" : @"AssociationIds", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeIamInstanceProfileAssociationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"iamInstanceProfileAssociations" : @"IamInstanceProfileAssociations", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)iamInstanceProfileAssociationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IamInstanceProfileAssociation class]]; } @end @implementation AWSEC2DescribeIdFormatRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resource" : @"Resource", }; } @end @implementation AWSEC2DescribeIdFormatResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"statuses" : @"Statuses", }; } + (NSValueTransformer *)statusesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IdFormat class]]; } @end @implementation AWSEC2DescribeIdentityIdFormatRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"principalArn" : @"PrincipalArn", @"resource" : @"Resource", }; } @end @implementation AWSEC2DescribeIdentityIdFormatResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"statuses" : @"Statuses", }; } + (NSValueTransformer *)statusesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IdFormat class]]; } @end @implementation AWSEC2DescribeImageAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attribute" : @"Attribute", @"dryRun" : @"DryRun", @"imageId" : @"ImageId", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"description"] == NSOrderedSame) { return @(AWSEC2ImageAttributeNameDescription); } if ([value caseInsensitiveCompare:@"kernel"] == NSOrderedSame) { return @(AWSEC2ImageAttributeNameKernel); } if ([value caseInsensitiveCompare:@"ramdisk"] == NSOrderedSame) { return @(AWSEC2ImageAttributeNameRAMDisk); } if ([value caseInsensitiveCompare:@"launchPermission"] == NSOrderedSame) { return @(AWSEC2ImageAttributeNameLaunchPermission); } if ([value caseInsensitiveCompare:@"productCodes"] == NSOrderedSame) { return @(AWSEC2ImageAttributeNameProductCodes); } if ([value caseInsensitiveCompare:@"blockDeviceMapping"] == NSOrderedSame) { return @(AWSEC2ImageAttributeNameBlockDeviceMapping); } if ([value caseInsensitiveCompare:@"sriovNetSupport"] == NSOrderedSame) { return @(AWSEC2ImageAttributeNameSriovNetSupport); } if ([value caseInsensitiveCompare:@"bootMode"] == NSOrderedSame) { return @(AWSEC2ImageAttributeNameBootMode); } if ([value caseInsensitiveCompare:@"tpmSupport"] == NSOrderedSame) { return @(AWSEC2ImageAttributeNameTpmSupport); } if ([value caseInsensitiveCompare:@"uefiData"] == NSOrderedSame) { return @(AWSEC2ImageAttributeNameUefiData); } if ([value caseInsensitiveCompare:@"lastLaunchedTime"] == NSOrderedSame) { return @(AWSEC2ImageAttributeNameLastLaunchedTime); } if ([value caseInsensitiveCompare:@"imdsSupport"] == NSOrderedSame) { return @(AWSEC2ImageAttributeNameImdsSupport); } return @(AWSEC2ImageAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ImageAttributeNameDescription: return @"description"; case AWSEC2ImageAttributeNameKernel: return @"kernel"; case AWSEC2ImageAttributeNameRAMDisk: return @"ramdisk"; case AWSEC2ImageAttributeNameLaunchPermission: return @"launchPermission"; case AWSEC2ImageAttributeNameProductCodes: return @"productCodes"; case AWSEC2ImageAttributeNameBlockDeviceMapping: return @"blockDeviceMapping"; case AWSEC2ImageAttributeNameSriovNetSupport: return @"sriovNetSupport"; case AWSEC2ImageAttributeNameBootMode: return @"bootMode"; case AWSEC2ImageAttributeNameTpmSupport: return @"tpmSupport"; case AWSEC2ImageAttributeNameUefiData: return @"uefiData"; case AWSEC2ImageAttributeNameLastLaunchedTime: return @"lastLaunchedTime"; case AWSEC2ImageAttributeNameImdsSupport: return @"imdsSupport"; default: return nil; } }]; } @end @implementation AWSEC2DescribeImagesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"executableUsers" : @"ExecutableUsers", @"filters" : @"Filters", @"imageIds" : @"ImageIds", @"includeDeprecated" : @"IncludeDeprecated", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"owners" : @"Owners", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeImagesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"images" : @"Images", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)imagesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Image class]]; } @end @implementation AWSEC2DescribeImportImageTasksRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"importTaskIds" : @"ImportTaskIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeImportImageTasksResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"importImageTasks" : @"ImportImageTasks", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)importImageTasksJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ImportImageTask class]]; } @end @implementation AWSEC2DescribeImportSnapshotTasksRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"importTaskIds" : @"ImportTaskIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeImportSnapshotTasksResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"importSnapshotTasks" : @"ImportSnapshotTasks", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)importSnapshotTasksJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ImportSnapshotTask class]]; } @end @implementation AWSEC2DescribeInstanceAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attribute" : @"Attribute", @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"instanceType"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameInstanceType); } if ([value caseInsensitiveCompare:@"kernel"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameKernel); } if ([value caseInsensitiveCompare:@"ramdisk"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameRAMDisk); } if ([value caseInsensitiveCompare:@"userData"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameUserData); } if ([value caseInsensitiveCompare:@"disableApiTermination"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameDisableApiTermination); } if ([value caseInsensitiveCompare:@"instanceInitiatedShutdownBehavior"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameInstanceInitiatedShutdownBehavior); } if ([value caseInsensitiveCompare:@"rootDeviceName"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameRootDeviceName); } if ([value caseInsensitiveCompare:@"blockDeviceMapping"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameBlockDeviceMapping); } if ([value caseInsensitiveCompare:@"productCodes"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameProductCodes); } if ([value caseInsensitiveCompare:@"sourceDestCheck"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameSourceDestCheck); } if ([value caseInsensitiveCompare:@"groupSet"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameGroupSet); } if ([value caseInsensitiveCompare:@"ebsOptimized"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameEBSOptimized); } if ([value caseInsensitiveCompare:@"sriovNetSupport"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameSriovNetSupport); } if ([value caseInsensitiveCompare:@"enaSupport"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameEnaSupport); } if ([value caseInsensitiveCompare:@"enclaveOptions"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameEnclaveOptions); } if ([value caseInsensitiveCompare:@"disableApiStop"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameDisableApiStop); } return @(AWSEC2InstanceAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceAttributeNameInstanceType: return @"instanceType"; case AWSEC2InstanceAttributeNameKernel: return @"kernel"; case AWSEC2InstanceAttributeNameRAMDisk: return @"ramdisk"; case AWSEC2InstanceAttributeNameUserData: return @"userData"; case AWSEC2InstanceAttributeNameDisableApiTermination: return @"disableApiTermination"; case AWSEC2InstanceAttributeNameInstanceInitiatedShutdownBehavior: return @"instanceInitiatedShutdownBehavior"; case AWSEC2InstanceAttributeNameRootDeviceName: return @"rootDeviceName"; case AWSEC2InstanceAttributeNameBlockDeviceMapping: return @"blockDeviceMapping"; case AWSEC2InstanceAttributeNameProductCodes: return @"productCodes"; case AWSEC2InstanceAttributeNameSourceDestCheck: return @"sourceDestCheck"; case AWSEC2InstanceAttributeNameGroupSet: return @"groupSet"; case AWSEC2InstanceAttributeNameEBSOptimized: return @"ebsOptimized"; case AWSEC2InstanceAttributeNameSriovNetSupport: return @"sriovNetSupport"; case AWSEC2InstanceAttributeNameEnaSupport: return @"enaSupport"; case AWSEC2InstanceAttributeNameEnclaveOptions: return @"enclaveOptions"; case AWSEC2InstanceAttributeNameDisableApiStop: return @"disableApiStop"; default: return nil; } }]; } @end @implementation AWSEC2DescribeInstanceConnectEndpointsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"instanceConnectEndpointIds" : @"InstanceConnectEndpointIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeInstanceConnectEndpointsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceConnectEndpoints" : @"InstanceConnectEndpoints", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)instanceConnectEndpointsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ec2InstanceConnectEndpoint class]]; } @end @implementation AWSEC2DescribeInstanceCreditSpecificationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"instanceIds" : @"InstanceIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeInstanceCreditSpecificationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceCreditSpecifications" : @"InstanceCreditSpecifications", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)instanceCreditSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceCreditSpecification class]]; } @end @implementation AWSEC2DescribeInstanceEventNotificationAttributesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DescribeInstanceEventNotificationAttributesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceTagAttribute" : @"InstanceTagAttribute", }; } + (NSValueTransformer *)instanceTagAttributeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceTagNotificationAttribute class]]; } @end @implementation AWSEC2DescribeInstanceEventWindowsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"instanceEventWindowIds" : @"InstanceEventWindowIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeInstanceEventWindowsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceEventWindows" : @"InstanceEventWindows", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)instanceEventWindowsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceEventWindow class]]; } @end @implementation AWSEC2DescribeInstanceStatusRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"includeAllInstances" : @"IncludeAllInstances", @"instanceIds" : @"InstanceIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeInstanceStatusResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceStatuses" : @"InstanceStatuses", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)instanceStatusesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceStatus class]]; } @end @implementation AWSEC2DescribeInstanceTypeOfferingsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"locationType" : @"LocationType", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } + (NSValueTransformer *)locationTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"region"] == NSOrderedSame) { return @(AWSEC2LocationTypeRegion); } if ([value caseInsensitiveCompare:@"availability-zone"] == NSOrderedSame) { return @(AWSEC2LocationTypeAvailabilityZone); } if ([value caseInsensitiveCompare:@"availability-zone-id"] == NSOrderedSame) { return @(AWSEC2LocationTypeAvailabilityZoneId); } return @(AWSEC2LocationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LocationTypeRegion: return @"region"; case AWSEC2LocationTypeAvailabilityZone: return @"availability-zone"; case AWSEC2LocationTypeAvailabilityZoneId: return @"availability-zone-id"; default: return nil; } }]; } @end @implementation AWSEC2DescribeInstanceTypeOfferingsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceTypeOfferings" : @"InstanceTypeOfferings", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)instanceTypeOfferingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceTypeOffering class]]; } @end @implementation AWSEC2DescribeInstanceTypesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"instanceTypes" : @"InstanceTypes", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeInstanceTypesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceTypes" : @"InstanceTypes", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)instanceTypesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceTypeInfo class]]; } @end @implementation AWSEC2DescribeInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"instanceIds" : @"InstanceIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"reservations" : @"Reservations", }; } + (NSValueTransformer *)reservationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Reservation class]]; } @end @implementation AWSEC2DescribeInternetGatewaysRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"internetGatewayIds" : @"InternetGatewayIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeInternetGatewaysResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"internetGateways" : @"InternetGateways", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)internetGatewaysJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InternetGateway class]]; } @end @implementation AWSEC2DescribeIpamPoolsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"ipamPoolIds" : @"IpamPoolIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeIpamPoolsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamPools" : @"IpamPools", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)ipamPoolsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpamPool class]]; } @end @implementation AWSEC2DescribeIpamResourceDiscoveriesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"ipamResourceDiscoveryIds" : @"IpamResourceDiscoveryIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeIpamResourceDiscoveriesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamResourceDiscoveries" : @"IpamResourceDiscoveries", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)ipamResourceDiscoveriesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpamResourceDiscovery class]]; } @end @implementation AWSEC2DescribeIpamResourceDiscoveryAssociationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"ipamResourceDiscoveryAssociationIds" : @"IpamResourceDiscoveryAssociationIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeIpamResourceDiscoveryAssociationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamResourceDiscoveryAssociations" : @"IpamResourceDiscoveryAssociations", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)ipamResourceDiscoveryAssociationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpamResourceDiscoveryAssociation class]]; } @end @implementation AWSEC2DescribeIpamScopesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"ipamScopeIds" : @"IpamScopeIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeIpamScopesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamScopes" : @"IpamScopes", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)ipamScopesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpamScope class]]; } @end @implementation AWSEC2DescribeIpamsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"ipamIds" : @"IpamIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeIpamsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipams" : @"Ipams", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)ipamsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipam class]]; } @end @implementation AWSEC2DescribeIpv6PoolsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"poolIds" : @"PoolIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeIpv6PoolsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6Pools" : @"Ipv6Pools", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)ipv6PoolsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv6Pool class]]; } @end @implementation AWSEC2DescribeKeyPairsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"includePublicKey" : @"IncludePublicKey", @"keyNames" : @"KeyNames", @"keyPairIds" : @"KeyPairIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeKeyPairsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"keyPairs" : @"KeyPairs", }; } + (NSValueTransformer *)keyPairsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2KeyPairInfo class]]; } @end @implementation AWSEC2DescribeLaunchTemplateVersionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"launchTemplateId" : @"LaunchTemplateId", @"launchTemplateName" : @"LaunchTemplateName", @"maxResults" : @"MaxResults", @"maxVersion" : @"MaxVersion", @"minVersion" : @"MinVersion", @"nextToken" : @"NextToken", @"resolveAlias" : @"ResolveAlias", @"versions" : @"Versions", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeLaunchTemplateVersionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplateVersions" : @"LaunchTemplateVersions", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)launchTemplateVersionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchTemplateVersion class]]; } @end @implementation AWSEC2DescribeLaunchTemplatesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"launchTemplateIds" : @"LaunchTemplateIds", @"launchTemplateNames" : @"LaunchTemplateNames", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeLaunchTemplatesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplates" : @"LaunchTemplates", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)launchTemplatesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchTemplate class]]; } @end @implementation AWSEC2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"localGatewayRouteTableVirtualInterfaceGroupAssociationIds" : @"LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayRouteTableVirtualInterfaceGroupAssociations" : @"LocalGatewayRouteTableVirtualInterfaceGroupAssociations", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)localGatewayRouteTableVirtualInterfaceGroupAssociationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LocalGatewayRouteTableVirtualInterfaceGroupAssociation class]]; } @end @implementation AWSEC2DescribeLocalGatewayRouteTableVpcAssociationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"localGatewayRouteTableVpcAssociationIds" : @"LocalGatewayRouteTableVpcAssociationIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeLocalGatewayRouteTableVpcAssociationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayRouteTableVpcAssociations" : @"LocalGatewayRouteTableVpcAssociations", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)localGatewayRouteTableVpcAssociationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LocalGatewayRouteTableVpcAssociation class]]; } @end @implementation AWSEC2DescribeLocalGatewayRouteTablesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"localGatewayRouteTableIds" : @"LocalGatewayRouteTableIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeLocalGatewayRouteTablesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayRouteTables" : @"LocalGatewayRouteTables", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)localGatewayRouteTablesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LocalGatewayRouteTable class]]; } @end @implementation AWSEC2DescribeLocalGatewayVirtualInterfaceGroupsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"localGatewayVirtualInterfaceGroupIds" : @"LocalGatewayVirtualInterfaceGroupIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeLocalGatewayVirtualInterfaceGroupsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayVirtualInterfaceGroups" : @"LocalGatewayVirtualInterfaceGroups", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)localGatewayVirtualInterfaceGroupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LocalGatewayVirtualInterfaceGroup class]]; } @end @implementation AWSEC2DescribeLocalGatewayVirtualInterfacesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"localGatewayVirtualInterfaceIds" : @"LocalGatewayVirtualInterfaceIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeLocalGatewayVirtualInterfacesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayVirtualInterfaces" : @"LocalGatewayVirtualInterfaces", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)localGatewayVirtualInterfacesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LocalGatewayVirtualInterface class]]; } @end @implementation AWSEC2DescribeLocalGatewaysRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"localGatewayIds" : @"LocalGatewayIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeLocalGatewaysResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGateways" : @"LocalGateways", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)localGatewaysJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LocalGateway class]]; } @end @implementation AWSEC2DescribeManagedPrefixListsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"prefixListIds" : @"PrefixListIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeManagedPrefixListsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"prefixLists" : @"PrefixLists", }; } + (NSValueTransformer *)prefixListsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ManagedPrefixList class]]; } @end @implementation AWSEC2DescribeMovingAddressesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"publicIps" : @"PublicIps", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeMovingAddressesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"movingAddressStatuses" : @"MovingAddressStatuses", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)movingAddressStatusesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2MovingAddressStatus class]]; } @end @implementation AWSEC2DescribeNatGatewaysRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filter" : @"Filter", @"maxResults" : @"MaxResults", @"natGatewayIds" : @"NatGatewayIds", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filterJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeNatGatewaysResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"natGateways" : @"NatGateways", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)natGatewaysJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NatGateway class]]; } @end @implementation AWSEC2DescribeNetworkAclsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"networkAclIds" : @"NetworkAclIds", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeNetworkAclsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkAcls" : @"NetworkAcls", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)networkAclsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NetworkAcl class]]; } @end @implementation AWSEC2DescribeNetworkInsightsAccessScopeAnalysesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"analysisStartTimeBegin" : @"AnalysisStartTimeBegin", @"analysisStartTimeEnd" : @"AnalysisStartTimeEnd", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"networkInsightsAccessScopeAnalysisIds" : @"NetworkInsightsAccessScopeAnalysisIds", @"networkInsightsAccessScopeId" : @"NetworkInsightsAccessScopeId", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)analysisStartTimeBeginJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)analysisStartTimeEndJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeNetworkInsightsAccessScopeAnalysesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInsightsAccessScopeAnalyses" : @"NetworkInsightsAccessScopeAnalyses", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)networkInsightsAccessScopeAnalysesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NetworkInsightsAccessScopeAnalysis class]]; } @end @implementation AWSEC2DescribeNetworkInsightsAccessScopesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"networkInsightsAccessScopeIds" : @"NetworkInsightsAccessScopeIds", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeNetworkInsightsAccessScopesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInsightsAccessScopes" : @"NetworkInsightsAccessScopes", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)networkInsightsAccessScopesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NetworkInsightsAccessScope class]]; } @end @implementation AWSEC2DescribeNetworkInsightsAnalysesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"analysisEndTime" : @"AnalysisEndTime", @"analysisStartTime" : @"AnalysisStartTime", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"networkInsightsAnalysisIds" : @"NetworkInsightsAnalysisIds", @"networkInsightsPathId" : @"NetworkInsightsPathId", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)analysisEndTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)analysisStartTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeNetworkInsightsAnalysesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInsightsAnalyses" : @"NetworkInsightsAnalyses", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)networkInsightsAnalysesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NetworkInsightsAnalysis class]]; } @end @implementation AWSEC2DescribeNetworkInsightsPathsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"networkInsightsPathIds" : @"NetworkInsightsPathIds", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeNetworkInsightsPathsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInsightsPaths" : @"NetworkInsightsPaths", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)networkInsightsPathsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NetworkInsightsPath class]]; } @end @implementation AWSEC2DescribeNetworkInterfaceAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attribute" : @"Attribute", @"dryRun" : @"DryRun", @"networkInterfaceId" : @"NetworkInterfaceId", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"description"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceAttributeDescription); } if ([value caseInsensitiveCompare:@"groupSet"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceAttributeGroupSet); } if ([value caseInsensitiveCompare:@"sourceDestCheck"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceAttributeSourceDestCheck); } if ([value caseInsensitiveCompare:@"attachment"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceAttributeAttachment); } return @(AWSEC2NetworkInterfaceAttributeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2NetworkInterfaceAttributeDescription: return @"description"; case AWSEC2NetworkInterfaceAttributeGroupSet: return @"groupSet"; case AWSEC2NetworkInterfaceAttributeSourceDestCheck: return @"sourceDestCheck"; case AWSEC2NetworkInterfaceAttributeAttachment: return @"attachment"; default: return nil; } }]; } @end @implementation AWSEC2DescribeNetworkInterfaceAttributeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attachment" : @"Attachment", @"detail" : @"Description", @"groups" : @"Groups", @"networkInterfaceId" : @"NetworkInterfaceId", @"sourceDestCheck" : @"SourceDestCheck", }; } + (NSValueTransformer *)attachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInterfaceAttachment class]]; } + (NSValueTransformer *)detailJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)groupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2GroupIdentifier class]]; } + (NSValueTransformer *)sourceDestCheckJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } @end @implementation AWSEC2DescribeNetworkInterfacePermissionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"networkInterfacePermissionIds" : @"NetworkInterfacePermissionIds", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeNetworkInterfacePermissionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInterfacePermissions" : @"NetworkInterfacePermissions", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)networkInterfacePermissionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NetworkInterfacePermission class]]; } @end @implementation AWSEC2DescribeNetworkInterfacesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"networkInterfaceIds" : @"NetworkInterfaceIds", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeNetworkInterfacesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInterfaces" : @"NetworkInterfaces", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)networkInterfacesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NetworkInterface class]]; } @end @implementation AWSEC2DescribePlacementGroupsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"groupIds" : @"GroupIds", @"groupNames" : @"GroupNames", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribePlacementGroupsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"placementGroups" : @"PlacementGroups", }; } + (NSValueTransformer *)placementGroupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PlacementGroup class]]; } @end @implementation AWSEC2DescribePrefixListsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"prefixListIds" : @"PrefixListIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribePrefixListsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"prefixLists" : @"PrefixLists", }; } + (NSValueTransformer *)prefixListsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PrefixList class]]; } @end @implementation AWSEC2DescribePrincipalIdFormatRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"resources" : @"Resources", }; } @end @implementation AWSEC2DescribePrincipalIdFormatResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"principals" : @"Principals", }; } + (NSValueTransformer *)principalsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PrincipalIdFormat class]]; } @end @implementation AWSEC2DescribePublicIpv4PoolsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"poolIds" : @"PoolIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribePublicIpv4PoolsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"publicIpv4Pools" : @"PublicIpv4Pools", }; } + (NSValueTransformer *)publicIpv4PoolsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PublicIpv4Pool class]]; } @end @implementation AWSEC2DescribeRegionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allRegions" : @"AllRegions", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"regionNames" : @"RegionNames", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeRegionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"regions" : @"Regions", }; } + (NSValueTransformer *)regionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Region class]]; } @end @implementation AWSEC2DescribeReplaceRootVolumeTasksRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"replaceRootVolumeTaskIds" : @"ReplaceRootVolumeTaskIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeReplaceRootVolumeTasksResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"replaceRootVolumeTasks" : @"ReplaceRootVolumeTasks", }; } + (NSValueTransformer *)replaceRootVolumeTasksJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ReplaceRootVolumeTask class]]; } @end @implementation AWSEC2DescribeReservedInstancesListingsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"filters" : @"Filters", @"reservedInstancesId" : @"ReservedInstancesId", @"reservedInstancesListingId" : @"ReservedInstancesListingId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeReservedInstancesListingsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"reservedInstancesListings" : @"ReservedInstancesListings", }; } + (NSValueTransformer *)reservedInstancesListingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ReservedInstancesListing class]]; } @end @implementation AWSEC2DescribeReservedInstancesModificationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"filters" : @"Filters", @"nextToken" : @"NextToken", @"reservedInstancesModificationIds" : @"ReservedInstancesModificationIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeReservedInstancesModificationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"reservedInstancesModifications" : @"ReservedInstancesModifications", }; } + (NSValueTransformer *)reservedInstancesModificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ReservedInstancesModification class]]; } @end @implementation AWSEC2DescribeReservedInstancesOfferingsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"includeMarketplace" : @"IncludeMarketplace", @"instanceTenancy" : @"InstanceTenancy", @"instanceType" : @"InstanceType", @"maxDuration" : @"MaxDuration", @"maxInstanceCount" : @"MaxInstanceCount", @"maxResults" : @"MaxResults", @"minDuration" : @"MinDuration", @"nextToken" : @"NextToken", @"offeringClass" : @"OfferingClass", @"offeringType" : @"OfferingType", @"productDescription" : @"ProductDescription", @"reservedInstancesOfferingIds" : @"ReservedInstancesOfferingIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } + (NSValueTransformer *)instanceTenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2TenancyDefault); } if ([value caseInsensitiveCompare:@"dedicated"] == NSOrderedSame) { return @(AWSEC2TenancyDedicated); } if ([value caseInsensitiveCompare:@"host"] == NSOrderedSame) { return @(AWSEC2TenancyHost); } return @(AWSEC2TenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TenancyDefault: return @"default"; case AWSEC2TenancyDedicated: return @"dedicated"; case AWSEC2TenancyHost: return @"host"; default: return nil; } }]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)offeringClassJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2OfferingClassTypeStandard); } if ([value caseInsensitiveCompare:@"convertible"] == NSOrderedSame) { return @(AWSEC2OfferingClassTypeConvertible); } return @(AWSEC2OfferingClassTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2OfferingClassTypeStandard: return @"standard"; case AWSEC2OfferingClassTypeConvertible: return @"convertible"; default: return nil; } }]; } + (NSValueTransformer *)offeringTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Heavy Utilization"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesHeavyUtilization); } if ([value caseInsensitiveCompare:@"Medium Utilization"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesMediumUtilization); } if ([value caseInsensitiveCompare:@"Light Utilization"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesLightUtilization); } if ([value caseInsensitiveCompare:@"No Upfront"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesNoUpfront); } if ([value caseInsensitiveCompare:@"Partial Upfront"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesPartialUpfront); } if ([value caseInsensitiveCompare:@"All Upfront"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesAllUpfront); } return @(AWSEC2OfferingTypeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2OfferingTypeValuesHeavyUtilization: return @"Heavy Utilization"; case AWSEC2OfferingTypeValuesMediumUtilization: return @"Medium Utilization"; case AWSEC2OfferingTypeValuesLightUtilization: return @"Light Utilization"; case AWSEC2OfferingTypeValuesNoUpfront: return @"No Upfront"; case AWSEC2OfferingTypeValuesPartialUpfront: return @"Partial Upfront"; case AWSEC2OfferingTypeValuesAllUpfront: return @"All Upfront"; default: return nil; } }]; } + (NSValueTransformer *)productDescriptionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Linux/UNIX"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionLinuxUNIX); } if ([value caseInsensitiveCompare:@"Linux/UNIX (Amazon VPC)"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionLinuxUNIXAmazonVPC); } if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionWindows); } if ([value caseInsensitiveCompare:@"Windows (Amazon VPC)"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionWindowsAmazonVPC); } return @(AWSEC2RIProductDescriptionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2RIProductDescriptionLinuxUNIX: return @"Linux/UNIX"; case AWSEC2RIProductDescriptionLinuxUNIXAmazonVPC: return @"Linux/UNIX (Amazon VPC)"; case AWSEC2RIProductDescriptionWindows: return @"Windows"; case AWSEC2RIProductDescriptionWindowsAmazonVPC: return @"Windows (Amazon VPC)"; default: return nil; } }]; } @end @implementation AWSEC2DescribeReservedInstancesOfferingsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"reservedInstancesOfferings" : @"ReservedInstancesOfferings", }; } + (NSValueTransformer *)reservedInstancesOfferingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ReservedInstancesOffering class]]; } @end @implementation AWSEC2DescribeReservedInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"offeringClass" : @"OfferingClass", @"offeringType" : @"OfferingType", @"reservedInstancesIds" : @"ReservedInstancesIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } + (NSValueTransformer *)offeringClassJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2OfferingClassTypeStandard); } if ([value caseInsensitiveCompare:@"convertible"] == NSOrderedSame) { return @(AWSEC2OfferingClassTypeConvertible); } return @(AWSEC2OfferingClassTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2OfferingClassTypeStandard: return @"standard"; case AWSEC2OfferingClassTypeConvertible: return @"convertible"; default: return nil; } }]; } + (NSValueTransformer *)offeringTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Heavy Utilization"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesHeavyUtilization); } if ([value caseInsensitiveCompare:@"Medium Utilization"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesMediumUtilization); } if ([value caseInsensitiveCompare:@"Light Utilization"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesLightUtilization); } if ([value caseInsensitiveCompare:@"No Upfront"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesNoUpfront); } if ([value caseInsensitiveCompare:@"Partial Upfront"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesPartialUpfront); } if ([value caseInsensitiveCompare:@"All Upfront"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesAllUpfront); } return @(AWSEC2OfferingTypeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2OfferingTypeValuesHeavyUtilization: return @"Heavy Utilization"; case AWSEC2OfferingTypeValuesMediumUtilization: return @"Medium Utilization"; case AWSEC2OfferingTypeValuesLightUtilization: return @"Light Utilization"; case AWSEC2OfferingTypeValuesNoUpfront: return @"No Upfront"; case AWSEC2OfferingTypeValuesPartialUpfront: return @"Partial Upfront"; case AWSEC2OfferingTypeValuesAllUpfront: return @"All Upfront"; default: return nil; } }]; } @end @implementation AWSEC2DescribeReservedInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"reservedInstances" : @"ReservedInstances", }; } + (NSValueTransformer *)reservedInstancesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ReservedInstances class]]; } @end @implementation AWSEC2DescribeRouteTablesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"routeTableIds" : @"RouteTableIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeRouteTablesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"routeTables" : @"RouteTables", }; } + (NSValueTransformer *)routeTablesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2RouteTable class]]; } @end @implementation AWSEC2DescribeScheduledInstanceAvailabilityRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"firstSlotStartTimeRange" : @"FirstSlotStartTimeRange", @"maxResults" : @"MaxResults", @"maxSlotDurationInHours" : @"MaxSlotDurationInHours", @"minSlotDurationInHours" : @"MinSlotDurationInHours", @"nextToken" : @"NextToken", @"recurrence" : @"Recurrence", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } + (NSValueTransformer *)firstSlotStartTimeRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SlotDateTimeRangeRequest class]]; } + (NSValueTransformer *)recurrenceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ScheduledInstanceRecurrenceRequest class]]; } @end @implementation AWSEC2DescribeScheduledInstanceAvailabilityResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"scheduledInstanceAvailabilitySet" : @"ScheduledInstanceAvailabilitySet", }; } + (NSValueTransformer *)scheduledInstanceAvailabilitySetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ScheduledInstanceAvailability class]]; } @end @implementation AWSEC2DescribeScheduledInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"scheduledInstanceIds" : @"ScheduledInstanceIds", @"slotStartTimeRange" : @"SlotStartTimeRange", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } + (NSValueTransformer *)slotStartTimeRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SlotStartTimeRangeRequest class]]; } @end @implementation AWSEC2DescribeScheduledInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"scheduledInstanceSet" : @"ScheduledInstanceSet", }; } + (NSValueTransformer *)scheduledInstanceSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ScheduledInstance class]]; } @end @implementation AWSEC2DescribeSecurityGroupReferencesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"groupId" : @"GroupId", }; } @end @implementation AWSEC2DescribeSecurityGroupReferencesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"securityGroupReferenceSet" : @"SecurityGroupReferenceSet", }; } + (NSValueTransformer *)securityGroupReferenceSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SecurityGroupReference class]]; } @end @implementation AWSEC2DescribeSecurityGroupRulesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"securityGroupRuleIds" : @"SecurityGroupRuleIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeSecurityGroupRulesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"securityGroupRules" : @"SecurityGroupRules", }; } + (NSValueTransformer *)securityGroupRulesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SecurityGroupRule class]]; } @end @implementation AWSEC2DescribeSecurityGroupsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"groupIds" : @"GroupIds", @"groupNames" : @"GroupNames", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeSecurityGroupsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"securityGroups" : @"SecurityGroups", }; } + (NSValueTransformer *)securityGroupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SecurityGroup class]]; } @end @implementation AWSEC2DescribeSnapshotAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attribute" : @"Attribute", @"dryRun" : @"DryRun", @"snapshotId" : @"SnapshotId", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"productCodes"] == NSOrderedSame) { return @(AWSEC2SnapshotAttributeNameProductCodes); } if ([value caseInsensitiveCompare:@"createVolumePermission"] == NSOrderedSame) { return @(AWSEC2SnapshotAttributeNameCreateVolumePermission); } return @(AWSEC2SnapshotAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SnapshotAttributeNameProductCodes: return @"productCodes"; case AWSEC2SnapshotAttributeNameCreateVolumePermission: return @"createVolumePermission"; default: return nil; } }]; } @end @implementation AWSEC2DescribeSnapshotAttributeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"createVolumePermissions" : @"CreateVolumePermissions", @"productCodes" : @"ProductCodes", @"snapshotId" : @"SnapshotId", }; } + (NSValueTransformer *)createVolumePermissionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CreateVolumePermission class]]; } + (NSValueTransformer *)productCodesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ProductCode class]]; } @end @implementation AWSEC2DescribeSnapshotTierStatusRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeSnapshotTierStatusResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"snapshotTierStatuses" : @"SnapshotTierStatuses", }; } + (NSValueTransformer *)snapshotTierStatusesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SnapshotTierStatus class]]; } @end @implementation AWSEC2DescribeSnapshotsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"ownerIds" : @"OwnerIds", @"restorableByUserIds" : @"RestorableByUserIds", @"snapshotIds" : @"SnapshotIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeSnapshotsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"snapshots" : @"Snapshots", }; } + (NSValueTransformer *)snapshotsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Snapshot class]]; } @end @implementation AWSEC2DescribeSpotDatafeedSubscriptionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DescribeSpotDatafeedSubscriptionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"spotDatafeedSubscription" : @"SpotDatafeedSubscription", }; } + (NSValueTransformer *)spotDatafeedSubscriptionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotDatafeedSubscription class]]; } @end @implementation AWSEC2DescribeSpotFleetInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"spotFleetRequestId" : @"SpotFleetRequestId", }; } @end @implementation AWSEC2DescribeSpotFleetInstancesResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"activeInstances" : @"ActiveInstances", @"nextToken" : @"NextToken", @"spotFleetRequestId" : @"SpotFleetRequestId", }; } + (NSValueTransformer *)activeInstancesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ActiveInstance class]]; } @end @implementation AWSEC2DescribeSpotFleetRequestHistoryRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"eventType" : @"EventType", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"spotFleetRequestId" : @"SpotFleetRequestId", @"startTime" : @"StartTime", }; } + (NSValueTransformer *)eventTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"instanceChange"] == NSOrderedSame) { return @(AWSEC2EventTypeInstanceChange); } if ([value caseInsensitiveCompare:@"fleetRequestChange"] == NSOrderedSame) { return @(AWSEC2EventTypeFleetRequestChange); } if ([value caseInsensitiveCompare:@"error"] == NSOrderedSame) { return @(AWSEC2EventTypeError); } if ([value caseInsensitiveCompare:@"information"] == NSOrderedSame) { return @(AWSEC2EventTypeInformation); } return @(AWSEC2EventTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2EventTypeInstanceChange: return @"instanceChange"; case AWSEC2EventTypeFleetRequestChange: return @"fleetRequestChange"; case AWSEC2EventTypeError: return @"error"; case AWSEC2EventTypeInformation: return @"information"; default: return nil; } }]; } + (NSValueTransformer *)startTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2DescribeSpotFleetRequestHistoryResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"historyRecords" : @"HistoryRecords", @"lastEvaluatedTime" : @"LastEvaluatedTime", @"nextToken" : @"NextToken", @"spotFleetRequestId" : @"SpotFleetRequestId", @"startTime" : @"StartTime", }; } + (NSValueTransformer *)historyRecordsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2HistoryRecord class]]; } + (NSValueTransformer *)lastEvaluatedTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)startTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2DescribeSpotFleetRequestsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"spotFleetRequestIds" : @"SpotFleetRequestIds", }; } @end @implementation AWSEC2DescribeSpotFleetRequestsResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"spotFleetRequestConfigs" : @"SpotFleetRequestConfigs", }; } + (NSValueTransformer *)spotFleetRequestConfigsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SpotFleetRequestConfig class]]; } @end @implementation AWSEC2DescribeSpotInstanceRequestsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"spotInstanceRequestIds" : @"SpotInstanceRequestIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeSpotInstanceRequestsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"spotInstanceRequests" : @"SpotInstanceRequests", }; } + (NSValueTransformer *)spotInstanceRequestsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SpotInstanceRequest class]]; } @end @implementation AWSEC2DescribeSpotPriceHistoryRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"dryRun" : @"DryRun", @"endTime" : @"EndTime", @"filters" : @"Filters", @"instanceTypes" : @"InstanceTypes", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"productDescriptions" : @"ProductDescriptions", @"startTime" : @"StartTime", }; } + (NSValueTransformer *)endTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } + (NSValueTransformer *)startTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2DescribeSpotPriceHistoryResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"spotPriceHistory" : @"SpotPriceHistory", }; } + (NSValueTransformer *)spotPriceHistoryJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SpotPrice class]]; } @end @implementation AWSEC2DescribeStaleSecurityGroupsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"vpcId" : @"VpcId", }; } @end @implementation AWSEC2DescribeStaleSecurityGroupsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"staleSecurityGroupSet" : @"StaleSecurityGroupSet", }; } + (NSValueTransformer *)staleSecurityGroupSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2StaleSecurityGroup class]]; } @end @implementation AWSEC2DescribeStoreImageTasksRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"imageIds" : @"ImageIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeStoreImageTasksResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"storeImageTaskResults" : @"StoreImageTaskResults", }; } + (NSValueTransformer *)storeImageTaskResultsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2StoreImageTaskResult class]]; } @end @implementation AWSEC2DescribeSubnetsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"subnetIds" : @"SubnetIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeSubnetsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"subnets" : @"Subnets", }; } + (NSValueTransformer *)subnetsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Subnet class]]; } @end @implementation AWSEC2DescribeTagsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeTagsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"tags" : @"Tags", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagDescription class]]; } @end @implementation AWSEC2DescribeTrafficMirrorFiltersRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"trafficMirrorFilterIds" : @"TrafficMirrorFilterIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeTrafficMirrorFiltersResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"trafficMirrorFilters" : @"TrafficMirrorFilters", }; } + (NSValueTransformer *)trafficMirrorFiltersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TrafficMirrorFilter class]]; } @end @implementation AWSEC2DescribeTrafficMirrorSessionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"trafficMirrorSessionIds" : @"TrafficMirrorSessionIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeTrafficMirrorSessionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"trafficMirrorSessions" : @"TrafficMirrorSessions", }; } + (NSValueTransformer *)trafficMirrorSessionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TrafficMirrorSession class]]; } @end @implementation AWSEC2DescribeTrafficMirrorTargetsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"trafficMirrorTargetIds" : @"TrafficMirrorTargetIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeTrafficMirrorTargetsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"trafficMirrorTargets" : @"TrafficMirrorTargets", }; } + (NSValueTransformer *)trafficMirrorTargetsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TrafficMirrorTarget class]]; } @end @implementation AWSEC2DescribeTransitGatewayAttachmentsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayAttachmentIds" : @"TransitGatewayAttachmentIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeTransitGatewayAttachmentsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"transitGatewayAttachments" : @"TransitGatewayAttachments", }; } + (NSValueTransformer *)transitGatewayAttachmentsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayAttachment class]]; } @end @implementation AWSEC2DescribeTransitGatewayConnectPeersRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayConnectPeerIds" : @"TransitGatewayConnectPeerIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeTransitGatewayConnectPeersResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"transitGatewayConnectPeers" : @"TransitGatewayConnectPeers", }; } + (NSValueTransformer *)transitGatewayConnectPeersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayConnectPeer class]]; } @end @implementation AWSEC2DescribeTransitGatewayConnectsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayAttachmentIds" : @"TransitGatewayAttachmentIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeTransitGatewayConnectsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"transitGatewayConnects" : @"TransitGatewayConnects", }; } + (NSValueTransformer *)transitGatewayConnectsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayConnect class]]; } @end @implementation AWSEC2DescribeTransitGatewayMulticastDomainsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayMulticastDomainIds" : @"TransitGatewayMulticastDomainIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeTransitGatewayMulticastDomainsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"transitGatewayMulticastDomains" : @"TransitGatewayMulticastDomains", }; } + (NSValueTransformer *)transitGatewayMulticastDomainsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayMulticastDomain class]]; } @end @implementation AWSEC2DescribeTransitGatewayPeeringAttachmentsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayAttachmentIds" : @"TransitGatewayAttachmentIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeTransitGatewayPeeringAttachmentsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"transitGatewayPeeringAttachments" : @"TransitGatewayPeeringAttachments", }; } + (NSValueTransformer *)transitGatewayPeeringAttachmentsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayPeeringAttachment class]]; } @end @implementation AWSEC2DescribeTransitGatewayPolicyTablesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayPolicyTableIds" : @"TransitGatewayPolicyTableIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeTransitGatewayPolicyTablesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"transitGatewayPolicyTables" : @"TransitGatewayPolicyTables", }; } + (NSValueTransformer *)transitGatewayPolicyTablesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayPolicyTable class]]; } @end @implementation AWSEC2DescribeTransitGatewayRouteTableAnnouncementsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayRouteTableAnnouncementIds" : @"TransitGatewayRouteTableAnnouncementIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeTransitGatewayRouteTableAnnouncementsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"transitGatewayRouteTableAnnouncements" : @"TransitGatewayRouteTableAnnouncements", }; } + (NSValueTransformer *)transitGatewayRouteTableAnnouncementsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayRouteTableAnnouncement class]]; } @end @implementation AWSEC2DescribeTransitGatewayRouteTablesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayRouteTableIds" : @"TransitGatewayRouteTableIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeTransitGatewayRouteTablesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"transitGatewayRouteTables" : @"TransitGatewayRouteTables", }; } + (NSValueTransformer *)transitGatewayRouteTablesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayRouteTable class]]; } @end @implementation AWSEC2DescribeTransitGatewayVpcAttachmentsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayAttachmentIds" : @"TransitGatewayAttachmentIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeTransitGatewayVpcAttachmentsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"transitGatewayVpcAttachments" : @"TransitGatewayVpcAttachments", }; } + (NSValueTransformer *)transitGatewayVpcAttachmentsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayVpcAttachment class]]; } @end @implementation AWSEC2DescribeTransitGatewaysRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayIds" : @"TransitGatewayIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeTransitGatewaysResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"transitGateways" : @"TransitGateways", }; } + (NSValueTransformer *)transitGatewaysJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGateway class]]; } @end @implementation AWSEC2DescribeTrunkInterfaceAssociationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationIds" : @"AssociationIds", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeTrunkInterfaceAssociationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"interfaceAssociations" : @"InterfaceAssociations", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)interfaceAssociationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TrunkInterfaceAssociation class]]; } @end @implementation AWSEC2DescribeVerifiedAccessEndpointsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"verifiedAccessEndpointIds" : @"VerifiedAccessEndpointIds", @"verifiedAccessGroupId" : @"VerifiedAccessGroupId", @"verifiedAccessInstanceId" : @"VerifiedAccessInstanceId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVerifiedAccessEndpointsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"verifiedAccessEndpoints" : @"VerifiedAccessEndpoints", }; } + (NSValueTransformer *)verifiedAccessEndpointsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VerifiedAccessEndpoint class]]; } @end @implementation AWSEC2DescribeVerifiedAccessGroupsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"verifiedAccessGroupIds" : @"VerifiedAccessGroupIds", @"verifiedAccessInstanceId" : @"VerifiedAccessInstanceId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVerifiedAccessGroupsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"verifiedAccessGroups" : @"VerifiedAccessGroups", }; } + (NSValueTransformer *)verifiedAccessGroupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VerifiedAccessGroup class]]; } @end @implementation AWSEC2DescribeVerifiedAccessInstanceLoggingConfigurationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"verifiedAccessInstanceIds" : @"VerifiedAccessInstanceIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVerifiedAccessInstanceLoggingConfigurationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"loggingConfigurations" : @"LoggingConfigurations", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)loggingConfigurationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VerifiedAccessInstanceLoggingConfiguration class]]; } @end @implementation AWSEC2DescribeVerifiedAccessInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"verifiedAccessInstanceIds" : @"VerifiedAccessInstanceIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVerifiedAccessInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"verifiedAccessInstances" : @"VerifiedAccessInstances", }; } + (NSValueTransformer *)verifiedAccessInstancesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VerifiedAccessInstance class]]; } @end @implementation AWSEC2DescribeVerifiedAccessTrustProvidersRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"verifiedAccessTrustProviderIds" : @"VerifiedAccessTrustProviderIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVerifiedAccessTrustProvidersResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"verifiedAccessTrustProviders" : @"VerifiedAccessTrustProviders", }; } + (NSValueTransformer *)verifiedAccessTrustProvidersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VerifiedAccessTrustProvider class]]; } @end @implementation AWSEC2DescribeVolumeAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attribute" : @"Attribute", @"dryRun" : @"DryRun", @"volumeId" : @"VolumeId", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"autoEnableIO"] == NSOrderedSame) { return @(AWSEC2VolumeAttributeNameAutoEnableIO); } if ([value caseInsensitiveCompare:@"productCodes"] == NSOrderedSame) { return @(AWSEC2VolumeAttributeNameProductCodes); } return @(AWSEC2VolumeAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VolumeAttributeNameAutoEnableIO: return @"autoEnableIO"; case AWSEC2VolumeAttributeNameProductCodes: return @"productCodes"; default: return nil; } }]; } @end @implementation AWSEC2DescribeVolumeAttributeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"autoEnableIO" : @"AutoEnableIO", @"productCodes" : @"ProductCodes", @"volumeId" : @"VolumeId", }; } + (NSValueTransformer *)autoEnableIOJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)productCodesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ProductCode class]]; } @end @implementation AWSEC2DescribeVolumeStatusRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"volumeIds" : @"VolumeIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVolumeStatusResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"volumeStatuses" : @"VolumeStatuses", }; } + (NSValueTransformer *)volumeStatusesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VolumeStatusItem class]]; } @end @implementation AWSEC2DescribeVolumesModificationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"volumeIds" : @"VolumeIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVolumesModificationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"volumesModifications" : @"VolumesModifications", }; } + (NSValueTransformer *)volumesModificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VolumeModification class]]; } @end @implementation AWSEC2DescribeVolumesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"volumeIds" : @"VolumeIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVolumesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"volumes" : @"Volumes", }; } + (NSValueTransformer *)volumesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Volume class]]; } @end @implementation AWSEC2DescribeVpcAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attribute" : @"Attribute", @"dryRun" : @"DryRun", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enableDnsSupport"] == NSOrderedSame) { return @(AWSEC2VpcAttributeNameEnableDNSSupport); } if ([value caseInsensitiveCompare:@"enableDnsHostnames"] == NSOrderedSame) { return @(AWSEC2VpcAttributeNameEnableDNSHostnames); } if ([value caseInsensitiveCompare:@"enableNetworkAddressUsageMetrics"] == NSOrderedSame) { return @(AWSEC2VpcAttributeNameEnableNetworkAddressUsageMetrics); } return @(AWSEC2VpcAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VpcAttributeNameEnableDNSSupport: return @"enableDnsSupport"; case AWSEC2VpcAttributeNameEnableDNSHostnames: return @"enableDnsHostnames"; case AWSEC2VpcAttributeNameEnableNetworkAddressUsageMetrics: return @"enableNetworkAddressUsageMetrics"; default: return nil; } }]; } @end @implementation AWSEC2DescribeVpcAttributeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enableDnsHostnames" : @"EnableDnsHostnames", @"enableDnsSupport" : @"EnableDnsSupport", @"enableNetworkAddressUsageMetrics" : @"EnableNetworkAddressUsageMetrics", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)enableDnsHostnamesJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)enableDnsSupportJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)enableNetworkAddressUsageMetricsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } @end @implementation AWSEC2DescribeVpcClassicLinkDnsSupportRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"vpcIds" : @"VpcIds", }; } @end @implementation AWSEC2DescribeVpcClassicLinkDnsSupportResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"vpcs" : @"Vpcs", }; } + (NSValueTransformer *)vpcsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ClassicLinkDnsSupport class]]; } @end @implementation AWSEC2DescribeVpcClassicLinkRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"vpcIds" : @"VpcIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVpcClassicLinkResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpcs" : @"Vpcs", }; } + (NSValueTransformer *)vpcsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VpcClassicLink class]]; } @end @implementation AWSEC2DescribeVpcEndpointConnectionNotificationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"connectionNotificationId" : @"ConnectionNotificationId", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVpcEndpointConnectionNotificationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"connectionNotificationSet" : @"ConnectionNotificationSet", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)connectionNotificationSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ConnectionNotification class]]; } @end @implementation AWSEC2DescribeVpcEndpointConnectionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVpcEndpointConnectionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"vpcEndpointConnections" : @"VpcEndpointConnections", }; } + (NSValueTransformer *)vpcEndpointConnectionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VpcEndpointConnection class]]; } @end @implementation AWSEC2DescribeVpcEndpointServiceConfigurationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"serviceIds" : @"ServiceIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVpcEndpointServiceConfigurationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"serviceConfigurations" : @"ServiceConfigurations", }; } + (NSValueTransformer *)serviceConfigurationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ServiceConfiguration class]]; } @end @implementation AWSEC2DescribeVpcEndpointServicePermissionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"serviceId" : @"ServiceId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVpcEndpointServicePermissionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allowedPrincipals" : @"AllowedPrincipals", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)allowedPrincipalsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AllowedPrincipal class]]; } @end @implementation AWSEC2DescribeVpcEndpointServicesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"serviceNames" : @"ServiceNames", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVpcEndpointServicesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"serviceDetails" : @"ServiceDetails", @"serviceNames" : @"ServiceNames", }; } + (NSValueTransformer *)serviceDetailsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ServiceDetail class]]; } @end @implementation AWSEC2DescribeVpcEndpointsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"vpcEndpointIds" : @"VpcEndpointIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVpcEndpointsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"vpcEndpoints" : @"VpcEndpoints", }; } + (NSValueTransformer *)vpcEndpointsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VpcEndpoint class]]; } @end @implementation AWSEC2DescribeVpcPeeringConnectionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"vpcPeeringConnectionIds" : @"VpcPeeringConnectionIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVpcPeeringConnectionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"vpcPeeringConnections" : @"VpcPeeringConnections", }; } + (NSValueTransformer *)vpcPeeringConnectionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VpcPeeringConnection class]]; } @end @implementation AWSEC2DescribeVpcsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"vpcIds" : @"VpcIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVpcsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"vpcs" : @"Vpcs", }; } + (NSValueTransformer *)vpcsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Vpc class]]; } @end @implementation AWSEC2DescribeVpnConnectionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"vpnConnectionIds" : @"VpnConnectionIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVpnConnectionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpnConnections" : @"VpnConnections", }; } + (NSValueTransformer *)vpnConnectionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VpnConnection class]]; } @end @implementation AWSEC2DescribeVpnGatewaysRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"vpnGatewayIds" : @"VpnGatewayIds", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2DescribeVpnGatewaysResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpnGateways" : @"VpnGateways", }; } + (NSValueTransformer *)vpnGatewaysJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VpnGateway class]]; } @end @implementation AWSEC2DestinationOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fileFormat" : @"FileFormat", @"hiveCompatiblePartitions" : @"HiveCompatiblePartitions", @"perHourPartition" : @"PerHourPartition", }; } + (NSValueTransformer *)fileFormatJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"plain-text"] == NSOrderedSame) { return @(AWSEC2DestinationFileFormatPlainText); } if ([value caseInsensitiveCompare:@"parquet"] == NSOrderedSame) { return @(AWSEC2DestinationFileFormatParquet); } return @(AWSEC2DestinationFileFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DestinationFileFormatPlainText: return @"plain-text"; case AWSEC2DestinationFileFormatParquet: return @"parquet"; default: return nil; } }]; } @end @implementation AWSEC2DestinationOptionsResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fileFormat" : @"FileFormat", @"hiveCompatiblePartitions" : @"HiveCompatiblePartitions", @"perHourPartition" : @"PerHourPartition", }; } + (NSValueTransformer *)fileFormatJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"plain-text"] == NSOrderedSame) { return @(AWSEC2DestinationFileFormatPlainText); } if ([value caseInsensitiveCompare:@"parquet"] == NSOrderedSame) { return @(AWSEC2DestinationFileFormatParquet); } return @(AWSEC2DestinationFileFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DestinationFileFormatPlainText: return @"plain-text"; case AWSEC2DestinationFileFormatParquet: return @"parquet"; default: return nil; } }]; } @end @implementation AWSEC2DetachClassicLinkVpcRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", @"vpcId" : @"VpcId", }; } @end @implementation AWSEC2DetachClassicLinkVpcResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2DetachInternetGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"internetGatewayId" : @"InternetGatewayId", @"vpcId" : @"VpcId", }; } @end @implementation AWSEC2DetachNetworkInterfaceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attachmentId" : @"AttachmentId", @"dryRun" : @"DryRun", @"force" : @"Force", }; } @end @implementation AWSEC2DetachVerifiedAccessTrustProviderRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"verifiedAccessInstanceId" : @"VerifiedAccessInstanceId", @"verifiedAccessTrustProviderId" : @"VerifiedAccessTrustProviderId", }; } @end @implementation AWSEC2DetachVerifiedAccessTrustProviderResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"verifiedAccessInstance" : @"VerifiedAccessInstance", @"verifiedAccessTrustProvider" : @"VerifiedAccessTrustProvider", }; } + (NSValueTransformer *)verifiedAccessInstanceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessInstance class]]; } + (NSValueTransformer *)verifiedAccessTrustProviderJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessTrustProvider class]]; } @end @implementation AWSEC2DetachVolumeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"device" : @"Device", @"dryRun" : @"DryRun", @"force" : @"Force", @"instanceId" : @"InstanceId", @"volumeId" : @"VolumeId", }; } @end @implementation AWSEC2DetachVpnGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"vpcId" : @"VpcId", @"vpnGatewayId" : @"VpnGatewayId", }; } @end @implementation AWSEC2DeviceOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"tenantId" : @"TenantId", }; } @end @implementation AWSEC2DhcpConfiguration + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"key" : @"Key", @"values" : @"Values", }; } + (NSValueTransformer *)valuesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AttributeValue class]]; } @end @implementation AWSEC2DhcpOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dhcpConfigurations" : @"DhcpConfigurations", @"dhcpOptionsId" : @"DhcpOptionsId", @"ownerId" : @"OwnerId", @"tags" : @"Tags", }; } + (NSValueTransformer *)dhcpConfigurationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DhcpConfiguration class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2DirectoryServiceAuthentication + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"directoryId" : @"DirectoryId", }; } @end @implementation AWSEC2DirectoryServiceAuthenticationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"directoryId" : @"DirectoryId", }; } @end @implementation AWSEC2DisableAddressTransferRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationId" : @"AllocationId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DisableAddressTransferResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addressTransfer" : @"AddressTransfer", }; } + (NSValueTransformer *)addressTransferJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AddressTransfer class]]; } @end @implementation AWSEC2DisableAwsNetworkPerformanceMetricSubscriptionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destination" : @"Destination", @"dryRun" : @"DryRun", @"metric" : @"Metric", @"source" : @"Source", @"statistic" : @"Statistic", }; } + (NSValueTransformer *)metricJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"aggregate-latency"] == NSOrderedSame) { return @(AWSEC2MetricTypeAggregateLatency); } return @(AWSEC2MetricTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MetricTypeAggregateLatency: return @"aggregate-latency"; default: return nil; } }]; } + (NSValueTransformer *)statisticJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"p50"] == NSOrderedSame) { return @(AWSEC2StatisticTypeP50); } return @(AWSEC2StatisticTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2StatisticTypeP50: return @"p50"; default: return nil; } }]; } @end @implementation AWSEC2DisableAwsNetworkPerformanceMetricSubscriptionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"output" : @"Output", }; } @end @implementation AWSEC2DisableEbsEncryptionByDefaultRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DisableEbsEncryptionByDefaultResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ebsEncryptionByDefault" : @"EbsEncryptionByDefault", }; } @end @implementation AWSEC2DisableFastLaunchRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"force" : @"Force", @"imageId" : @"ImageId", }; } @end @implementation AWSEC2DisableFastLaunchResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"imageId" : @"ImageId", @"launchTemplate" : @"LaunchTemplate", @"maxParallelLaunches" : @"MaxParallelLaunches", @"ownerId" : @"OwnerId", @"resourceType" : @"ResourceType", @"snapshotConfiguration" : @"SnapshotConfiguration", @"state" : @"State", @"stateTransitionReason" : @"StateTransitionReason", @"stateTransitionTime" : @"StateTransitionTime", }; } + (NSValueTransformer *)launchTemplateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FastLaunchLaunchTemplateSpecificationResponse class]]; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"snapshot"] == NSOrderedSame) { return @(AWSEC2FastLaunchResourceTypeSnapshot); } return @(AWSEC2FastLaunchResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FastLaunchResourceTypeSnapshot: return @"snapshot"; default: return nil; } }]; } + (NSValueTransformer *)snapshotConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FastLaunchSnapshotConfigurationResponse class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enabling"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeEnabling); } if ([value caseInsensitiveCompare:@"enabling-failed"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeEnablingFailed); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeEnabled); } if ([value caseInsensitiveCompare:@"enabled-failed"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeEnabledFailed); } if ([value caseInsensitiveCompare:@"disabling"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeDisabling); } if ([value caseInsensitiveCompare:@"disabling-failed"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeDisablingFailed); } return @(AWSEC2FastLaunchStateCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FastLaunchStateCodeEnabling: return @"enabling"; case AWSEC2FastLaunchStateCodeEnablingFailed: return @"enabling-failed"; case AWSEC2FastLaunchStateCodeEnabled: return @"enabled"; case AWSEC2FastLaunchStateCodeEnabledFailed: return @"enabled-failed"; case AWSEC2FastLaunchStateCodeDisabling: return @"disabling"; case AWSEC2FastLaunchStateCodeDisablingFailed: return @"disabling-failed"; default: return nil; } }]; } + (NSValueTransformer *)stateTransitionTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2DisableFastSnapshotRestoreErrorItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fastSnapshotRestoreStateErrors" : @"FastSnapshotRestoreStateErrors", @"snapshotId" : @"SnapshotId", }; } + (NSValueTransformer *)fastSnapshotRestoreStateErrorsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DisableFastSnapshotRestoreStateErrorItem class]]; } @end @implementation AWSEC2DisableFastSnapshotRestoreStateError + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } @end @implementation AWSEC2DisableFastSnapshotRestoreStateErrorItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"error" : @"Error", }; } + (NSValueTransformer *)errorJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DisableFastSnapshotRestoreStateError class]]; } @end @implementation AWSEC2DisableFastSnapshotRestoreSuccessItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"disabledTime" : @"DisabledTime", @"disablingTime" : @"DisablingTime", @"enabledTime" : @"EnabledTime", @"enablingTime" : @"EnablingTime", @"optimizingTime" : @"OptimizingTime", @"ownerAlias" : @"OwnerAlias", @"ownerId" : @"OwnerId", @"snapshotId" : @"SnapshotId", @"state" : @"State", @"stateTransitionReason" : @"StateTransitionReason", }; } + (NSValueTransformer *)disabledTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)disablingTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)enabledTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)enablingTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)optimizingTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enabling"] == NSOrderedSame) { return @(AWSEC2FastSnapshotRestoreStateCodeEnabling); } if ([value caseInsensitiveCompare:@"optimizing"] == NSOrderedSame) { return @(AWSEC2FastSnapshotRestoreStateCodeOptimizing); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2FastSnapshotRestoreStateCodeEnabled); } if ([value caseInsensitiveCompare:@"disabling"] == NSOrderedSame) { return @(AWSEC2FastSnapshotRestoreStateCodeDisabling); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2FastSnapshotRestoreStateCodeDisabled); } return @(AWSEC2FastSnapshotRestoreStateCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FastSnapshotRestoreStateCodeEnabling: return @"enabling"; case AWSEC2FastSnapshotRestoreStateCodeOptimizing: return @"optimizing"; case AWSEC2FastSnapshotRestoreStateCodeEnabled: return @"enabled"; case AWSEC2FastSnapshotRestoreStateCodeDisabling: return @"disabling"; case AWSEC2FastSnapshotRestoreStateCodeDisabled: return @"disabled"; default: return nil; } }]; } @end @implementation AWSEC2DisableFastSnapshotRestoresRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZones" : @"AvailabilityZones", @"dryRun" : @"DryRun", @"sourceSnapshotIds" : @"SourceSnapshotIds", }; } @end @implementation AWSEC2DisableFastSnapshotRestoresResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"successful" : @"Successful", @"unsuccessful" : @"Unsuccessful", }; } + (NSValueTransformer *)successfulJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DisableFastSnapshotRestoreSuccessItem class]]; } + (NSValueTransformer *)unsuccessfulJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DisableFastSnapshotRestoreErrorItem class]]; } @end @implementation AWSEC2DisableImageDeprecationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"imageId" : @"ImageId", }; } @end @implementation AWSEC2DisableImageDeprecationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2DisableIpamOrganizationAdminAccountRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"delegatedAdminAccountId" : @"DelegatedAdminAccountId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DisableIpamOrganizationAdminAccountResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"success" : @"Success", }; } @end @implementation AWSEC2DisableSerialConsoleAccessRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DisableSerialConsoleAccessResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"serialConsoleAccessEnabled" : @"SerialConsoleAccessEnabled", }; } @end @implementation AWSEC2DisableTransitGatewayRouteTablePropagationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayRouteTableAnnouncementId" : @"TransitGatewayRouteTableAnnouncementId", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } @end @implementation AWSEC2DisableTransitGatewayRouteTablePropagationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"propagation" : @"Propagation", }; } + (NSValueTransformer *)propagationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPropagation class]]; } @end @implementation AWSEC2DisableVgwRoutePropagationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"gatewayId" : @"GatewayId", @"routeTableId" : @"RouteTableId", }; } @end @implementation AWSEC2DisableVpcClassicLinkDnsSupportRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpcId" : @"VpcId", }; } @end @implementation AWSEC2DisableVpcClassicLinkDnsSupportResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2DisableVpcClassicLinkRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"vpcId" : @"VpcId", }; } @end @implementation AWSEC2DisableVpcClassicLinkResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2DisassociateAddressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"dryRun" : @"DryRun", @"publicIp" : @"PublicIp", }; } @end @implementation AWSEC2DisassociateClientVpnTargetNetworkRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DisassociateClientVpnTargetNetworkResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"status" : @"Status", }; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AssociationStatus class]]; } @end @implementation AWSEC2DisassociateEnclaveCertificateIamRoleRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"certificateArn" : @"CertificateArn", @"dryRun" : @"DryRun", @"roleArn" : @"RoleArn", }; } @end @implementation AWSEC2DisassociateEnclaveCertificateIamRoleResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2DisassociateIamInstanceProfileRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", }; } @end @implementation AWSEC2DisassociateIamInstanceProfileResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"iamInstanceProfileAssociation" : @"IamInstanceProfileAssociation", }; } + (NSValueTransformer *)iamInstanceProfileAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IamInstanceProfileAssociation class]]; } @end @implementation AWSEC2DisassociateInstanceEventWindowRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationTarget" : @"AssociationTarget", @"dryRun" : @"DryRun", @"instanceEventWindowId" : @"InstanceEventWindowId", }; } + (NSValueTransformer *)associationTargetJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceEventWindowDisassociationRequest class]]; } @end @implementation AWSEC2DisassociateInstanceEventWindowResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceEventWindow" : @"InstanceEventWindow", }; } + (NSValueTransformer *)instanceEventWindowJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceEventWindow class]]; } @end @implementation AWSEC2DisassociateIpamResourceDiscoveryRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"ipamResourceDiscoveryAssociationId" : @"IpamResourceDiscoveryAssociationId", }; } @end @implementation AWSEC2DisassociateIpamResourceDiscoveryResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamResourceDiscoveryAssociation" : @"IpamResourceDiscoveryAssociation", }; } + (NSValueTransformer *)ipamResourceDiscoveryAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamResourceDiscoveryAssociation class]]; } @end @implementation AWSEC2DisassociateNatGatewayAddressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationIds" : @"AssociationIds", @"dryRun" : @"DryRun", @"maxDrainDurationSeconds" : @"MaxDrainDurationSeconds", @"natGatewayId" : @"NatGatewayId", }; } @end @implementation AWSEC2DisassociateNatGatewayAddressResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"natGatewayAddresses" : @"NatGatewayAddresses", @"natGatewayId" : @"NatGatewayId", }; } + (NSValueTransformer *)natGatewayAddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NatGatewayAddress class]]; } @end @implementation AWSEC2DisassociateRouteTableRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DisassociateSubnetCidrBlockRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", }; } @end @implementation AWSEC2DisassociateSubnetCidrBlockResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6CidrBlockAssociation" : @"Ipv6CidrBlockAssociation", @"subnetId" : @"SubnetId", }; } + (NSValueTransformer *)ipv6CidrBlockAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SubnetIpv6CidrBlockAssociation class]]; } @end @implementation AWSEC2DisassociateTransitGatewayMulticastDomainRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"subnetIds" : @"SubnetIds", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } @end @implementation AWSEC2DisassociateTransitGatewayMulticastDomainResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associations" : @"Associations", }; } + (NSValueTransformer *)associationsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayMulticastDomainAssociations class]]; } @end @implementation AWSEC2DisassociateTransitGatewayPolicyTableRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayPolicyTableId" : @"TransitGatewayPolicyTableId", }; } @end @implementation AWSEC2DisassociateTransitGatewayPolicyTableResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"association" : @"Association", }; } + (NSValueTransformer *)associationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPolicyTableAssociation class]]; } @end @implementation AWSEC2DisassociateTransitGatewayRouteTableRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } @end @implementation AWSEC2DisassociateTransitGatewayRouteTableResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"association" : @"Association", }; } + (NSValueTransformer *)associationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayAssociation class]]; } @end @implementation AWSEC2DisassociateTrunkInterfaceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2DisassociateTrunkInterfaceResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"returned" : @"Return", }; } @end @implementation AWSEC2DisassociateVpcCidrBlockRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", }; } @end @implementation AWSEC2DisassociateVpcCidrBlockResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrBlockAssociation" : @"CidrBlockAssociation", @"ipv6CidrBlockAssociation" : @"Ipv6CidrBlockAssociation", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)cidrBlockAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpcCidrBlockAssociation class]]; } + (NSValueTransformer *)ipv6CidrBlockAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpcIpv6CidrBlockAssociation class]]; } @end @implementation AWSEC2DiskImage + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"image" : @"Image", @"volume" : @"Volume", }; } + (NSValueTransformer *)imageJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DiskImageDetail class]]; } + (NSValueTransformer *)volumeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VolumeDetail class]]; } @end @implementation AWSEC2DiskImageDescription + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"checksum" : @"Checksum", @"format" : @"Format", @"importManifestUrl" : @"ImportManifestUrl", @"size" : @"Size", }; } + (NSValueTransformer *)formatJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"VMDK"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatVMDK); } if ([value caseInsensitiveCompare:@"RAW"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatRAW); } if ([value caseInsensitiveCompare:@"VHD"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatVHD); } return @(AWSEC2DiskImageFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DiskImageFormatVMDK: return @"VMDK"; case AWSEC2DiskImageFormatRAW: return @"RAW"; case AWSEC2DiskImageFormatVHD: return @"VHD"; default: return nil; } }]; } @end @implementation AWSEC2DiskImageDetail + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bytes" : @"Bytes", @"format" : @"Format", @"importManifestUrl" : @"ImportManifestUrl", }; } + (NSValueTransformer *)formatJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"VMDK"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatVMDK); } if ([value caseInsensitiveCompare:@"RAW"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatRAW); } if ([value caseInsensitiveCompare:@"VHD"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatVHD); } return @(AWSEC2DiskImageFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DiskImageFormatVMDK: return @"VMDK"; case AWSEC2DiskImageFormatRAW: return @"RAW"; case AWSEC2DiskImageFormatVHD: return @"VHD"; default: return nil; } }]; } @end @implementation AWSEC2DiskImageVolumeDescription + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"identifier" : @"Id", @"size" : @"Size", }; } @end @implementation AWSEC2DiskInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"count" : @"Count", @"sizeInGB" : @"SizeInGB", @"types" : @"Type", }; } + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"hdd"] == NSOrderedSame) { return @(AWSEC2DiskTypeHdd); } if ([value caseInsensitiveCompare:@"ssd"] == NSOrderedSame) { return @(AWSEC2DiskTypeSsd); } return @(AWSEC2DiskTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DiskTypeHdd: return @"hdd"; case AWSEC2DiskTypeSsd: return @"ssd"; default: return nil; } }]; } @end @implementation AWSEC2DnsEntry + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dnsName" : @"DnsName", @"hostedZoneId" : @"HostedZoneId", }; } @end @implementation AWSEC2DnsOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dnsRecordIpType" : @"DnsRecordIpType", @"privateDnsOnlyForInboundResolverEndpoint" : @"PrivateDnsOnlyForInboundResolverEndpoint", }; } + (NSValueTransformer *)dnsRecordIpTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ipv4"] == NSOrderedSame) { return @(AWSEC2DnsRecordIpTypeIpv4); } if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { return @(AWSEC2DnsRecordIpTypeDualstack); } if ([value caseInsensitiveCompare:@"ipv6"] == NSOrderedSame) { return @(AWSEC2DnsRecordIpTypeIpv6); } if ([value caseInsensitiveCompare:@"service-defined"] == NSOrderedSame) { return @(AWSEC2DnsRecordIpTypeServiceDefined); } return @(AWSEC2DnsRecordIpTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DnsRecordIpTypeIpv4: return @"ipv4"; case AWSEC2DnsRecordIpTypeDualstack: return @"dualstack"; case AWSEC2DnsRecordIpTypeIpv6: return @"ipv6"; case AWSEC2DnsRecordIpTypeServiceDefined: return @"service-defined"; default: return nil; } }]; } @end @implementation AWSEC2DnsOptionsSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dnsRecordIpType" : @"DnsRecordIpType", @"privateDnsOnlyForInboundResolverEndpoint" : @"PrivateDnsOnlyForInboundResolverEndpoint", }; } + (NSValueTransformer *)dnsRecordIpTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ipv4"] == NSOrderedSame) { return @(AWSEC2DnsRecordIpTypeIpv4); } if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { return @(AWSEC2DnsRecordIpTypeDualstack); } if ([value caseInsensitiveCompare:@"ipv6"] == NSOrderedSame) { return @(AWSEC2DnsRecordIpTypeIpv6); } if ([value caseInsensitiveCompare:@"service-defined"] == NSOrderedSame) { return @(AWSEC2DnsRecordIpTypeServiceDefined); } return @(AWSEC2DnsRecordIpTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DnsRecordIpTypeIpv4: return @"ipv4"; case AWSEC2DnsRecordIpTypeDualstack: return @"dualstack"; case AWSEC2DnsRecordIpTypeIpv6: return @"ipv6"; case AWSEC2DnsRecordIpTypeServiceDefined: return @"service-defined"; default: return nil; } }]; } @end @implementation AWSEC2DnsServersOptionsModifyStructure + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"customDnsServers" : @"CustomDnsServers", @"enabled" : @"Enabled", }; } @end @implementation AWSEC2EbsBlockDevice + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deleteOnTermination" : @"DeleteOnTermination", @"encrypted" : @"Encrypted", @"iops" : @"Iops", @"kmsKeyId" : @"KmsKeyId", @"outpostArn" : @"OutpostArn", @"snapshotId" : @"SnapshotId", @"throughput" : @"Throughput", @"volumeSize" : @"VolumeSize", @"volumeType" : @"VolumeType", }; } + (NSValueTransformer *)volumeTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2VolumeTypeStandard); } if ([value caseInsensitiveCompare:@"io1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIO1); } if ([value caseInsensitiveCompare:@"io2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIo2); } if ([value caseInsensitiveCompare:@"gp2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp2); } if ([value caseInsensitiveCompare:@"sc1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSc1); } if ([value caseInsensitiveCompare:@"st1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSt1); } if ([value caseInsensitiveCompare:@"gp3"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp3); } return @(AWSEC2VolumeTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VolumeTypeStandard: return @"standard"; case AWSEC2VolumeTypeIO1: return @"io1"; case AWSEC2VolumeTypeIo2: return @"io2"; case AWSEC2VolumeTypeGp2: return @"gp2"; case AWSEC2VolumeTypeSc1: return @"sc1"; case AWSEC2VolumeTypeSt1: return @"st1"; case AWSEC2VolumeTypeGp3: return @"gp3"; default: return nil; } }]; } @end @implementation AWSEC2EbsInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ebsOptimizedInfo" : @"EbsOptimizedInfo", @"ebsOptimizedSupport" : @"EbsOptimizedSupport", @"encryptionSupport" : @"EncryptionSupport", @"nvmeSupport" : @"NvmeSupport", }; } + (NSValueTransformer *)ebsOptimizedInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EbsOptimizedInfo class]]; } + (NSValueTransformer *)ebsOptimizedSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"unsupported"] == NSOrderedSame) { return @(AWSEC2EbsOptimizedSupportUnsupported); } if ([value caseInsensitiveCompare:@"supported"] == NSOrderedSame) { return @(AWSEC2EbsOptimizedSupportSupported); } if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2EbsOptimizedSupportDefault); } return @(AWSEC2EbsOptimizedSupportUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2EbsOptimizedSupportUnsupported: return @"unsupported"; case AWSEC2EbsOptimizedSupportSupported: return @"supported"; case AWSEC2EbsOptimizedSupportDefault: return @"default"; default: return nil; } }]; } + (NSValueTransformer *)encryptionSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"unsupported"] == NSOrderedSame) { return @(AWSEC2EbsEncryptionSupportUnsupported); } if ([value caseInsensitiveCompare:@"supported"] == NSOrderedSame) { return @(AWSEC2EbsEncryptionSupportSupported); } return @(AWSEC2EbsEncryptionSupportUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2EbsEncryptionSupportUnsupported: return @"unsupported"; case AWSEC2EbsEncryptionSupportSupported: return @"supported"; default: return nil; } }]; } + (NSValueTransformer *)nvmeSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"unsupported"] == NSOrderedSame) { return @(AWSEC2EbsNvmeSupportUnsupported); } if ([value caseInsensitiveCompare:@"supported"] == NSOrderedSame) { return @(AWSEC2EbsNvmeSupportSupported); } if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { return @(AWSEC2EbsNvmeSupportRequired); } return @(AWSEC2EbsNvmeSupportUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2EbsNvmeSupportUnsupported: return @"unsupported"; case AWSEC2EbsNvmeSupportSupported: return @"supported"; case AWSEC2EbsNvmeSupportRequired: return @"required"; default: return nil; } }]; } @end @implementation AWSEC2EbsInstanceBlockDevice + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attachTime" : @"AttachTime", @"deleteOnTermination" : @"DeleteOnTermination", @"status" : @"Status", @"volumeId" : @"VolumeId", }; } + (NSValueTransformer *)attachTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"attaching"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusAttaching); } if ([value caseInsensitiveCompare:@"attached"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusAttached); } if ([value caseInsensitiveCompare:@"detaching"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusDetaching); } if ([value caseInsensitiveCompare:@"detached"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusDetached); } return @(AWSEC2AttachmentStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AttachmentStatusAttaching: return @"attaching"; case AWSEC2AttachmentStatusAttached: return @"attached"; case AWSEC2AttachmentStatusDetaching: return @"detaching"; case AWSEC2AttachmentStatusDetached: return @"detached"; default: return nil; } }]; } @end @implementation AWSEC2EbsInstanceBlockDeviceSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deleteOnTermination" : @"DeleteOnTermination", @"volumeId" : @"VolumeId", }; } @end @implementation AWSEC2EbsOptimizedInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"baselineBandwidthInMbps" : @"BaselineBandwidthInMbps", @"baselineIops" : @"BaselineIops", @"baselineThroughputInMBps" : @"BaselineThroughputInMBps", @"maximumBandwidthInMbps" : @"MaximumBandwidthInMbps", @"maximumIops" : @"MaximumIops", @"maximumThroughputInMBps" : @"MaximumThroughputInMBps", }; } @end @implementation AWSEC2Ec2InstanceConnectEndpoint + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"createdAt" : @"CreatedAt", @"dnsName" : @"DnsName", @"fipsDnsName" : @"FipsDnsName", @"instanceConnectEndpointArn" : @"InstanceConnectEndpointArn", @"instanceConnectEndpointId" : @"InstanceConnectEndpointId", @"networkInterfaceIds" : @"NetworkInterfaceIds", @"ownerId" : @"OwnerId", @"preserveClientIp" : @"PreserveClientIp", @"securityGroupIds" : @"SecurityGroupIds", @"state" : @"State", @"stateMessage" : @"StateMessage", @"subnetId" : @"SubnetId", @"tags" : @"Tags", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)createdAtJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"create-in-progress"] == NSOrderedSame) { return @(AWSEC2Ec2InstanceConnectEndpointStateCreateInProgress); } if ([value caseInsensitiveCompare:@"create-complete"] == NSOrderedSame) { return @(AWSEC2Ec2InstanceConnectEndpointStateCreateComplete); } if ([value caseInsensitiveCompare:@"create-failed"] == NSOrderedSame) { return @(AWSEC2Ec2InstanceConnectEndpointStateCreateFailed); } if ([value caseInsensitiveCompare:@"delete-in-progress"] == NSOrderedSame) { return @(AWSEC2Ec2InstanceConnectEndpointStateDeleteInProgress); } if ([value caseInsensitiveCompare:@"delete-complete"] == NSOrderedSame) { return @(AWSEC2Ec2InstanceConnectEndpointStateDeleteComplete); } if ([value caseInsensitiveCompare:@"delete-failed"] == NSOrderedSame) { return @(AWSEC2Ec2InstanceConnectEndpointStateDeleteFailed); } return @(AWSEC2Ec2InstanceConnectEndpointStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2Ec2InstanceConnectEndpointStateCreateInProgress: return @"create-in-progress"; case AWSEC2Ec2InstanceConnectEndpointStateCreateComplete: return @"create-complete"; case AWSEC2Ec2InstanceConnectEndpointStateCreateFailed: return @"create-failed"; case AWSEC2Ec2InstanceConnectEndpointStateDeleteInProgress: return @"delete-in-progress"; case AWSEC2Ec2InstanceConnectEndpointStateDeleteComplete: return @"delete-complete"; case AWSEC2Ec2InstanceConnectEndpointStateDeleteFailed: return @"delete-failed"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2EfaInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"maximumEfaInterfaces" : @"MaximumEfaInterfaces", }; } @end @implementation AWSEC2EgressOnlyInternetGateway + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attachments" : @"Attachments", @"egressOnlyInternetGatewayId" : @"EgressOnlyInternetGatewayId", @"tags" : @"Tags", }; } + (NSValueTransformer *)attachmentsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InternetGatewayAttachment class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ElasticGpuAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"elasticGpuAssociationId" : @"ElasticGpuAssociationId", @"elasticGpuAssociationState" : @"ElasticGpuAssociationState", @"elasticGpuAssociationTime" : @"ElasticGpuAssociationTime", @"elasticGpuId" : @"ElasticGpuId", }; } @end @implementation AWSEC2ElasticGpuHealth + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"status" : @"Status", }; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"OK"] == NSOrderedSame) { return @(AWSEC2ElasticGpuStatusOK); } if ([value caseInsensitiveCompare:@"IMPAIRED"] == NSOrderedSame) { return @(AWSEC2ElasticGpuStatusImpaired); } return @(AWSEC2ElasticGpuStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ElasticGpuStatusOK: return @"OK"; case AWSEC2ElasticGpuStatusImpaired: return @"IMPAIRED"; default: return nil; } }]; } @end @implementation AWSEC2ElasticGpuSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"types" : @"Type", }; } @end @implementation AWSEC2ElasticGpuSpecificationResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"types" : @"Type", }; } @end @implementation AWSEC2ElasticGpus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"elasticGpuHealth" : @"ElasticGpuHealth", @"elasticGpuId" : @"ElasticGpuId", @"elasticGpuState" : @"ElasticGpuState", @"elasticGpuType" : @"ElasticGpuType", @"instanceId" : @"InstanceId", @"tags" : @"Tags", }; } + (NSValueTransformer *)elasticGpuHealthJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ElasticGpuHealth class]]; } + (NSValueTransformer *)elasticGpuStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ATTACHED"] == NSOrderedSame) { return @(AWSEC2ElasticGpuStateAttached); } return @(AWSEC2ElasticGpuStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ElasticGpuStateAttached: return @"ATTACHED"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ElasticInferenceAccelerator + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"count" : @"Count", @"types" : @"Type", }; } @end @implementation AWSEC2ElasticInferenceAcceleratorAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"elasticInferenceAcceleratorArn" : @"ElasticInferenceAcceleratorArn", @"elasticInferenceAcceleratorAssociationId" : @"ElasticInferenceAcceleratorAssociationId", @"elasticInferenceAcceleratorAssociationState" : @"ElasticInferenceAcceleratorAssociationState", @"elasticInferenceAcceleratorAssociationTime" : @"ElasticInferenceAcceleratorAssociationTime", }; } + (NSValueTransformer *)elasticInferenceAcceleratorAssociationTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2EnaSrdSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enaSrdEnabled" : @"EnaSrdEnabled", @"enaSrdUdpSpecification" : @"EnaSrdUdpSpecification", }; } + (NSValueTransformer *)enaSrdUdpSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EnaSrdUdpSpecification class]]; } @end @implementation AWSEC2EnaSrdUdpSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enaSrdUdpEnabled" : @"EnaSrdUdpEnabled", }; } @end @implementation AWSEC2EnableAddressTransferRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationId" : @"AllocationId", @"dryRun" : @"DryRun", @"transferAccountId" : @"TransferAccountId", }; } @end @implementation AWSEC2EnableAddressTransferResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addressTransfer" : @"AddressTransfer", }; } + (NSValueTransformer *)addressTransferJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AddressTransfer class]]; } @end @implementation AWSEC2EnableAwsNetworkPerformanceMetricSubscriptionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destination" : @"Destination", @"dryRun" : @"DryRun", @"metric" : @"Metric", @"source" : @"Source", @"statistic" : @"Statistic", }; } + (NSValueTransformer *)metricJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"aggregate-latency"] == NSOrderedSame) { return @(AWSEC2MetricTypeAggregateLatency); } return @(AWSEC2MetricTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MetricTypeAggregateLatency: return @"aggregate-latency"; default: return nil; } }]; } + (NSValueTransformer *)statisticJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"p50"] == NSOrderedSame) { return @(AWSEC2StatisticTypeP50); } return @(AWSEC2StatisticTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2StatisticTypeP50: return @"p50"; default: return nil; } }]; } @end @implementation AWSEC2EnableAwsNetworkPerformanceMetricSubscriptionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"output" : @"Output", }; } @end @implementation AWSEC2EnableEbsEncryptionByDefaultRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2EnableEbsEncryptionByDefaultResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ebsEncryptionByDefault" : @"EbsEncryptionByDefault", }; } @end @implementation AWSEC2EnableFastLaunchRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"imageId" : @"ImageId", @"launchTemplate" : @"LaunchTemplate", @"maxParallelLaunches" : @"MaxParallelLaunches", @"resourceType" : @"ResourceType", @"snapshotConfiguration" : @"SnapshotConfiguration", }; } + (NSValueTransformer *)launchTemplateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FastLaunchLaunchTemplateSpecificationRequest class]]; } + (NSValueTransformer *)snapshotConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FastLaunchSnapshotConfigurationRequest class]]; } @end @implementation AWSEC2EnableFastLaunchResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"imageId" : @"ImageId", @"launchTemplate" : @"LaunchTemplate", @"maxParallelLaunches" : @"MaxParallelLaunches", @"ownerId" : @"OwnerId", @"resourceType" : @"ResourceType", @"snapshotConfiguration" : @"SnapshotConfiguration", @"state" : @"State", @"stateTransitionReason" : @"StateTransitionReason", @"stateTransitionTime" : @"StateTransitionTime", }; } + (NSValueTransformer *)launchTemplateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FastLaunchLaunchTemplateSpecificationResponse class]]; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"snapshot"] == NSOrderedSame) { return @(AWSEC2FastLaunchResourceTypeSnapshot); } return @(AWSEC2FastLaunchResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FastLaunchResourceTypeSnapshot: return @"snapshot"; default: return nil; } }]; } + (NSValueTransformer *)snapshotConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FastLaunchSnapshotConfigurationResponse class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enabling"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeEnabling); } if ([value caseInsensitiveCompare:@"enabling-failed"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeEnablingFailed); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeEnabled); } if ([value caseInsensitiveCompare:@"enabled-failed"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeEnabledFailed); } if ([value caseInsensitiveCompare:@"disabling"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeDisabling); } if ([value caseInsensitiveCompare:@"disabling-failed"] == NSOrderedSame) { return @(AWSEC2FastLaunchStateCodeDisablingFailed); } return @(AWSEC2FastLaunchStateCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FastLaunchStateCodeEnabling: return @"enabling"; case AWSEC2FastLaunchStateCodeEnablingFailed: return @"enabling-failed"; case AWSEC2FastLaunchStateCodeEnabled: return @"enabled"; case AWSEC2FastLaunchStateCodeEnabledFailed: return @"enabled-failed"; case AWSEC2FastLaunchStateCodeDisabling: return @"disabling"; case AWSEC2FastLaunchStateCodeDisablingFailed: return @"disabling-failed"; default: return nil; } }]; } + (NSValueTransformer *)stateTransitionTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2EnableFastSnapshotRestoreErrorItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fastSnapshotRestoreStateErrors" : @"FastSnapshotRestoreStateErrors", @"snapshotId" : @"SnapshotId", }; } + (NSValueTransformer *)fastSnapshotRestoreStateErrorsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2EnableFastSnapshotRestoreStateErrorItem class]]; } @end @implementation AWSEC2EnableFastSnapshotRestoreStateError + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } @end @implementation AWSEC2EnableFastSnapshotRestoreStateErrorItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"error" : @"Error", }; } + (NSValueTransformer *)errorJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EnableFastSnapshotRestoreStateError class]]; } @end @implementation AWSEC2EnableFastSnapshotRestoreSuccessItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"disabledTime" : @"DisabledTime", @"disablingTime" : @"DisablingTime", @"enabledTime" : @"EnabledTime", @"enablingTime" : @"EnablingTime", @"optimizingTime" : @"OptimizingTime", @"ownerAlias" : @"OwnerAlias", @"ownerId" : @"OwnerId", @"snapshotId" : @"SnapshotId", @"state" : @"State", @"stateTransitionReason" : @"StateTransitionReason", }; } + (NSValueTransformer *)disabledTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)disablingTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)enabledTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)enablingTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)optimizingTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enabling"] == NSOrderedSame) { return @(AWSEC2FastSnapshotRestoreStateCodeEnabling); } if ([value caseInsensitiveCompare:@"optimizing"] == NSOrderedSame) { return @(AWSEC2FastSnapshotRestoreStateCodeOptimizing); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2FastSnapshotRestoreStateCodeEnabled); } if ([value caseInsensitiveCompare:@"disabling"] == NSOrderedSame) { return @(AWSEC2FastSnapshotRestoreStateCodeDisabling); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2FastSnapshotRestoreStateCodeDisabled); } return @(AWSEC2FastSnapshotRestoreStateCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FastSnapshotRestoreStateCodeEnabling: return @"enabling"; case AWSEC2FastSnapshotRestoreStateCodeOptimizing: return @"optimizing"; case AWSEC2FastSnapshotRestoreStateCodeEnabled: return @"enabled"; case AWSEC2FastSnapshotRestoreStateCodeDisabling: return @"disabling"; case AWSEC2FastSnapshotRestoreStateCodeDisabled: return @"disabled"; default: return nil; } }]; } @end @implementation AWSEC2EnableFastSnapshotRestoresRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZones" : @"AvailabilityZones", @"dryRun" : @"DryRun", @"sourceSnapshotIds" : @"SourceSnapshotIds", }; } @end @implementation AWSEC2EnableFastSnapshotRestoresResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"successful" : @"Successful", @"unsuccessful" : @"Unsuccessful", }; } + (NSValueTransformer *)successfulJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2EnableFastSnapshotRestoreSuccessItem class]]; } + (NSValueTransformer *)unsuccessfulJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2EnableFastSnapshotRestoreErrorItem class]]; } @end @implementation AWSEC2EnableImageDeprecationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deprecateAt" : @"DeprecateAt", @"dryRun" : @"DryRun", @"imageId" : @"ImageId", }; } + (NSValueTransformer *)deprecateAtJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2EnableImageDeprecationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2EnableIpamOrganizationAdminAccountRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"delegatedAdminAccountId" : @"DelegatedAdminAccountId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2EnableIpamOrganizationAdminAccountResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"success" : @"Success", }; } @end @implementation AWSEC2EnableReachabilityAnalyzerOrganizationSharingRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2EnableReachabilityAnalyzerOrganizationSharingResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returnValue" : @"ReturnValue", }; } @end @implementation AWSEC2EnableSerialConsoleAccessRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2EnableSerialConsoleAccessResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"serialConsoleAccessEnabled" : @"SerialConsoleAccessEnabled", }; } @end @implementation AWSEC2EnableTransitGatewayRouteTablePropagationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayRouteTableAnnouncementId" : @"TransitGatewayRouteTableAnnouncementId", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } @end @implementation AWSEC2EnableTransitGatewayRouteTablePropagationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"propagation" : @"Propagation", }; } + (NSValueTransformer *)propagationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPropagation class]]; } @end @implementation AWSEC2EnableVgwRoutePropagationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"gatewayId" : @"GatewayId", @"routeTableId" : @"RouteTableId", }; } @end @implementation AWSEC2EnableVolumeIORequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"volumeId" : @"VolumeId", }; } @end @implementation AWSEC2EnableVpcClassicLinkDnsSupportRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpcId" : @"VpcId", }; } @end @implementation AWSEC2EnableVpcClassicLinkDnsSupportResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2EnableVpcClassicLinkRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"vpcId" : @"VpcId", }; } @end @implementation AWSEC2EnableVpcClassicLinkResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2EnclaveOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enabled" : @"Enabled", }; } @end @implementation AWSEC2EnclaveOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enabled" : @"Enabled", }; } @end @implementation AWSEC2EventInformation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"eventDescription" : @"EventDescription", @"eventSubType" : @"EventSubType", @"instanceId" : @"InstanceId", }; } @end @implementation AWSEC2Explanation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"acl" : @"Acl", @"aclRule" : @"AclRule", @"address" : @"Address", @"addresses" : @"Addresses", @"attachedTo" : @"AttachedTo", @"availabilityZones" : @"AvailabilityZones", @"cidrs" : @"Cidrs", @"classicLoadBalancerListener" : @"ClassicLoadBalancerListener", @"component" : @"Component", @"componentAccount" : @"ComponentAccount", @"componentRegion" : @"ComponentRegion", @"customerGateway" : @"CustomerGateway", @"destination" : @"Destination", @"destinationVpc" : @"DestinationVpc", @"direction" : @"Direction", @"elasticLoadBalancerListener" : @"ElasticLoadBalancerListener", @"explanationCode" : @"ExplanationCode", @"firewallStatefulRule" : @"FirewallStatefulRule", @"firewallStatelessRule" : @"FirewallStatelessRule", @"ingressRouteTable" : @"IngressRouteTable", @"internetGateway" : @"InternetGateway", @"loadBalancerArn" : @"LoadBalancerArn", @"loadBalancerListenerPort" : @"LoadBalancerListenerPort", @"loadBalancerTarget" : @"LoadBalancerTarget", @"loadBalancerTargetGroup" : @"LoadBalancerTargetGroup", @"loadBalancerTargetGroups" : @"LoadBalancerTargetGroups", @"loadBalancerTargetPort" : @"LoadBalancerTargetPort", @"missingComponent" : @"MissingComponent", @"natGateway" : @"NatGateway", @"networkInterface" : @"NetworkInterface", @"packetField" : @"PacketField", @"port" : @"Port", @"portRanges" : @"PortRanges", @"prefixList" : @"PrefixList", @"protocols" : @"Protocols", @"routeTable" : @"RouteTable", @"routeTableRoute" : @"RouteTableRoute", @"securityGroup" : @"SecurityGroup", @"securityGroupRule" : @"SecurityGroupRule", @"securityGroups" : @"SecurityGroups", @"sourceVpc" : @"SourceVpc", @"state" : @"State", @"subnet" : @"Subnet", @"subnetRouteTable" : @"SubnetRouteTable", @"transitGateway" : @"TransitGateway", @"transitGatewayAttachment" : @"TransitGatewayAttachment", @"transitGatewayRouteTable" : @"TransitGatewayRouteTable", @"transitGatewayRouteTableRoute" : @"TransitGatewayRouteTableRoute", @"vpc" : @"Vpc", @"vpcEndpoint" : @"VpcEndpoint", @"vpcPeeringConnection" : @"VpcPeeringConnection", @"vpnConnection" : @"VpnConnection", @"vpnGateway" : @"VpnGateway", }; } + (NSValueTransformer *)aclJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)aclRuleJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisAclRule class]]; } + (NSValueTransformer *)attachedToJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)classicLoadBalancerListenerJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisLoadBalancerListener class]]; } + (NSValueTransformer *)componentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)customerGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)destinationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)destinationVpcJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)elasticLoadBalancerListenerJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)firewallStatefulRuleJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FirewallStatefulRule class]]; } + (NSValueTransformer *)firewallStatelessRuleJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FirewallStatelessRule class]]; } + (NSValueTransformer *)ingressRouteTableJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)internetGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)loadBalancerTargetJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisLoadBalancerTarget class]]; } + (NSValueTransformer *)loadBalancerTargetGroupJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)loadBalancerTargetGroupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)natGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)networkInterfaceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)portRangesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PortRange class]]; } + (NSValueTransformer *)prefixListJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)routeTableJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)routeTableRouteJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisRouteTableRoute class]]; } + (NSValueTransformer *)securityGroupJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)securityGroupRuleJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisSecurityGroupRule class]]; } + (NSValueTransformer *)securityGroupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)sourceVpcJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)subnetJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)subnetRouteTableJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)transitGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)transitGatewayAttachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)transitGatewayRouteTableJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)transitGatewayRouteTableRouteJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayRouteTableRoute class]]; } + (NSValueTransformer *)vpcJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)vpcEndpointJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)vpcPeeringConnectionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)vpnConnectionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)vpnGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } @end @implementation AWSEC2ExportClientVpnClientCertificateRevocationListRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2ExportClientVpnClientCertificateRevocationListResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"certificateRevocationList" : @"CertificateRevocationList", @"status" : @"Status", }; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientCertificateRevocationListStatus class]]; } @end @implementation AWSEC2ExportClientVpnClientConfigurationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2ExportClientVpnClientConfigurationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientConfiguration" : @"ClientConfiguration", }; } @end @implementation AWSEC2ExportImageRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"diskImageFormat" : @"DiskImageFormat", @"dryRun" : @"DryRun", @"imageId" : @"ImageId", @"roleName" : @"RoleName", @"s3ExportLocation" : @"S3ExportLocation", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)diskImageFormatJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"VMDK"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatVMDK); } if ([value caseInsensitiveCompare:@"RAW"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatRAW); } if ([value caseInsensitiveCompare:@"VHD"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatVHD); } return @(AWSEC2DiskImageFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DiskImageFormatVMDK: return @"VMDK"; case AWSEC2DiskImageFormatRAW: return @"RAW"; case AWSEC2DiskImageFormatVHD: return @"VHD"; default: return nil; } }]; } + (NSValueTransformer *)s3ExportLocationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ExportTaskS3LocationRequest class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2ExportImageResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"diskImageFormat" : @"DiskImageFormat", @"exportImageTaskId" : @"ExportImageTaskId", @"imageId" : @"ImageId", @"progress" : @"Progress", @"roleName" : @"RoleName", @"s3ExportLocation" : @"S3ExportLocation", @"status" : @"Status", @"statusMessage" : @"StatusMessage", @"tags" : @"Tags", }; } + (NSValueTransformer *)diskImageFormatJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"VMDK"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatVMDK); } if ([value caseInsensitiveCompare:@"RAW"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatRAW); } if ([value caseInsensitiveCompare:@"VHD"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatVHD); } return @(AWSEC2DiskImageFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DiskImageFormatVMDK: return @"VMDK"; case AWSEC2DiskImageFormatRAW: return @"RAW"; case AWSEC2DiskImageFormatVHD: return @"VHD"; default: return nil; } }]; } + (NSValueTransformer *)s3ExportLocationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ExportTaskS3Location class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ExportImageTask + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"exportImageTaskId" : @"ExportImageTaskId", @"imageId" : @"ImageId", @"progress" : @"Progress", @"s3ExportLocation" : @"S3ExportLocation", @"status" : @"Status", @"statusMessage" : @"StatusMessage", @"tags" : @"Tags", }; } + (NSValueTransformer *)s3ExportLocationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ExportTaskS3Location class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ExportTask + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"exportTaskId" : @"ExportTaskId", @"exportToS3Task" : @"ExportToS3Task", @"instanceExportDetails" : @"InstanceExportDetails", @"state" : @"State", @"statusMessage" : @"StatusMessage", @"tags" : @"Tags", }; } + (NSValueTransformer *)exportToS3TaskJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ExportToS3Task class]]; } + (NSValueTransformer *)instanceExportDetailsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceExportDetails class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2ExportTaskStateActive); } if ([value caseInsensitiveCompare:@"cancelling"] == NSOrderedSame) { return @(AWSEC2ExportTaskStateCancelling); } if ([value caseInsensitiveCompare:@"cancelled"] == NSOrderedSame) { return @(AWSEC2ExportTaskStateCancelled); } if ([value caseInsensitiveCompare:@"completed"] == NSOrderedSame) { return @(AWSEC2ExportTaskStateCompleted); } return @(AWSEC2ExportTaskStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ExportTaskStateActive: return @"active"; case AWSEC2ExportTaskStateCancelling: return @"cancelling"; case AWSEC2ExportTaskStateCancelled: return @"cancelled"; case AWSEC2ExportTaskStateCompleted: return @"completed"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ExportTaskS3Location + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"s3Bucket" : @"S3Bucket", @"s3Prefix" : @"S3Prefix", }; } @end @implementation AWSEC2ExportTaskS3LocationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"s3Bucket" : @"S3Bucket", @"s3Prefix" : @"S3Prefix", }; } @end @implementation AWSEC2ExportToS3Task + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"containerFormat" : @"ContainerFormat", @"diskImageFormat" : @"DiskImageFormat", @"s3Bucket" : @"S3Bucket", @"s3Key" : @"S3Key", }; } + (NSValueTransformer *)containerFormatJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ova"] == NSOrderedSame) { return @(AWSEC2ContainerFormatOVA); } return @(AWSEC2ContainerFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ContainerFormatOVA: return @"ova"; default: return nil; } }]; } + (NSValueTransformer *)diskImageFormatJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"VMDK"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatVMDK); } if ([value caseInsensitiveCompare:@"RAW"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatRAW); } if ([value caseInsensitiveCompare:@"VHD"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatVHD); } return @(AWSEC2DiskImageFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DiskImageFormatVMDK: return @"VMDK"; case AWSEC2DiskImageFormatRAW: return @"RAW"; case AWSEC2DiskImageFormatVHD: return @"VHD"; default: return nil; } }]; } @end @implementation AWSEC2ExportToS3TaskSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"containerFormat" : @"ContainerFormat", @"diskImageFormat" : @"DiskImageFormat", @"s3Bucket" : @"S3Bucket", @"s3Prefix" : @"S3Prefix", }; } + (NSValueTransformer *)containerFormatJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ova"] == NSOrderedSame) { return @(AWSEC2ContainerFormatOVA); } return @(AWSEC2ContainerFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ContainerFormatOVA: return @"ova"; default: return nil; } }]; } + (NSValueTransformer *)diskImageFormatJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"VMDK"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatVMDK); } if ([value caseInsensitiveCompare:@"RAW"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatRAW); } if ([value caseInsensitiveCompare:@"VHD"] == NSOrderedSame) { return @(AWSEC2DiskImageFormatVHD); } return @(AWSEC2DiskImageFormatUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DiskImageFormatVMDK: return @"VMDK"; case AWSEC2DiskImageFormatRAW: return @"RAW"; case AWSEC2DiskImageFormatVHD: return @"VHD"; default: return nil; } }]; } @end @implementation AWSEC2ExportTransitGatewayRoutesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"s3Bucket" : @"S3Bucket", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2ExportTransitGatewayRoutesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"s3Location" : @"S3Location", }; } @end @implementation AWSEC2FailedCapacityReservationFleetCancellationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cancelCapacityReservationFleetError" : @"CancelCapacityReservationFleetError", @"capacityReservationFleetId" : @"CapacityReservationFleetId", }; } + (NSValueTransformer *)cancelCapacityReservationFleetErrorJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CancelCapacityReservationFleetError class]]; } @end @implementation AWSEC2FailedQueuedPurchaseDeletion + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"error" : @"Error", @"reservedInstancesId" : @"ReservedInstancesId", }; } + (NSValueTransformer *)errorJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DeleteQueuedReservedInstancesError class]]; } @end @implementation AWSEC2FastLaunchLaunchTemplateSpecificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplateId" : @"LaunchTemplateId", @"launchTemplateName" : @"LaunchTemplateName", @"version" : @"Version", }; } @end @implementation AWSEC2FastLaunchLaunchTemplateSpecificationResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplateId" : @"LaunchTemplateId", @"launchTemplateName" : @"LaunchTemplateName", @"version" : @"Version", }; } @end @implementation AWSEC2FastLaunchSnapshotConfigurationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"targetResourceCount" : @"TargetResourceCount", }; } @end @implementation AWSEC2FastLaunchSnapshotConfigurationResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"targetResourceCount" : @"TargetResourceCount", }; } @end @implementation AWSEC2FederatedAuthentication + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"samlProviderArn" : @"SamlProviderArn", @"selfServiceSamlProviderArn" : @"SelfServiceSamlProviderArn", }; } @end @implementation AWSEC2FederatedAuthenticationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"SAMLProviderArn" : @"SAMLProviderArn", @"selfServiceSAMLProviderArn" : @"SelfServiceSAMLProviderArn", }; } @end @implementation AWSEC2Filter + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"name" : @"Name", @"values" : @"Values", }; } @end @implementation AWSEC2FilterPortRange + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fromPort" : @"FromPort", @"toPort" : @"ToPort", }; } @end @implementation AWSEC2FirewallStatefulRule + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationPorts" : @"DestinationPorts", @"destinations" : @"Destinations", @"direction" : @"Direction", @"protocols" : @"Protocol", @"ruleAction" : @"RuleAction", @"ruleGroupArn" : @"RuleGroupArn", @"sourcePorts" : @"SourcePorts", @"sources" : @"Sources", }; } + (NSValueTransformer *)destinationPortsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PortRange class]]; } + (NSValueTransformer *)sourcePortsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PortRange class]]; } @end @implementation AWSEC2FirewallStatelessRule + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationPorts" : @"DestinationPorts", @"destinations" : @"Destinations", @"priority" : @"Priority", @"protocols" : @"Protocols", @"ruleAction" : @"RuleAction", @"ruleGroupArn" : @"RuleGroupArn", @"sourcePorts" : @"SourcePorts", @"sources" : @"Sources", }; } + (NSValueTransformer *)destinationPortsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PortRange class]]; } + (NSValueTransformer *)sourcePortsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PortRange class]]; } @end @implementation AWSEC2FleetCapacityReservation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"availabilityZoneId" : @"AvailabilityZoneId", @"capacityReservationId" : @"CapacityReservationId", @"createDate" : @"CreateDate", @"ebsOptimized" : @"EbsOptimized", @"fulfilledCapacity" : @"FulfilledCapacity", @"instancePlatform" : @"InstancePlatform", @"instanceType" : @"InstanceType", @"priority" : @"Priority", @"totalInstanceCount" : @"TotalInstanceCount", @"weight" : @"Weight", }; } + (NSValueTransformer *)createDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)instancePlatformJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Linux/UNIX"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxUNIX); } if ([value caseInsensitiveCompare:@"Red Hat Enterprise Linux"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRedHatEnterpriseLinux); } if ([value caseInsensitiveCompare:@"SUSE Linux"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformSUSELinux); } if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindows); } if ([value caseInsensitiveCompare:@"Windows with SQL Server"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServer); } if ([value caseInsensitiveCompare:@"Windows with SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerEnterprise); } if ([value caseInsensitiveCompare:@"Windows with SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerStandard); } if ([value caseInsensitiveCompare:@"Windows with SQL Server Web"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerWeb); } if ([value caseInsensitiveCompare:@"Linux with SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerStandard); } if ([value caseInsensitiveCompare:@"Linux with SQL Server Web"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerWeb); } if ([value caseInsensitiveCompare:@"Linux with SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerEnterprise); } if ([value caseInsensitiveCompare:@"RHEL with SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerStandard); } if ([value caseInsensitiveCompare:@"RHEL with SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerEnterprise); } if ([value caseInsensitiveCompare:@"RHEL with SQL Server Web"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerWeb); } if ([value caseInsensitiveCompare:@"RHEL with HA"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHA); } if ([value caseInsensitiveCompare:@"RHEL with HA and SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerStandard); } if ([value caseInsensitiveCompare:@"RHEL with HA and SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise); } return @(AWSEC2CapacityReservationInstancePlatformUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationInstancePlatformLinuxUNIX: return @"Linux/UNIX"; case AWSEC2CapacityReservationInstancePlatformRedHatEnterpriseLinux: return @"Red Hat Enterprise Linux"; case AWSEC2CapacityReservationInstancePlatformSUSELinux: return @"SUSE Linux"; case AWSEC2CapacityReservationInstancePlatformWindows: return @"Windows"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServer: return @"Windows with SQL Server"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerEnterprise: return @"Windows with SQL Server Enterprise"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerStandard: return @"Windows with SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerWeb: return @"Windows with SQL Server Web"; case AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerStandard: return @"Linux with SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerWeb: return @"Linux with SQL Server Web"; case AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerEnterprise: return @"Linux with SQL Server Enterprise"; case AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerStandard: return @"RHEL with SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerEnterprise: return @"RHEL with SQL Server Enterprise"; case AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerWeb: return @"RHEL with SQL Server Web"; case AWSEC2CapacityReservationInstancePlatformRHELWithHA: return @"RHEL with HA"; case AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerStandard: return @"RHEL with HA and SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise: return @"RHEL with HA and SQL Server Enterprise"; default: return nil; } }]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } @end @implementation AWSEC2FleetData + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"activityStatus" : @"ActivityStatus", @"clientToken" : @"ClientToken", @"context" : @"Context", @"createTime" : @"CreateTime", @"errors" : @"Errors", @"excessCapacityTerminationPolicy" : @"ExcessCapacityTerminationPolicy", @"fleetId" : @"FleetId", @"fleetState" : @"FleetState", @"fulfilledCapacity" : @"FulfilledCapacity", @"fulfilledOnDemandCapacity" : @"FulfilledOnDemandCapacity", @"instances" : @"Instances", @"launchTemplateConfigs" : @"LaunchTemplateConfigs", @"onDemandOptions" : @"OnDemandOptions", @"replaceUnhealthyInstances" : @"ReplaceUnhealthyInstances", @"spotOptions" : @"SpotOptions", @"tags" : @"Tags", @"targetCapacitySpecification" : @"TargetCapacitySpecification", @"terminateInstancesWithExpiration" : @"TerminateInstancesWithExpiration", @"types" : @"Type", @"validFrom" : @"ValidFrom", @"validUntil" : @"ValidUntil", }; } + (NSValueTransformer *)activityStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"error"] == NSOrderedSame) { return @(AWSEC2FleetActivityStatusError); } if ([value caseInsensitiveCompare:@"pending_fulfillment"] == NSOrderedSame) { return @(AWSEC2FleetActivityStatusPendingFulfillment); } if ([value caseInsensitiveCompare:@"pending_termination"] == NSOrderedSame) { return @(AWSEC2FleetActivityStatusPendingTermination); } if ([value caseInsensitiveCompare:@"fulfilled"] == NSOrderedSame) { return @(AWSEC2FleetActivityStatusFulfilled); } return @(AWSEC2FleetActivityStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetActivityStatusError: return @"error"; case AWSEC2FleetActivityStatusPendingFulfillment: return @"pending_fulfillment"; case AWSEC2FleetActivityStatusPendingTermination: return @"pending_termination"; case AWSEC2FleetActivityStatusFulfilled: return @"fulfilled"; default: return nil; } }]; } + (NSValueTransformer *)createTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)errorsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DescribeFleetError class]]; } + (NSValueTransformer *)excessCapacityTerminationPolicyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"no-termination"] == NSOrderedSame) { return @(AWSEC2FleetExcessCapacityTerminationPolicyNoTermination); } if ([value caseInsensitiveCompare:@"termination"] == NSOrderedSame) { return @(AWSEC2FleetExcessCapacityTerminationPolicyTermination); } return @(AWSEC2FleetExcessCapacityTerminationPolicyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetExcessCapacityTerminationPolicyNoTermination: return @"no-termination"; case AWSEC2FleetExcessCapacityTerminationPolicyTermination: return @"termination"; default: return nil; } }]; } + (NSValueTransformer *)fleetStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"submitted"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeSubmitted); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeActive); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeDeleted); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeFailed); } if ([value caseInsensitiveCompare:@"deleted_running"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeDeletedRunning); } if ([value caseInsensitiveCompare:@"deleted_terminating"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeDeletedTerminating); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2FleetStateCodeModifying); } return @(AWSEC2FleetStateCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetStateCodeSubmitted: return @"submitted"; case AWSEC2FleetStateCodeActive: return @"active"; case AWSEC2FleetStateCodeDeleted: return @"deleted"; case AWSEC2FleetStateCodeFailed: return @"failed"; case AWSEC2FleetStateCodeDeletedRunning: return @"deleted_running"; case AWSEC2FleetStateCodeDeletedTerminating: return @"deleted_terminating"; case AWSEC2FleetStateCodeModifying: return @"modifying"; default: return nil; } }]; } + (NSValueTransformer *)instancesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DescribeFleetsInstances class]]; } + (NSValueTransformer *)launchTemplateConfigsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2FleetLaunchTemplateConfig class]]; } + (NSValueTransformer *)onDemandOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2OnDemandOptions class]]; } + (NSValueTransformer *)spotOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotOptions class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)targetCapacitySpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TargetCapacitySpecification class]]; } + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"request"] == NSOrderedSame) { return @(AWSEC2FleetTypeRequest); } if ([value caseInsensitiveCompare:@"maintain"] == NSOrderedSame) { return @(AWSEC2FleetTypeMaintain); } if ([value caseInsensitiveCompare:@"instant"] == NSOrderedSame) { return @(AWSEC2FleetTypeInstant); } return @(AWSEC2FleetTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetTypeRequest: return @"request"; case AWSEC2FleetTypeMaintain: return @"maintain"; case AWSEC2FleetTypeInstant: return @"instant"; default: return nil; } }]; } + (NSValueTransformer *)validFromJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)validUntilJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2FleetLaunchTemplateConfig + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplateSpecification" : @"LaunchTemplateSpecification", @"overrides" : @"Overrides", }; } + (NSValueTransformer *)launchTemplateSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FleetLaunchTemplateSpecification class]]; } + (NSValueTransformer *)overridesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2FleetLaunchTemplateOverrides class]]; } @end @implementation AWSEC2FleetLaunchTemplateConfigRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplateSpecification" : @"LaunchTemplateSpecification", @"overrides" : @"Overrides", }; } + (NSValueTransformer *)launchTemplateSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FleetLaunchTemplateSpecificationRequest class]]; } + (NSValueTransformer *)overridesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2FleetLaunchTemplateOverridesRequest class]]; } @end @implementation AWSEC2FleetLaunchTemplateOverrides + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"imageId" : @"ImageId", @"instanceRequirements" : @"InstanceRequirements", @"instanceType" : @"InstanceType", @"maxPrice" : @"MaxPrice", @"placement" : @"Placement", @"priority" : @"Priority", @"subnetId" : @"SubnetId", @"weightedCapacity" : @"WeightedCapacity", }; } + (NSValueTransformer *)instanceRequirementsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceRequirements class]]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)placementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PlacementResponse class]]; } @end @implementation AWSEC2FleetLaunchTemplateOverridesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"imageId" : @"ImageId", @"instanceRequirements" : @"InstanceRequirements", @"instanceType" : @"InstanceType", @"maxPrice" : @"MaxPrice", @"placement" : @"Placement", @"priority" : @"Priority", @"subnetId" : @"SubnetId", @"weightedCapacity" : @"WeightedCapacity", }; } + (NSValueTransformer *)instanceRequirementsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceRequirementsRequest class]]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)placementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Placement class]]; } @end @implementation AWSEC2FleetLaunchTemplateSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplateId" : @"LaunchTemplateId", @"launchTemplateName" : @"LaunchTemplateName", @"version" : @"Version", }; } @end @implementation AWSEC2FleetLaunchTemplateSpecificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplateId" : @"LaunchTemplateId", @"launchTemplateName" : @"LaunchTemplateName", @"version" : @"Version", }; } @end @implementation AWSEC2FleetSpotCapacityRebalance + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"replacementStrategy" : @"ReplacementStrategy", @"terminationDelay" : @"TerminationDelay", }; } + (NSValueTransformer *)replacementStrategyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"launch"] == NSOrderedSame) { return @(AWSEC2FleetReplacementStrategyLaunch); } if ([value caseInsensitiveCompare:@"launch-before-terminate"] == NSOrderedSame) { return @(AWSEC2FleetReplacementStrategyLaunchBeforeTerminate); } return @(AWSEC2FleetReplacementStrategyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetReplacementStrategyLaunch: return @"launch"; case AWSEC2FleetReplacementStrategyLaunchBeforeTerminate: return @"launch-before-terminate"; default: return nil; } }]; } @end @implementation AWSEC2FleetSpotCapacityRebalanceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"replacementStrategy" : @"ReplacementStrategy", @"terminationDelay" : @"TerminationDelay", }; } + (NSValueTransformer *)replacementStrategyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"launch"] == NSOrderedSame) { return @(AWSEC2FleetReplacementStrategyLaunch); } if ([value caseInsensitiveCompare:@"launch-before-terminate"] == NSOrderedSame) { return @(AWSEC2FleetReplacementStrategyLaunchBeforeTerminate); } return @(AWSEC2FleetReplacementStrategyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetReplacementStrategyLaunch: return @"launch"; case AWSEC2FleetReplacementStrategyLaunchBeforeTerminate: return @"launch-before-terminate"; default: return nil; } }]; } @end @implementation AWSEC2FleetSpotMaintenanceStrategies + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityRebalance" : @"CapacityRebalance", }; } + (NSValueTransformer *)capacityRebalanceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FleetSpotCapacityRebalance class]]; } @end @implementation AWSEC2FleetSpotMaintenanceStrategiesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityRebalance" : @"CapacityRebalance", }; } + (NSValueTransformer *)capacityRebalanceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FleetSpotCapacityRebalanceRequest class]]; } @end @implementation AWSEC2FlowLog + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"creationTime" : @"CreationTime", @"deliverCrossAccountRole" : @"DeliverCrossAccountRole", @"deliverLogsErrorMessage" : @"DeliverLogsErrorMessage", @"deliverLogsPermissionArn" : @"DeliverLogsPermissionArn", @"deliverLogsStatus" : @"DeliverLogsStatus", @"destinationOptions" : @"DestinationOptions", @"flowLogId" : @"FlowLogId", @"flowLogStatus" : @"FlowLogStatus", @"logDestination" : @"LogDestination", @"logDestinationType" : @"LogDestinationType", @"logFormat" : @"LogFormat", @"logGroupName" : @"LogGroupName", @"maxAggregationInterval" : @"MaxAggregationInterval", @"resourceId" : @"ResourceId", @"tags" : @"Tags", @"trafficType" : @"TrafficType", }; } + (NSValueTransformer *)creationTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)destinationOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DestinationOptionsResponse class]]; } + (NSValueTransformer *)logDestinationTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"cloud-watch-logs"] == NSOrderedSame) { return @(AWSEC2LogDestinationTypeCloudWatchLogs); } if ([value caseInsensitiveCompare:@"s3"] == NSOrderedSame) { return @(AWSEC2LogDestinationTypeS3); } if ([value caseInsensitiveCompare:@"kinesis-data-firehose"] == NSOrderedSame) { return @(AWSEC2LogDestinationTypeKinesisDataFirehose); } return @(AWSEC2LogDestinationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LogDestinationTypeCloudWatchLogs: return @"cloud-watch-logs"; case AWSEC2LogDestinationTypeS3: return @"s3"; case AWSEC2LogDestinationTypeKinesisDataFirehose: return @"kinesis-data-firehose"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)trafficTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ACCEPT"] == NSOrderedSame) { return @(AWSEC2TrafficTypeAccept); } if ([value caseInsensitiveCompare:@"REJECT"] == NSOrderedSame) { return @(AWSEC2TrafficTypeReject); } if ([value caseInsensitiveCompare:@"ALL"] == NSOrderedSame) { return @(AWSEC2TrafficTypeAll); } return @(AWSEC2TrafficTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TrafficTypeAccept: return @"ACCEPT"; case AWSEC2TrafficTypeReject: return @"REJECT"; case AWSEC2TrafficTypeAll: return @"ALL"; default: return nil; } }]; } @end @implementation AWSEC2FpgaDeviceInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"count" : @"Count", @"manufacturer" : @"Manufacturer", @"memoryInfo" : @"MemoryInfo", @"name" : @"Name", }; } + (NSValueTransformer *)memoryInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FpgaDeviceMemoryInfo class]]; } @end @implementation AWSEC2FpgaDeviceMemoryInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"sizeInMiB" : @"SizeInMiB", }; } @end @implementation AWSEC2FpgaImage + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"createTime" : @"CreateTime", @"dataRetentionSupport" : @"DataRetentionSupport", @"detail" : @"Description", @"fpgaImageGlobalId" : @"FpgaImageGlobalId", @"fpgaImageId" : @"FpgaImageId", @"instanceTypes" : @"InstanceTypes", @"name" : @"Name", @"ownerAlias" : @"OwnerAlias", @"ownerId" : @"OwnerId", @"pciId" : @"PciId", @"productCodes" : @"ProductCodes", @"public" : @"Public", @"shellVersion" : @"ShellVersion", @"state" : @"State", @"tags" : @"Tags", @"updateTime" : @"UpdateTime", }; } + (NSValueTransformer *)createTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)pciIdJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PciId class]]; } + (NSValueTransformer *)productCodesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ProductCode class]]; } + (NSValueTransformer *)stateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FpgaImageState class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)updateTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2FpgaImageAttribute + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"fpgaImageId" : @"FpgaImageId", @"loadPermissions" : @"LoadPermissions", @"name" : @"Name", @"productCodes" : @"ProductCodes", }; } + (NSValueTransformer *)loadPermissionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LoadPermission class]]; } + (NSValueTransformer *)productCodesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ProductCode class]]; } @end @implementation AWSEC2FpgaImageState + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2FpgaImageStateCodePending); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2FpgaImageStateCodeFailed); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2FpgaImageStateCodeAvailable); } if ([value caseInsensitiveCompare:@"unavailable"] == NSOrderedSame) { return @(AWSEC2FpgaImageStateCodeUnavailable); } return @(AWSEC2FpgaImageStateCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FpgaImageStateCodePending: return @"pending"; case AWSEC2FpgaImageStateCodeFailed: return @"failed"; case AWSEC2FpgaImageStateCodeAvailable: return @"available"; case AWSEC2FpgaImageStateCodeUnavailable: return @"unavailable"; default: return nil; } }]; } @end @implementation AWSEC2FpgaInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fpgas" : @"Fpgas", @"totalFpgaMemoryInMiB" : @"TotalFpgaMemoryInMiB", }; } + (NSValueTransformer *)fpgasJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2FpgaDeviceInfo class]]; } @end @implementation AWSEC2GetAssociatedEnclaveCertificateIamRolesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"certificateArn" : @"CertificateArn", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2GetAssociatedEnclaveCertificateIamRolesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associatedRoles" : @"AssociatedRoles", }; } + (NSValueTransformer *)associatedRolesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AssociatedRole class]]; } @end @implementation AWSEC2GetAssociatedIpv6PoolCidrsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"poolId" : @"PoolId", }; } @end @implementation AWSEC2GetAssociatedIpv6PoolCidrsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6CidrAssociations" : @"Ipv6CidrAssociations", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)ipv6CidrAssociationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv6CidrAssociation class]]; } @end @implementation AWSEC2GetAwsNetworkPerformanceDataRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dataQueries" : @"DataQueries", @"dryRun" : @"DryRun", @"endTime" : @"EndTime", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"startTime" : @"StartTime", }; } + (NSValueTransformer *)dataQueriesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DataQuery class]]; } + (NSValueTransformer *)endTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)startTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2GetAwsNetworkPerformanceDataResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dataResponses" : @"DataResponses", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)dataResponsesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DataResponse class]]; } @end @implementation AWSEC2GetCapacityReservationUsageRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationId" : @"CapacityReservationId", @"dryRun" : @"DryRun", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } @end @implementation AWSEC2GetCapacityReservationUsageResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availableInstanceCount" : @"AvailableInstanceCount", @"capacityReservationId" : @"CapacityReservationId", @"instanceType" : @"InstanceType", @"instanceUsages" : @"InstanceUsages", @"nextToken" : @"NextToken", @"state" : @"State", @"totalInstanceCount" : @"TotalInstanceCount", }; } + (NSValueTransformer *)instanceUsagesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceUsage class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2CapacityReservationStateActive); } if ([value caseInsensitiveCompare:@"expired"] == NSOrderedSame) { return @(AWSEC2CapacityReservationStateExpired); } if ([value caseInsensitiveCompare:@"cancelled"] == NSOrderedSame) { return @(AWSEC2CapacityReservationStateCancelled); } if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2CapacityReservationStatePending); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2CapacityReservationStateFailed); } return @(AWSEC2CapacityReservationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationStateActive: return @"active"; case AWSEC2CapacityReservationStateExpired: return @"expired"; case AWSEC2CapacityReservationStateCancelled: return @"cancelled"; case AWSEC2CapacityReservationStatePending: return @"pending"; case AWSEC2CapacityReservationStateFailed: return @"failed"; default: return nil; } }]; } @end @implementation AWSEC2GetCoipPoolUsageRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"poolId" : @"PoolId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2GetCoipPoolUsageResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"coipAddressUsages" : @"CoipAddressUsages", @"coipPoolId" : @"CoipPoolId", @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", }; } + (NSValueTransformer *)coipAddressUsagesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CoipAddressUsage class]]; } @end @implementation AWSEC2GetConsoleOutputRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", @"latest" : @"Latest", }; } @end @implementation AWSEC2GetConsoleOutputResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceId" : @"InstanceId", @"output" : @"Output", @"timestamp" : @"Timestamp", }; } + (NSValueTransformer *)timestampJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2GetConsoleScreenshotRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", @"wakeUp" : @"WakeUp", }; } @end @implementation AWSEC2GetConsoleScreenshotResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"imageData" : @"ImageData", @"instanceId" : @"InstanceId", }; } @end @implementation AWSEC2GetDefaultCreditSpecificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceFamily" : @"InstanceFamily", }; } + (NSValueTransformer *)instanceFamilyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"t2"] == NSOrderedSame) { return @(AWSEC2UnlimitedSupportedInstanceFamilyT2); } if ([value caseInsensitiveCompare:@"t3"] == NSOrderedSame) { return @(AWSEC2UnlimitedSupportedInstanceFamilyT3); } if ([value caseInsensitiveCompare:@"t3a"] == NSOrderedSame) { return @(AWSEC2UnlimitedSupportedInstanceFamilyT3a); } if ([value caseInsensitiveCompare:@"t4g"] == NSOrderedSame) { return @(AWSEC2UnlimitedSupportedInstanceFamilyT4g); } return @(AWSEC2UnlimitedSupportedInstanceFamilyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2UnlimitedSupportedInstanceFamilyT2: return @"t2"; case AWSEC2UnlimitedSupportedInstanceFamilyT3: return @"t3"; case AWSEC2UnlimitedSupportedInstanceFamilyT3a: return @"t3a"; case AWSEC2UnlimitedSupportedInstanceFamilyT4g: return @"t4g"; default: return nil; } }]; } @end @implementation AWSEC2GetDefaultCreditSpecificationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceFamilyCreditSpecification" : @"InstanceFamilyCreditSpecification", }; } + (NSValueTransformer *)instanceFamilyCreditSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceFamilyCreditSpecification class]]; } @end @implementation AWSEC2GetEbsDefaultKmsKeyIdRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2GetEbsDefaultKmsKeyIdResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"kmsKeyId" : @"KmsKeyId", }; } @end @implementation AWSEC2GetEbsEncryptionByDefaultRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2GetEbsEncryptionByDefaultResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ebsEncryptionByDefault" : @"EbsEncryptionByDefault", }; } @end @implementation AWSEC2GetFlowLogsIntegrationTemplateRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"configDeliveryS3DestinationArn" : @"ConfigDeliveryS3DestinationArn", @"dryRun" : @"DryRun", @"flowLogId" : @"FlowLogId", @"integrateServices" : @"IntegrateServices", }; } + (NSValueTransformer *)integrateServicesJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IntegrateServices class]]; } @end @implementation AWSEC2GetFlowLogsIntegrationTemplateResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"result" : @"Result", }; } @end @implementation AWSEC2GetGroupsForCapacityReservationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationId" : @"CapacityReservationId", @"dryRun" : @"DryRun", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } @end @implementation AWSEC2GetGroupsForCapacityReservationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationGroups" : @"CapacityReservationGroups", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)capacityReservationGroupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CapacityReservationGroup class]]; } @end @implementation AWSEC2GetHostReservationPurchasePreviewRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"hostIdSet" : @"HostIdSet", @"offeringId" : @"OfferingId", }; } @end @implementation AWSEC2GetHostReservationPurchasePreviewResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"currencyCode" : @"CurrencyCode", @"purchase" : @"Purchase", @"totalHourlyPrice" : @"TotalHourlyPrice", @"totalUpfrontPrice" : @"TotalUpfrontPrice", }; } + (NSValueTransformer *)currencyCodeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"USD"] == NSOrderedSame) { return @(AWSEC2CurrencyCodeValuesUSD); } return @(AWSEC2CurrencyCodeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CurrencyCodeValuesUSD: return @"USD"; default: return nil; } }]; } + (NSValueTransformer *)purchaseJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Purchase class]]; } @end @implementation AWSEC2GetInstanceTypesFromInstanceRequirementsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"architectureTypes" : @"ArchitectureTypes", @"dryRun" : @"DryRun", @"instanceRequirements" : @"InstanceRequirements", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"virtualizationTypes" : @"VirtualizationTypes", }; } + (NSValueTransformer *)instanceRequirementsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceRequirementsRequest class]]; } @end @implementation AWSEC2GetInstanceTypesFromInstanceRequirementsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceTypes" : @"InstanceTypes", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)instanceTypesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceTypeInfoFromInstanceRequirements class]]; } @end @implementation AWSEC2GetInstanceUefiDataRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", }; } @end @implementation AWSEC2GetInstanceUefiDataResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceId" : @"InstanceId", @"uefiData" : @"UefiData", }; } @end @implementation AWSEC2GetIpamAddressHistoryRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"dryRun" : @"DryRun", @"endTime" : @"EndTime", @"ipamScopeId" : @"IpamScopeId", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"startTime" : @"StartTime", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)endTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)startTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2GetIpamAddressHistoryResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"historyRecords" : @"HistoryRecords", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)historyRecordsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpamAddressHistoryRecord class]]; } @end @implementation AWSEC2GetIpamDiscoveredAccountsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"discoveryRegion" : @"DiscoveryRegion", @"dryRun" : @"DryRun", @"filters" : @"Filters", @"ipamResourceDiscoveryId" : @"IpamResourceDiscoveryId", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2GetIpamDiscoveredAccountsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamDiscoveredAccounts" : @"IpamDiscoveredAccounts", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)ipamDiscoveredAccountsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpamDiscoveredAccount class]]; } @end @implementation AWSEC2GetIpamDiscoveredResourceCidrsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"ipamResourceDiscoveryId" : @"IpamResourceDiscoveryId", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"resourceRegion" : @"ResourceRegion", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2GetIpamDiscoveredResourceCidrsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamDiscoveredResourceCidrs" : @"IpamDiscoveredResourceCidrs", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)ipamDiscoveredResourceCidrsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpamDiscoveredResourceCidr class]]; } @end @implementation AWSEC2GetIpamPoolAllocationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"ipamPoolAllocationId" : @"IpamPoolAllocationId", @"ipamPoolId" : @"IpamPoolId", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2GetIpamPoolAllocationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamPoolAllocations" : @"IpamPoolAllocations", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)ipamPoolAllocationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpamPoolAllocation class]]; } @end @implementation AWSEC2GetIpamPoolCidrsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"ipamPoolId" : @"IpamPoolId", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2GetIpamPoolCidrsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamPoolCidrs" : @"IpamPoolCidrs", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)ipamPoolCidrsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpamPoolCidr class]]; } @end @implementation AWSEC2GetIpamResourceCidrsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"ipamPoolId" : @"IpamPoolId", @"ipamScopeId" : @"IpamScopeId", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"resourceId" : @"ResourceId", @"resourceOwner" : @"ResourceOwner", @"resourceTag" : @"ResourceTag", @"resourceType" : @"ResourceType", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } + (NSValueTransformer *)resourceTagJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2RequestIpamResourceTag class]]; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2IpamResourceTypeVPC); } if ([value caseInsensitiveCompare:@"subnet"] == NSOrderedSame) { return @(AWSEC2IpamResourceTypeSubnet); } if ([value caseInsensitiveCompare:@"eip"] == NSOrderedSame) { return @(AWSEC2IpamResourceTypeEip); } if ([value caseInsensitiveCompare:@"public-ipv4-pool"] == NSOrderedSame) { return @(AWSEC2IpamResourceTypePublicIpv4Pool); } if ([value caseInsensitiveCompare:@"ipv6-pool"] == NSOrderedSame) { return @(AWSEC2IpamResourceTypeIpv6Pool); } return @(AWSEC2IpamResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamResourceTypeVPC: return @"vpc"; case AWSEC2IpamResourceTypeSubnet: return @"subnet"; case AWSEC2IpamResourceTypeEip: return @"eip"; case AWSEC2IpamResourceTypePublicIpv4Pool: return @"public-ipv4-pool"; case AWSEC2IpamResourceTypeIpv6Pool: return @"ipv6-pool"; default: return nil; } }]; } @end @implementation AWSEC2GetIpamResourceCidrsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamResourceCidrs" : @"IpamResourceCidrs", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)ipamResourceCidrsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpamResourceCidr class]]; } @end @implementation AWSEC2GetLaunchTemplateDataRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", }; } @end @implementation AWSEC2GetLaunchTemplateDataResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplateData" : @"LaunchTemplateData", }; } + (NSValueTransformer *)launchTemplateDataJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ResponseLaunchTemplateData class]]; } @end @implementation AWSEC2GetManagedPrefixListAssociationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"prefixListId" : @"PrefixListId", }; } @end @implementation AWSEC2GetManagedPrefixListAssociationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"prefixListAssociations" : @"PrefixListAssociations", }; } + (NSValueTransformer *)prefixListAssociationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PrefixListAssociation class]]; } @end @implementation AWSEC2GetManagedPrefixListEntriesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"prefixListId" : @"PrefixListId", @"targetVersion" : @"TargetVersion", }; } @end @implementation AWSEC2GetManagedPrefixListEntriesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"entries" : @"Entries", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)entriesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PrefixListEntry class]]; } @end @implementation AWSEC2GetNetworkInsightsAccessScopeAnalysisFindingsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"maxResults" : @"MaxResults", @"networkInsightsAccessScopeAnalysisId" : @"NetworkInsightsAccessScopeAnalysisId", @"nextToken" : @"NextToken", }; } @end @implementation AWSEC2GetNetworkInsightsAccessScopeAnalysisFindingsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"analysisFindings" : @"AnalysisFindings", @"analysisStatus" : @"AnalysisStatus", @"networkInsightsAccessScopeAnalysisId" : @"NetworkInsightsAccessScopeAnalysisId", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)analysisFindingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AccessScopeAnalysisFinding class]]; } + (NSValueTransformer *)analysisStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"running"] == NSOrderedSame) { return @(AWSEC2AnalysisStatusRunning); } if ([value caseInsensitiveCompare:@"succeeded"] == NSOrderedSame) { return @(AWSEC2AnalysisStatusSucceeded); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2AnalysisStatusFailed); } return @(AWSEC2AnalysisStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AnalysisStatusRunning: return @"running"; case AWSEC2AnalysisStatusSucceeded: return @"succeeded"; case AWSEC2AnalysisStatusFailed: return @"failed"; default: return nil; } }]; } @end @implementation AWSEC2GetNetworkInsightsAccessScopeContentRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"networkInsightsAccessScopeId" : @"NetworkInsightsAccessScopeId", }; } @end @implementation AWSEC2GetNetworkInsightsAccessScopeContentResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInsightsAccessScopeContent" : @"NetworkInsightsAccessScopeContent", }; } + (NSValueTransformer *)networkInsightsAccessScopeContentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInsightsAccessScopeContent class]]; } @end @implementation AWSEC2GetPasswordDataRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", }; } @end @implementation AWSEC2GetPasswordDataResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceId" : @"InstanceId", @"passwordData" : @"PasswordData", @"timestamp" : @"Timestamp", }; } + (NSValueTransformer *)timestampJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2GetReservedInstancesExchangeQuoteRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"reservedInstanceIds" : @"ReservedInstanceIds", @"targetConfigurations" : @"TargetConfigurations", }; } + (NSValueTransformer *)targetConfigurationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TargetConfigurationRequest class]]; } @end @implementation AWSEC2GetReservedInstancesExchangeQuoteResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"currencyCode" : @"CurrencyCode", @"isValidExchange" : @"IsValidExchange", @"outputReservedInstancesWillExpireAt" : @"OutputReservedInstancesWillExpireAt", @"paymentDue" : @"PaymentDue", @"reservedInstanceValueRollup" : @"ReservedInstanceValueRollup", @"reservedInstanceValueSet" : @"ReservedInstanceValueSet", @"targetConfigurationValueRollup" : @"TargetConfigurationValueRollup", @"targetConfigurationValueSet" : @"TargetConfigurationValueSet", @"validationFailureReason" : @"ValidationFailureReason", }; } + (NSValueTransformer *)outputReservedInstancesWillExpireAtJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)reservedInstanceValueRollupJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ReservationValue class]]; } + (NSValueTransformer *)reservedInstanceValueSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ReservedInstanceReservationValue class]]; } + (NSValueTransformer *)targetConfigurationValueRollupJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ReservationValue class]]; } + (NSValueTransformer *)targetConfigurationValueSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TargetReservationValue class]]; } @end @implementation AWSEC2GetSerialConsoleAccessStatusRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2GetSerialConsoleAccessStatusResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"serialConsoleAccessEnabled" : @"SerialConsoleAccessEnabled", }; } @end @implementation AWSEC2GetSpotPlacementScoresRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceRequirementsWithMetadata" : @"InstanceRequirementsWithMetadata", @"instanceTypes" : @"InstanceTypes", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"regionNames" : @"RegionNames", @"singleAvailabilityZone" : @"SingleAvailabilityZone", @"targetCapacity" : @"TargetCapacity", @"targetCapacityUnitType" : @"TargetCapacityUnitType", }; } + (NSValueTransformer *)instanceRequirementsWithMetadataJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceRequirementsWithMetadataRequest class]]; } + (NSValueTransformer *)targetCapacityUnitTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vcpu"] == NSOrderedSame) { return @(AWSEC2TargetCapacityUnitTypeVcpu); } if ([value caseInsensitiveCompare:@"memory-mib"] == NSOrderedSame) { return @(AWSEC2TargetCapacityUnitTypeMemoryMib); } if ([value caseInsensitiveCompare:@"units"] == NSOrderedSame) { return @(AWSEC2TargetCapacityUnitTypeUnits); } return @(AWSEC2TargetCapacityUnitTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TargetCapacityUnitTypeVcpu: return @"vcpu"; case AWSEC2TargetCapacityUnitTypeMemoryMib: return @"memory-mib"; case AWSEC2TargetCapacityUnitTypeUnits: return @"units"; default: return nil; } }]; } @end @implementation AWSEC2GetSpotPlacementScoresResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"spotPlacementScores" : @"SpotPlacementScores", }; } + (NSValueTransformer *)spotPlacementScoresJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SpotPlacementScore class]]; } @end @implementation AWSEC2GetSubnetCidrReservationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"subnetId" : @"SubnetId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2GetSubnetCidrReservationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"subnetIpv4CidrReservations" : @"SubnetIpv4CidrReservations", @"subnetIpv6CidrReservations" : @"SubnetIpv6CidrReservations", }; } + (NSValueTransformer *)subnetIpv4CidrReservationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SubnetCidrReservation class]]; } + (NSValueTransformer *)subnetIpv6CidrReservationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SubnetCidrReservation class]]; } @end @implementation AWSEC2GetTransitGatewayAttachmentPropagationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2GetTransitGatewayAttachmentPropagationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"transitGatewayAttachmentPropagations" : @"TransitGatewayAttachmentPropagations", }; } + (NSValueTransformer *)transitGatewayAttachmentPropagationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayAttachmentPropagation class]]; } @end @implementation AWSEC2GetTransitGatewayMulticastDomainAssociationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2GetTransitGatewayMulticastDomainAssociationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"multicastDomainAssociations" : @"MulticastDomainAssociations", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)multicastDomainAssociationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayMulticastDomainAssociation class]]; } @end @implementation AWSEC2GetTransitGatewayPolicyTableAssociationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayPolicyTableId" : @"TransitGatewayPolicyTableId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2GetTransitGatewayPolicyTableAssociationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associations" : @"Associations", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)associationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayPolicyTableAssociation class]]; } @end @implementation AWSEC2GetTransitGatewayPolicyTableEntriesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayPolicyTableId" : @"TransitGatewayPolicyTableId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2GetTransitGatewayPolicyTableEntriesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayPolicyTableEntries" : @"TransitGatewayPolicyTableEntries", }; } + (NSValueTransformer *)transitGatewayPolicyTableEntriesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayPolicyTableEntry class]]; } @end @implementation AWSEC2GetTransitGatewayPrefixListReferencesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2GetTransitGatewayPrefixListReferencesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"transitGatewayPrefixListReferences" : @"TransitGatewayPrefixListReferences", }; } + (NSValueTransformer *)transitGatewayPrefixListReferencesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayPrefixListReference class]]; } @end @implementation AWSEC2GetTransitGatewayRouteTableAssociationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2GetTransitGatewayRouteTableAssociationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associations" : @"Associations", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)associationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayRouteTableAssociation class]]; } @end @implementation AWSEC2GetTransitGatewayRouteTablePropagationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2GetTransitGatewayRouteTablePropagationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"transitGatewayRouteTablePropagations" : @"TransitGatewayRouteTablePropagations", }; } + (NSValueTransformer *)transitGatewayRouteTablePropagationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayRouteTablePropagation class]]; } @end @implementation AWSEC2GetVerifiedAccessEndpointPolicyRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"verifiedAccessEndpointId" : @"VerifiedAccessEndpointId", }; } @end @implementation AWSEC2GetVerifiedAccessEndpointPolicyResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"policyDocument" : @"PolicyDocument", @"policyEnabled" : @"PolicyEnabled", }; } @end @implementation AWSEC2GetVerifiedAccessGroupPolicyRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"verifiedAccessGroupId" : @"VerifiedAccessGroupId", }; } @end @implementation AWSEC2GetVerifiedAccessGroupPolicyResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"policyDocument" : @"PolicyDocument", @"policyEnabled" : @"PolicyEnabled", }; } @end @implementation AWSEC2GetVpnConnectionDeviceSampleConfigurationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"internetKeyExchangeVersion" : @"InternetKeyExchangeVersion", @"vpnConnectionDeviceTypeId" : @"VpnConnectionDeviceTypeId", @"vpnConnectionId" : @"VpnConnectionId", }; } @end @implementation AWSEC2GetVpnConnectionDeviceSampleConfigurationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpnConnectionDeviceSampleConfiguration" : @"VpnConnectionDeviceSampleConfiguration", }; } @end @implementation AWSEC2GetVpnConnectionDeviceTypesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } @end @implementation AWSEC2GetVpnConnectionDeviceTypesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"vpnConnectionDeviceTypes" : @"VpnConnectionDeviceTypes", }; } + (NSValueTransformer *)vpnConnectionDeviceTypesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VpnConnectionDeviceType class]]; } @end @implementation AWSEC2GetVpnTunnelReplacementStatusRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"vpnConnectionId" : @"VpnConnectionId", @"vpnTunnelOutsideIpAddress" : @"VpnTunnelOutsideIpAddress", }; } @end @implementation AWSEC2GetVpnTunnelReplacementStatusResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"customerGatewayId" : @"CustomerGatewayId", @"maintenanceDetails" : @"MaintenanceDetails", @"transitGatewayId" : @"TransitGatewayId", @"vpnConnectionId" : @"VpnConnectionId", @"vpnGatewayId" : @"VpnGatewayId", @"vpnTunnelOutsideIpAddress" : @"VpnTunnelOutsideIpAddress", }; } + (NSValueTransformer *)maintenanceDetailsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2MaintenanceDetails class]]; } @end @implementation AWSEC2GpuDeviceInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"count" : @"Count", @"manufacturer" : @"Manufacturer", @"memoryInfo" : @"MemoryInfo", @"name" : @"Name", }; } + (NSValueTransformer *)memoryInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2GpuDeviceMemoryInfo class]]; } @end @implementation AWSEC2GpuDeviceMemoryInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"sizeInMiB" : @"SizeInMiB", }; } @end @implementation AWSEC2GpuInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"gpus" : @"Gpus", @"totalGpuMemoryInMiB" : @"TotalGpuMemoryInMiB", }; } + (NSValueTransformer *)gpusJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2GpuDeviceInfo class]]; } @end @implementation AWSEC2GroupIdentifier + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"groupId" : @"GroupId", @"groupName" : @"GroupName", }; } @end @implementation AWSEC2HibernationOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"configured" : @"Configured", }; } @end @implementation AWSEC2HibernationOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"configured" : @"Configured", }; } @end @implementation AWSEC2HistoryRecord + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"eventInformation" : @"EventInformation", @"eventType" : @"EventType", @"timestamp" : @"Timestamp", }; } + (NSValueTransformer *)eventInformationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EventInformation class]]; } + (NSValueTransformer *)eventTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"instanceChange"] == NSOrderedSame) { return @(AWSEC2EventTypeInstanceChange); } if ([value caseInsensitiveCompare:@"fleetRequestChange"] == NSOrderedSame) { return @(AWSEC2EventTypeFleetRequestChange); } if ([value caseInsensitiveCompare:@"error"] == NSOrderedSame) { return @(AWSEC2EventTypeError); } if ([value caseInsensitiveCompare:@"information"] == NSOrderedSame) { return @(AWSEC2EventTypeInformation); } return @(AWSEC2EventTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2EventTypeInstanceChange: return @"instanceChange"; case AWSEC2EventTypeFleetRequestChange: return @"fleetRequestChange"; case AWSEC2EventTypeError: return @"error"; case AWSEC2EventTypeInformation: return @"information"; default: return nil; } }]; } + (NSValueTransformer *)timestampJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2HistoryRecordEntry + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"eventInformation" : @"EventInformation", @"eventType" : @"EventType", @"timestamp" : @"Timestamp", }; } + (NSValueTransformer *)eventInformationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EventInformation class]]; } + (NSValueTransformer *)eventTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"instance-change"] == NSOrderedSame) { return @(AWSEC2FleetEventTypeInstanceChange); } if ([value caseInsensitiveCompare:@"fleet-change"] == NSOrderedSame) { return @(AWSEC2FleetEventTypeFleetChange); } if ([value caseInsensitiveCompare:@"service-error"] == NSOrderedSame) { return @(AWSEC2FleetEventTypeServiceError); } return @(AWSEC2FleetEventTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetEventTypeInstanceChange: return @"instance-change"; case AWSEC2FleetEventTypeFleetChange: return @"fleet-change"; case AWSEC2FleetEventTypeServiceError: return @"service-error"; default: return nil; } }]; } + (NSValueTransformer *)timestampJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2Host + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationTime" : @"AllocationTime", @"allowsMultipleInstanceTypes" : @"AllowsMultipleInstanceTypes", @"assetId" : @"AssetId", @"autoPlacement" : @"AutoPlacement", @"availabilityZone" : @"AvailabilityZone", @"availabilityZoneId" : @"AvailabilityZoneId", @"availableCapacity" : @"AvailableCapacity", @"clientToken" : @"ClientToken", @"hostId" : @"HostId", @"hostMaintenance" : @"HostMaintenance", @"hostProperties" : @"HostProperties", @"hostRecovery" : @"HostRecovery", @"hostReservationId" : @"HostReservationId", @"instances" : @"Instances", @"memberOfServiceLinkedResourceGroup" : @"MemberOfServiceLinkedResourceGroup", @"outpostArn" : @"OutpostArn", @"ownerId" : @"OwnerId", @"releaseTime" : @"ReleaseTime", @"state" : @"State", @"tags" : @"Tags", }; } + (NSValueTransformer *)allocationTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)allowsMultipleInstanceTypesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"on"] == NSOrderedSame) { return @(AWSEC2AllowsMultipleInstanceTypesOn); } if ([value caseInsensitiveCompare:@"off"] == NSOrderedSame) { return @(AWSEC2AllowsMultipleInstanceTypesOff); } return @(AWSEC2AllowsMultipleInstanceTypesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AllowsMultipleInstanceTypesOn: return @"on"; case AWSEC2AllowsMultipleInstanceTypesOff: return @"off"; default: return nil; } }]; } + (NSValueTransformer *)autoPlacementJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"on"] == NSOrderedSame) { return @(AWSEC2AutoPlacementOn); } if ([value caseInsensitiveCompare:@"off"] == NSOrderedSame) { return @(AWSEC2AutoPlacementOff); } return @(AWSEC2AutoPlacementUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AutoPlacementOn: return @"on"; case AWSEC2AutoPlacementOff: return @"off"; default: return nil; } }]; } + (NSValueTransformer *)availableCapacityJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AvailableCapacity class]]; } + (NSValueTransformer *)hostMaintenanceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"on"] == NSOrderedSame) { return @(AWSEC2HostMaintenanceOn); } if ([value caseInsensitiveCompare:@"off"] == NSOrderedSame) { return @(AWSEC2HostMaintenanceOff); } return @(AWSEC2HostMaintenanceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HostMaintenanceOn: return @"on"; case AWSEC2HostMaintenanceOff: return @"off"; default: return nil; } }]; } + (NSValueTransformer *)hostPropertiesJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2HostProperties class]]; } + (NSValueTransformer *)hostRecoveryJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"on"] == NSOrderedSame) { return @(AWSEC2HostRecoveryOn); } if ([value caseInsensitiveCompare:@"off"] == NSOrderedSame) { return @(AWSEC2HostRecoveryOff); } return @(AWSEC2HostRecoveryUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HostRecoveryOn: return @"on"; case AWSEC2HostRecoveryOff: return @"off"; default: return nil; } }]; } + (NSValueTransformer *)instancesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2HostInstance class]]; } + (NSValueTransformer *)releaseTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2AllocationStateAvailable); } if ([value caseInsensitiveCompare:@"under-assessment"] == NSOrderedSame) { return @(AWSEC2AllocationStateUnderAssessment); } if ([value caseInsensitiveCompare:@"permanent-failure"] == NSOrderedSame) { return @(AWSEC2AllocationStatePermanentFailure); } if ([value caseInsensitiveCompare:@"released"] == NSOrderedSame) { return @(AWSEC2AllocationStateReleased); } if ([value caseInsensitiveCompare:@"released-permanent-failure"] == NSOrderedSame) { return @(AWSEC2AllocationStateReleasedPermanentFailure); } if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2AllocationStatePending); } return @(AWSEC2AllocationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AllocationStateAvailable: return @"available"; case AWSEC2AllocationStateUnderAssessment: return @"under-assessment"; case AWSEC2AllocationStatePermanentFailure: return @"permanent-failure"; case AWSEC2AllocationStateReleased: return @"released"; case AWSEC2AllocationStateReleasedPermanentFailure: return @"released-permanent-failure"; case AWSEC2AllocationStatePending: return @"pending"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2HostInstance + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceId" : @"InstanceId", @"instanceType" : @"InstanceType", @"ownerId" : @"OwnerId", }; } @end @implementation AWSEC2HostOffering + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"currencyCode" : @"CurrencyCode", @"duration" : @"Duration", @"hourlyPrice" : @"HourlyPrice", @"instanceFamily" : @"InstanceFamily", @"offeringId" : @"OfferingId", @"paymentOption" : @"PaymentOption", @"upfrontPrice" : @"UpfrontPrice", }; } + (NSValueTransformer *)currencyCodeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"USD"] == NSOrderedSame) { return @(AWSEC2CurrencyCodeValuesUSD); } return @(AWSEC2CurrencyCodeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CurrencyCodeValuesUSD: return @"USD"; default: return nil; } }]; } + (NSValueTransformer *)paymentOptionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"AllUpfront"] == NSOrderedSame) { return @(AWSEC2PaymentOptionAllUpfront); } if ([value caseInsensitiveCompare:@"PartialUpfront"] == NSOrderedSame) { return @(AWSEC2PaymentOptionPartialUpfront); } if ([value caseInsensitiveCompare:@"NoUpfront"] == NSOrderedSame) { return @(AWSEC2PaymentOptionNoUpfront); } return @(AWSEC2PaymentOptionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PaymentOptionAllUpfront: return @"AllUpfront"; case AWSEC2PaymentOptionPartialUpfront: return @"PartialUpfront"; case AWSEC2PaymentOptionNoUpfront: return @"NoUpfront"; default: return nil; } }]; } @end @implementation AWSEC2HostProperties + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cores" : @"Cores", @"instanceFamily" : @"InstanceFamily", @"instanceType" : @"InstanceType", @"sockets" : @"Sockets", @"totalVCpus" : @"TotalVCpus", }; } @end @implementation AWSEC2HostReservation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"count" : @"Count", @"currencyCode" : @"CurrencyCode", @"duration" : @"Duration", @"end" : @"End", @"hostIdSet" : @"HostIdSet", @"hostReservationId" : @"HostReservationId", @"hourlyPrice" : @"HourlyPrice", @"instanceFamily" : @"InstanceFamily", @"offeringId" : @"OfferingId", @"paymentOption" : @"PaymentOption", @"start" : @"Start", @"state" : @"State", @"tags" : @"Tags", @"upfrontPrice" : @"UpfrontPrice", }; } + (NSValueTransformer *)currencyCodeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"USD"] == NSOrderedSame) { return @(AWSEC2CurrencyCodeValuesUSD); } return @(AWSEC2CurrencyCodeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CurrencyCodeValuesUSD: return @"USD"; default: return nil; } }]; } + (NSValueTransformer *)endJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)paymentOptionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"AllUpfront"] == NSOrderedSame) { return @(AWSEC2PaymentOptionAllUpfront); } if ([value caseInsensitiveCompare:@"PartialUpfront"] == NSOrderedSame) { return @(AWSEC2PaymentOptionPartialUpfront); } if ([value caseInsensitiveCompare:@"NoUpfront"] == NSOrderedSame) { return @(AWSEC2PaymentOptionNoUpfront); } return @(AWSEC2PaymentOptionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PaymentOptionAllUpfront: return @"AllUpfront"; case AWSEC2PaymentOptionPartialUpfront: return @"PartialUpfront"; case AWSEC2PaymentOptionNoUpfront: return @"NoUpfront"; default: return nil; } }]; } + (NSValueTransformer *)startJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"payment-pending"] == NSOrderedSame) { return @(AWSEC2ReservationStatePaymentPending); } if ([value caseInsensitiveCompare:@"payment-failed"] == NSOrderedSame) { return @(AWSEC2ReservationStatePaymentFailed); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2ReservationStateActive); } if ([value caseInsensitiveCompare:@"retired"] == NSOrderedSame) { return @(AWSEC2ReservationStateRetired); } return @(AWSEC2ReservationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ReservationStatePaymentPending: return @"payment-pending"; case AWSEC2ReservationStatePaymentFailed: return @"payment-failed"; case AWSEC2ReservationStateActive: return @"active"; case AWSEC2ReservationStateRetired: return @"retired"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2IKEVersionsListValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2IKEVersionsRequestListValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2IamInstanceProfile + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"arn" : @"Arn", @"identifier" : @"Id", }; } @end @implementation AWSEC2IamInstanceProfileAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"iamInstanceProfile" : @"IamInstanceProfile", @"instanceId" : @"InstanceId", @"state" : @"State", @"timestamp" : @"Timestamp", }; } + (NSValueTransformer *)iamInstanceProfileJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IamInstanceProfile class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"associating"] == NSOrderedSame) { return @(AWSEC2IamInstanceProfileAssociationStateAssociating); } if ([value caseInsensitiveCompare:@"associated"] == NSOrderedSame) { return @(AWSEC2IamInstanceProfileAssociationStateAssociated); } if ([value caseInsensitiveCompare:@"disassociating"] == NSOrderedSame) { return @(AWSEC2IamInstanceProfileAssociationStateDisassociating); } if ([value caseInsensitiveCompare:@"disassociated"] == NSOrderedSame) { return @(AWSEC2IamInstanceProfileAssociationStateDisassociated); } return @(AWSEC2IamInstanceProfileAssociationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IamInstanceProfileAssociationStateAssociating: return @"associating"; case AWSEC2IamInstanceProfileAssociationStateAssociated: return @"associated"; case AWSEC2IamInstanceProfileAssociationStateDisassociating: return @"disassociating"; case AWSEC2IamInstanceProfileAssociationStateDisassociated: return @"disassociated"; default: return nil; } }]; } + (NSValueTransformer *)timestampJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2IamInstanceProfileSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"arn" : @"Arn", @"name" : @"Name", }; } @end @implementation AWSEC2IcmpTypeCode + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"types" : @"Type", }; } @end @implementation AWSEC2IdFormat + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deadline" : @"Deadline", @"resource" : @"Resource", @"useLongIds" : @"UseLongIds", }; } + (NSValueTransformer *)deadlineJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2Image + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"architecture" : @"Architecture", @"blockDeviceMappings" : @"BlockDeviceMappings", @"bootMode" : @"BootMode", @"creationDate" : @"CreationDate", @"deprecationTime" : @"DeprecationTime", @"detail" : @"Description", @"enaSupport" : @"EnaSupport", @"hypervisor" : @"Hypervisor", @"imageId" : @"ImageId", @"imageLocation" : @"ImageLocation", @"imageOwnerAlias" : @"ImageOwnerAlias", @"imageType" : @"ImageType", @"imdsSupport" : @"ImdsSupport", @"kernelId" : @"KernelId", @"name" : @"Name", @"ownerId" : @"OwnerId", @"platform" : @"Platform", @"platformDetails" : @"PlatformDetails", @"productCodes" : @"ProductCodes", @"public" : @"Public", @"ramdiskId" : @"RamdiskId", @"rootDeviceName" : @"RootDeviceName", @"rootDeviceType" : @"RootDeviceType", @"sriovNetSupport" : @"SriovNetSupport", @"state" : @"State", @"stateReason" : @"StateReason", @"tags" : @"Tags", @"tpmSupport" : @"TpmSupport", @"usageOperation" : @"UsageOperation", @"virtualizationType" : @"VirtualizationType", }; } + (NSValueTransformer *)architectureJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"i386"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesI386); } if ([value caseInsensitiveCompare:@"x86_64"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesX86_64); } if ([value caseInsensitiveCompare:@"arm64"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesArm64); } if ([value caseInsensitiveCompare:@"x86_64_mac"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesX8664Mac); } if ([value caseInsensitiveCompare:@"arm64_mac"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesArm64Mac); } return @(AWSEC2ArchitectureValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ArchitectureValuesI386: return @"i386"; case AWSEC2ArchitectureValuesX86_64: return @"x86_64"; case AWSEC2ArchitectureValuesArm64: return @"arm64"; case AWSEC2ArchitectureValuesX8664Mac: return @"x86_64_mac"; case AWSEC2ArchitectureValuesArm64Mac: return @"arm64_mac"; default: return nil; } }]; } + (NSValueTransformer *)blockDeviceMappingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2BlockDeviceMapping class]]; } + (NSValueTransformer *)bootModeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"legacy-bios"] == NSOrderedSame) { return @(AWSEC2BootModeValuesLegacyBios); } if ([value caseInsensitiveCompare:@"uefi"] == NSOrderedSame) { return @(AWSEC2BootModeValuesUefi); } if ([value caseInsensitiveCompare:@"uefi-preferred"] == NSOrderedSame) { return @(AWSEC2BootModeValuesUefiPreferred); } return @(AWSEC2BootModeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2BootModeValuesLegacyBios: return @"legacy-bios"; case AWSEC2BootModeValuesUefi: return @"uefi"; case AWSEC2BootModeValuesUefiPreferred: return @"uefi-preferred"; default: return nil; } }]; } + (NSValueTransformer *)hypervisorJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ovm"] == NSOrderedSame) { return @(AWSEC2HypervisorTypeOvm); } if ([value caseInsensitiveCompare:@"xen"] == NSOrderedSame) { return @(AWSEC2HypervisorTypeXen); } return @(AWSEC2HypervisorTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HypervisorTypeOvm: return @"ovm"; case AWSEC2HypervisorTypeXen: return @"xen"; default: return nil; } }]; } + (NSValueTransformer *)imageTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"machine"] == NSOrderedSame) { return @(AWSEC2ImageTypeValuesMachine); } if ([value caseInsensitiveCompare:@"kernel"] == NSOrderedSame) { return @(AWSEC2ImageTypeValuesKernel); } if ([value caseInsensitiveCompare:@"ramdisk"] == NSOrderedSame) { return @(AWSEC2ImageTypeValuesRAMDisk); } return @(AWSEC2ImageTypeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ImageTypeValuesMachine: return @"machine"; case AWSEC2ImageTypeValuesKernel: return @"kernel"; case AWSEC2ImageTypeValuesRAMDisk: return @"ramdisk"; default: return nil; } }]; } + (NSValueTransformer *)imdsSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"v2.0"] == NSOrderedSame) { return @(AWSEC2ImdsSupportValuesV20); } return @(AWSEC2ImdsSupportValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ImdsSupportValuesV20: return @"v2.0"; default: return nil; } }]; } + (NSValueTransformer *)platformJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { return @(AWSEC2PlatformValuesWindows); } return @(AWSEC2PlatformValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PlatformValuesWindows: return @"Windows"; default: return nil; } }]; } + (NSValueTransformer *)productCodesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ProductCode class]]; } + (NSValueTransformer *)rootDeviceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ebs"] == NSOrderedSame) { return @(AWSEC2DeviceTypeEBS); } if ([value caseInsensitiveCompare:@"instance-store"] == NSOrderedSame) { return @(AWSEC2DeviceTypeInstanceStore); } return @(AWSEC2DeviceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DeviceTypeEBS: return @"ebs"; case AWSEC2DeviceTypeInstanceStore: return @"instance-store"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2ImageStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2ImageStateAvailable); } if ([value caseInsensitiveCompare:@"invalid"] == NSOrderedSame) { return @(AWSEC2ImageStateInvalid); } if ([value caseInsensitiveCompare:@"deregistered"] == NSOrderedSame) { return @(AWSEC2ImageStateDeregistered); } if ([value caseInsensitiveCompare:@"transient"] == NSOrderedSame) { return @(AWSEC2ImageStateTransient); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2ImageStateFailed); } if ([value caseInsensitiveCompare:@"error"] == NSOrderedSame) { return @(AWSEC2ImageStateError); } return @(AWSEC2ImageStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ImageStatePending: return @"pending"; case AWSEC2ImageStateAvailable: return @"available"; case AWSEC2ImageStateInvalid: return @"invalid"; case AWSEC2ImageStateDeregistered: return @"deregistered"; case AWSEC2ImageStateTransient: return @"transient"; case AWSEC2ImageStateFailed: return @"failed"; case AWSEC2ImageStateError: return @"error"; default: return nil; } }]; } + (NSValueTransformer *)stateReasonJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2StateReason class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)tpmSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"v2.0"] == NSOrderedSame) { return @(AWSEC2TpmSupportValuesV20); } return @(AWSEC2TpmSupportValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TpmSupportValuesV20: return @"v2.0"; default: return nil; } }]; } + (NSValueTransformer *)virtualizationTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"hvm"] == NSOrderedSame) { return @(AWSEC2VirtualizationTypeHVM); } if ([value caseInsensitiveCompare:@"paravirtual"] == NSOrderedSame) { return @(AWSEC2VirtualizationTypeParavirtual); } return @(AWSEC2VirtualizationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VirtualizationTypeHVM: return @"hvm"; case AWSEC2VirtualizationTypeParavirtual: return @"paravirtual"; default: return nil; } }]; } @end @implementation AWSEC2ImageAttribute + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blockDeviceMappings" : @"BlockDeviceMappings", @"bootMode" : @"BootMode", @"detail" : @"Description", @"imageId" : @"ImageId", @"imdsSupport" : @"ImdsSupport", @"kernelId" : @"KernelId", @"lastLaunchedTime" : @"LastLaunchedTime", @"launchPermissions" : @"LaunchPermissions", @"productCodes" : @"ProductCodes", @"ramdiskId" : @"RamdiskId", @"sriovNetSupport" : @"SriovNetSupport", @"tpmSupport" : @"TpmSupport", @"uefiData" : @"UefiData", }; } + (NSValueTransformer *)blockDeviceMappingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2BlockDeviceMapping class]]; } + (NSValueTransformer *)bootModeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)detailJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)imdsSupportJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)kernelIdJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)lastLaunchedTimeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)launchPermissionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchPermission class]]; } + (NSValueTransformer *)productCodesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ProductCode class]]; } + (NSValueTransformer *)ramdiskIdJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)sriovNetSupportJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)tpmSupportJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)uefiDataJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } @end @implementation AWSEC2ImageDiskContainer + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"deviceName" : @"DeviceName", @"format" : @"Format", @"snapshotId" : @"SnapshotId", @"url" : @"Url", @"userBucket" : @"UserBucket", }; } + (NSValueTransformer *)userBucketJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2UserBucket class]]; } @end @implementation AWSEC2ImageRecycleBinInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"imageId" : @"ImageId", @"name" : @"Name", @"recycleBinEnterTime" : @"RecycleBinEnterTime", @"recycleBinExitTime" : @"RecycleBinExitTime", }; } + (NSValueTransformer *)recycleBinEnterTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)recycleBinExitTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2ImportClientVpnClientCertificateRevocationListRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"certificateRevocationList" : @"CertificateRevocationList", @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2ImportClientVpnClientCertificateRevocationListResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ImportImageLicenseConfigurationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"licenseConfigurationArn" : @"LicenseConfigurationArn", }; } @end @implementation AWSEC2ImportImageLicenseConfigurationResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"licenseConfigurationArn" : @"LicenseConfigurationArn", }; } @end @implementation AWSEC2ImportImageRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"architecture" : @"Architecture", @"bootMode" : @"BootMode", @"clientData" : @"ClientData", @"clientToken" : @"ClientToken", @"detail" : @"Description", @"diskContainers" : @"DiskContainers", @"dryRun" : @"DryRun", @"encrypted" : @"Encrypted", @"hypervisor" : @"Hypervisor", @"kmsKeyId" : @"KmsKeyId", @"licenseSpecifications" : @"LicenseSpecifications", @"licenseType" : @"LicenseType", @"platform" : @"Platform", @"roleName" : @"RoleName", @"tagSpecifications" : @"TagSpecifications", @"usageOperation" : @"UsageOperation", }; } + (NSValueTransformer *)bootModeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"legacy-bios"] == NSOrderedSame) { return @(AWSEC2BootModeValuesLegacyBios); } if ([value caseInsensitiveCompare:@"uefi"] == NSOrderedSame) { return @(AWSEC2BootModeValuesUefi); } if ([value caseInsensitiveCompare:@"uefi-preferred"] == NSOrderedSame) { return @(AWSEC2BootModeValuesUefiPreferred); } return @(AWSEC2BootModeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2BootModeValuesLegacyBios: return @"legacy-bios"; case AWSEC2BootModeValuesUefi: return @"uefi"; case AWSEC2BootModeValuesUefiPreferred: return @"uefi-preferred"; default: return nil; } }]; } + (NSValueTransformer *)clientDataJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientData class]]; } + (NSValueTransformer *)diskContainersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ImageDiskContainer class]]; } + (NSValueTransformer *)licenseSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ImportImageLicenseConfigurationRequest class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2ImportImageResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"architecture" : @"Architecture", @"detail" : @"Description", @"encrypted" : @"Encrypted", @"hypervisor" : @"Hypervisor", @"imageId" : @"ImageId", @"importTaskId" : @"ImportTaskId", @"kmsKeyId" : @"KmsKeyId", @"licenseSpecifications" : @"LicenseSpecifications", @"licenseType" : @"LicenseType", @"platform" : @"Platform", @"progress" : @"Progress", @"snapshotDetails" : @"SnapshotDetails", @"status" : @"Status", @"statusMessage" : @"StatusMessage", @"tags" : @"Tags", @"usageOperation" : @"UsageOperation", }; } + (NSValueTransformer *)licenseSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ImportImageLicenseConfigurationResponse class]]; } + (NSValueTransformer *)snapshotDetailsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SnapshotDetail class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ImportImageTask + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"architecture" : @"Architecture", @"bootMode" : @"BootMode", @"detail" : @"Description", @"encrypted" : @"Encrypted", @"hypervisor" : @"Hypervisor", @"imageId" : @"ImageId", @"importTaskId" : @"ImportTaskId", @"kmsKeyId" : @"KmsKeyId", @"licenseSpecifications" : @"LicenseSpecifications", @"licenseType" : @"LicenseType", @"platform" : @"Platform", @"progress" : @"Progress", @"snapshotDetails" : @"SnapshotDetails", @"status" : @"Status", @"statusMessage" : @"StatusMessage", @"tags" : @"Tags", @"usageOperation" : @"UsageOperation", }; } + (NSValueTransformer *)bootModeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"legacy-bios"] == NSOrderedSame) { return @(AWSEC2BootModeValuesLegacyBios); } if ([value caseInsensitiveCompare:@"uefi"] == NSOrderedSame) { return @(AWSEC2BootModeValuesUefi); } if ([value caseInsensitiveCompare:@"uefi-preferred"] == NSOrderedSame) { return @(AWSEC2BootModeValuesUefiPreferred); } return @(AWSEC2BootModeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2BootModeValuesLegacyBios: return @"legacy-bios"; case AWSEC2BootModeValuesUefi: return @"uefi"; case AWSEC2BootModeValuesUefiPreferred: return @"uefi-preferred"; default: return nil; } }]; } + (NSValueTransformer *)licenseSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ImportImageLicenseConfigurationResponse class]]; } + (NSValueTransformer *)snapshotDetailsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SnapshotDetail class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ImportInstanceLaunchSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"additionalInfo" : @"AdditionalInfo", @"architecture" : @"Architecture", @"groupIds" : @"GroupIds", @"groupNames" : @"GroupNames", @"instanceInitiatedShutdownBehavior" : @"InstanceInitiatedShutdownBehavior", @"instanceType" : @"InstanceType", @"monitoring" : @"Monitoring", @"placement" : @"Placement", @"privateIpAddress" : @"PrivateIpAddress", @"subnetId" : @"SubnetId", @"userData" : @"UserData", }; } + (NSValueTransformer *)architectureJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"i386"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesI386); } if ([value caseInsensitiveCompare:@"x86_64"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesX86_64); } if ([value caseInsensitiveCompare:@"arm64"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesArm64); } if ([value caseInsensitiveCompare:@"x86_64_mac"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesX8664Mac); } if ([value caseInsensitiveCompare:@"arm64_mac"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesArm64Mac); } return @(AWSEC2ArchitectureValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ArchitectureValuesI386: return @"i386"; case AWSEC2ArchitectureValuesX86_64: return @"x86_64"; case AWSEC2ArchitectureValuesArm64: return @"arm64"; case AWSEC2ArchitectureValuesX8664Mac: return @"x86_64_mac"; case AWSEC2ArchitectureValuesArm64Mac: return @"arm64_mac"; default: return nil; } }]; } + (NSValueTransformer *)instanceInitiatedShutdownBehaviorJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"stop"] == NSOrderedSame) { return @(AWSEC2ShutdownBehaviorStop); } if ([value caseInsensitiveCompare:@"terminate"] == NSOrderedSame) { return @(AWSEC2ShutdownBehaviorTerminate); } return @(AWSEC2ShutdownBehaviorUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ShutdownBehaviorStop: return @"stop"; case AWSEC2ShutdownBehaviorTerminate: return @"terminate"; default: return nil; } }]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)placementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Placement class]]; } + (NSValueTransformer *)userDataJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2UserData class]]; } @end @implementation AWSEC2ImportInstanceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"diskImages" : @"DiskImages", @"dryRun" : @"DryRun", @"launchSpecification" : @"LaunchSpecification", @"platform" : @"Platform", }; } + (NSValueTransformer *)diskImagesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DiskImage class]]; } + (NSValueTransformer *)launchSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ImportInstanceLaunchSpecification class]]; } + (NSValueTransformer *)platformJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { return @(AWSEC2PlatformValuesWindows); } return @(AWSEC2PlatformValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PlatformValuesWindows: return @"Windows"; default: return nil; } }]; } @end @implementation AWSEC2ImportInstanceResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"conversionTask" : @"ConversionTask", }; } + (NSValueTransformer *)conversionTaskJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ConversionTask class]]; } @end @implementation AWSEC2ImportInstanceTaskDetails + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"instanceId" : @"InstanceId", @"platform" : @"Platform", @"volumes" : @"Volumes", }; } + (NSValueTransformer *)platformJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { return @(AWSEC2PlatformValuesWindows); } return @(AWSEC2PlatformValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PlatformValuesWindows: return @"Windows"; default: return nil; } }]; } + (NSValueTransformer *)volumesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ImportInstanceVolumeDetailItem class]]; } @end @implementation AWSEC2ImportInstanceVolumeDetailItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"bytesConverted" : @"BytesConverted", @"detail" : @"Description", @"image" : @"Image", @"status" : @"Status", @"statusMessage" : @"StatusMessage", @"volume" : @"Volume", }; } + (NSValueTransformer *)imageJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DiskImageDescription class]]; } + (NSValueTransformer *)volumeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DiskImageVolumeDescription class]]; } @end @implementation AWSEC2ImportKeyPairRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"keyName" : @"KeyName", @"publicKeyMaterial" : @"PublicKeyMaterial", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2ImportKeyPairResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"keyFingerprint" : @"KeyFingerprint", @"keyName" : @"KeyName", @"keyPairId" : @"KeyPairId", @"tags" : @"Tags", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ImportSnapshotRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientData" : @"ClientData", @"clientToken" : @"ClientToken", @"detail" : @"Description", @"diskContainer" : @"DiskContainer", @"dryRun" : @"DryRun", @"encrypted" : @"Encrypted", @"kmsKeyId" : @"KmsKeyId", @"roleName" : @"RoleName", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)clientDataJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientData class]]; } + (NSValueTransformer *)diskContainerJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SnapshotDiskContainer class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2ImportSnapshotResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"importTaskId" : @"ImportTaskId", @"snapshotTaskDetail" : @"SnapshotTaskDetail", @"tags" : @"Tags", }; } + (NSValueTransformer *)snapshotTaskDetailJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SnapshotTaskDetail class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ImportSnapshotTask + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"importTaskId" : @"ImportTaskId", @"snapshotTaskDetail" : @"SnapshotTaskDetail", @"tags" : @"Tags", }; } + (NSValueTransformer *)snapshotTaskDetailJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SnapshotTaskDetail class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ImportVolumeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"detail" : @"Description", @"dryRun" : @"DryRun", @"image" : @"Image", @"volume" : @"Volume", }; } + (NSValueTransformer *)imageJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DiskImageDetail class]]; } + (NSValueTransformer *)volumeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VolumeDetail class]]; } @end @implementation AWSEC2ImportVolumeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"conversionTask" : @"ConversionTask", }; } + (NSValueTransformer *)conversionTaskJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ConversionTask class]]; } @end @implementation AWSEC2ImportVolumeTaskDetails + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"bytesConverted" : @"BytesConverted", @"detail" : @"Description", @"image" : @"Image", @"volume" : @"Volume", }; } + (NSValueTransformer *)imageJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DiskImageDescription class]]; } + (NSValueTransformer *)volumeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DiskImageVolumeDescription class]]; } @end @implementation AWSEC2InferenceAcceleratorInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"accelerators" : @"Accelerators", @"totalInferenceMemoryInMiB" : @"TotalInferenceMemoryInMiB", }; } + (NSValueTransformer *)acceleratorsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InferenceDeviceInfo class]]; } @end @implementation AWSEC2InferenceDeviceInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"count" : @"Count", @"manufacturer" : @"Manufacturer", @"memoryInfo" : @"MemoryInfo", @"name" : @"Name", }; } + (NSValueTransformer *)memoryInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InferenceDeviceMemoryInfo class]]; } @end @implementation AWSEC2InferenceDeviceMemoryInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"sizeInMiB" : @"SizeInMiB", }; } @end @implementation AWSEC2Instance + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"amiLaunchIndex" : @"AmiLaunchIndex", @"architecture" : @"Architecture", @"blockDeviceMappings" : @"BlockDeviceMappings", @"bootMode" : @"BootMode", @"capacityReservationId" : @"CapacityReservationId", @"capacityReservationSpecification" : @"CapacityReservationSpecification", @"clientToken" : @"ClientToken", @"cpuOptions" : @"CpuOptions", @"currentInstanceBootMode" : @"CurrentInstanceBootMode", @"ebsOptimized" : @"EbsOptimized", @"elasticGpuAssociations" : @"ElasticGpuAssociations", @"elasticInferenceAcceleratorAssociations" : @"ElasticInferenceAcceleratorAssociations", @"enaSupport" : @"EnaSupport", @"enclaveOptions" : @"EnclaveOptions", @"hibernationOptions" : @"HibernationOptions", @"hypervisor" : @"Hypervisor", @"iamInstanceProfile" : @"IamInstanceProfile", @"imageId" : @"ImageId", @"instanceId" : @"InstanceId", @"instanceLifecycle" : @"InstanceLifecycle", @"instanceType" : @"InstanceType", @"ipv6Address" : @"Ipv6Address", @"kernelId" : @"KernelId", @"keyName" : @"KeyName", @"launchTime" : @"LaunchTime", @"licenses" : @"Licenses", @"maintenanceOptions" : @"MaintenanceOptions", @"metadataOptions" : @"MetadataOptions", @"monitoring" : @"Monitoring", @"networkInterfaces" : @"NetworkInterfaces", @"outpostArn" : @"OutpostArn", @"placement" : @"Placement", @"platform" : @"Platform", @"platformDetails" : @"PlatformDetails", @"privateDnsName" : @"PrivateDnsName", @"privateDnsNameOptions" : @"PrivateDnsNameOptions", @"privateIpAddress" : @"PrivateIpAddress", @"productCodes" : @"ProductCodes", @"publicDnsName" : @"PublicDnsName", @"publicIpAddress" : @"PublicIpAddress", @"ramdiskId" : @"RamdiskId", @"rootDeviceName" : @"RootDeviceName", @"rootDeviceType" : @"RootDeviceType", @"securityGroups" : @"SecurityGroups", @"sourceDestCheck" : @"SourceDestCheck", @"spotInstanceRequestId" : @"SpotInstanceRequestId", @"sriovNetSupport" : @"SriovNetSupport", @"state" : @"State", @"stateReason" : @"StateReason", @"stateTransitionReason" : @"StateTransitionReason", @"subnetId" : @"SubnetId", @"tags" : @"Tags", @"tpmSupport" : @"TpmSupport", @"usageOperation" : @"UsageOperation", @"usageOperationUpdateTime" : @"UsageOperationUpdateTime", @"virtualizationType" : @"VirtualizationType", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)architectureJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"i386"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesI386); } if ([value caseInsensitiveCompare:@"x86_64"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesX86_64); } if ([value caseInsensitiveCompare:@"arm64"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesArm64); } if ([value caseInsensitiveCompare:@"x86_64_mac"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesX8664Mac); } if ([value caseInsensitiveCompare:@"arm64_mac"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesArm64Mac); } return @(AWSEC2ArchitectureValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ArchitectureValuesI386: return @"i386"; case AWSEC2ArchitectureValuesX86_64: return @"x86_64"; case AWSEC2ArchitectureValuesArm64: return @"arm64"; case AWSEC2ArchitectureValuesX8664Mac: return @"x86_64_mac"; case AWSEC2ArchitectureValuesArm64Mac: return @"arm64_mac"; default: return nil; } }]; } + (NSValueTransformer *)blockDeviceMappingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceBlockDeviceMapping class]]; } + (NSValueTransformer *)bootModeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"legacy-bios"] == NSOrderedSame) { return @(AWSEC2BootModeValuesLegacyBios); } if ([value caseInsensitiveCompare:@"uefi"] == NSOrderedSame) { return @(AWSEC2BootModeValuesUefi); } if ([value caseInsensitiveCompare:@"uefi-preferred"] == NSOrderedSame) { return @(AWSEC2BootModeValuesUefiPreferred); } return @(AWSEC2BootModeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2BootModeValuesLegacyBios: return @"legacy-bios"; case AWSEC2BootModeValuesUefi: return @"uefi"; case AWSEC2BootModeValuesUefiPreferred: return @"uefi-preferred"; default: return nil; } }]; } + (NSValueTransformer *)capacityReservationSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CapacityReservationSpecificationResponse class]]; } + (NSValueTransformer *)cpuOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CpuOptions class]]; } + (NSValueTransformer *)currentInstanceBootModeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"legacy-bios"] == NSOrderedSame) { return @(AWSEC2InstanceBootModeValuesLegacyBios); } if ([value caseInsensitiveCompare:@"uefi"] == NSOrderedSame) { return @(AWSEC2InstanceBootModeValuesUefi); } return @(AWSEC2InstanceBootModeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceBootModeValuesLegacyBios: return @"legacy-bios"; case AWSEC2InstanceBootModeValuesUefi: return @"uefi"; default: return nil; } }]; } + (NSValueTransformer *)elasticGpuAssociationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ElasticGpuAssociation class]]; } + (NSValueTransformer *)elasticInferenceAcceleratorAssociationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ElasticInferenceAcceleratorAssociation class]]; } + (NSValueTransformer *)enclaveOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EnclaveOptions class]]; } + (NSValueTransformer *)hibernationOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2HibernationOptions class]]; } + (NSValueTransformer *)hypervisorJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ovm"] == NSOrderedSame) { return @(AWSEC2HypervisorTypeOvm); } if ([value caseInsensitiveCompare:@"xen"] == NSOrderedSame) { return @(AWSEC2HypervisorTypeXen); } return @(AWSEC2HypervisorTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HypervisorTypeOvm: return @"ovm"; case AWSEC2HypervisorTypeXen: return @"xen"; default: return nil; } }]; } + (NSValueTransformer *)iamInstanceProfileJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IamInstanceProfile class]]; } + (NSValueTransformer *)instanceLifecycleJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"spot"] == NSOrderedSame) { return @(AWSEC2InstanceLifecycleTypeSpot); } if ([value caseInsensitiveCompare:@"scheduled"] == NSOrderedSame) { return @(AWSEC2InstanceLifecycleTypeScheduled); } return @(AWSEC2InstanceLifecycleTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceLifecycleTypeSpot: return @"spot"; case AWSEC2InstanceLifecycleTypeScheduled: return @"scheduled"; default: return nil; } }]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)launchTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)licensesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LicenseConfiguration class]]; } + (NSValueTransformer *)maintenanceOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceMaintenanceOptions class]]; } + (NSValueTransformer *)metadataOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceMetadataOptionsResponse class]]; } + (NSValueTransformer *)monitoringJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Monitoring class]]; } + (NSValueTransformer *)networkInterfacesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceNetworkInterface class]]; } + (NSValueTransformer *)placementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Placement class]]; } + (NSValueTransformer *)platformJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { return @(AWSEC2PlatformValuesWindows); } return @(AWSEC2PlatformValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PlatformValuesWindows: return @"Windows"; default: return nil; } }]; } + (NSValueTransformer *)privateDnsNameOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PrivateDnsNameOptionsResponse class]]; } + (NSValueTransformer *)productCodesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ProductCode class]]; } + (NSValueTransformer *)rootDeviceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ebs"] == NSOrderedSame) { return @(AWSEC2DeviceTypeEBS); } if ([value caseInsensitiveCompare:@"instance-store"] == NSOrderedSame) { return @(AWSEC2DeviceTypeInstanceStore); } return @(AWSEC2DeviceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DeviceTypeEBS: return @"ebs"; case AWSEC2DeviceTypeInstanceStore: return @"instance-store"; default: return nil; } }]; } + (NSValueTransformer *)securityGroupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2GroupIdentifier class]]; } + (NSValueTransformer *)stateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceState class]]; } + (NSValueTransformer *)stateReasonJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2StateReason class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)usageOperationUpdateTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)virtualizationTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"hvm"] == NSOrderedSame) { return @(AWSEC2VirtualizationTypeHVM); } if ([value caseInsensitiveCompare:@"paravirtual"] == NSOrderedSame) { return @(AWSEC2VirtualizationTypeParavirtual); } return @(AWSEC2VirtualizationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VirtualizationTypeHVM: return @"hvm"; case AWSEC2VirtualizationTypeParavirtual: return @"paravirtual"; default: return nil; } }]; } @end @implementation AWSEC2InstanceAttribute + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blockDeviceMappings" : @"BlockDeviceMappings", @"disableApiStop" : @"DisableApiStop", @"disableApiTermination" : @"DisableApiTermination", @"ebsOptimized" : @"EbsOptimized", @"enaSupport" : @"EnaSupport", @"enclaveOptions" : @"EnclaveOptions", @"groups" : @"Groups", @"instanceId" : @"InstanceId", @"instanceInitiatedShutdownBehavior" : @"InstanceInitiatedShutdownBehavior", @"instanceType" : @"InstanceType", @"kernelId" : @"KernelId", @"productCodes" : @"ProductCodes", @"ramdiskId" : @"RamdiskId", @"rootDeviceName" : @"RootDeviceName", @"sourceDestCheck" : @"SourceDestCheck", @"sriovNetSupport" : @"SriovNetSupport", @"userData" : @"UserData", }; } + (NSValueTransformer *)blockDeviceMappingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceBlockDeviceMapping class]]; } + (NSValueTransformer *)disableApiStopJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)disableApiTerminationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)ebsOptimizedJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)enaSupportJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)enclaveOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EnclaveOptions class]]; } + (NSValueTransformer *)groupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2GroupIdentifier class]]; } + (NSValueTransformer *)instanceInitiatedShutdownBehaviorJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)kernelIdJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)productCodesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ProductCode class]]; } + (NSValueTransformer *)ramdiskIdJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)rootDeviceNameJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)sourceDestCheckJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)sriovNetSupportJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)userDataJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } @end @implementation AWSEC2InstanceBlockDeviceMapping + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deviceName" : @"DeviceName", @"ebs" : @"Ebs", }; } + (NSValueTransformer *)ebsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EbsInstanceBlockDevice class]]; } @end @implementation AWSEC2InstanceBlockDeviceMappingSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deviceName" : @"DeviceName", @"ebs" : @"Ebs", @"noDevice" : @"NoDevice", @"virtualName" : @"VirtualName", }; } + (NSValueTransformer *)ebsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EbsInstanceBlockDeviceSpecification class]]; } @end @implementation AWSEC2InstanceCapacity + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availableCapacity" : @"AvailableCapacity", @"instanceType" : @"InstanceType", @"totalCapacity" : @"TotalCapacity", }; } @end @implementation AWSEC2InstanceCount + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceCount" : @"InstanceCount", @"state" : @"State", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2ListingStateAvailable); } if ([value caseInsensitiveCompare:@"sold"] == NSOrderedSame) { return @(AWSEC2ListingStateSold); } if ([value caseInsensitiveCompare:@"cancelled"] == NSOrderedSame) { return @(AWSEC2ListingStateCancelled); } if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2ListingStatePending); } return @(AWSEC2ListingStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ListingStateAvailable: return @"available"; case AWSEC2ListingStateSold: return @"sold"; case AWSEC2ListingStateCancelled: return @"cancelled"; case AWSEC2ListingStatePending: return @"pending"; default: return nil; } }]; } @end @implementation AWSEC2InstanceCreditSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cpuCredits" : @"CpuCredits", @"instanceId" : @"InstanceId", }; } @end @implementation AWSEC2InstanceCreditSpecificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cpuCredits" : @"CpuCredits", @"instanceId" : @"InstanceId", }; } @end @implementation AWSEC2InstanceEventWindow + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationTarget" : @"AssociationTarget", @"cronExpression" : @"CronExpression", @"instanceEventWindowId" : @"InstanceEventWindowId", @"name" : @"Name", @"state" : @"State", @"tags" : @"Tags", @"timeRanges" : @"TimeRanges", }; } + (NSValueTransformer *)associationTargetJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceEventWindowAssociationTarget class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"creating"] == NSOrderedSame) { return @(AWSEC2InstanceEventWindowStateCreating); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2InstanceEventWindowStateDeleting); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2InstanceEventWindowStateActive); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2InstanceEventWindowStateDeleted); } return @(AWSEC2InstanceEventWindowStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceEventWindowStateCreating: return @"creating"; case AWSEC2InstanceEventWindowStateDeleting: return @"deleting"; case AWSEC2InstanceEventWindowStateActive: return @"active"; case AWSEC2InstanceEventWindowStateDeleted: return @"deleted"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)timeRangesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceEventWindowTimeRange class]]; } @end @implementation AWSEC2InstanceEventWindowAssociationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dedicatedHostIds" : @"DedicatedHostIds", @"instanceIds" : @"InstanceIds", @"instanceTags" : @"InstanceTags", }; } + (NSValueTransformer *)instanceTagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2InstanceEventWindowAssociationTarget + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dedicatedHostIds" : @"DedicatedHostIds", @"instanceIds" : @"InstanceIds", @"tags" : @"Tags", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2InstanceEventWindowDisassociationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dedicatedHostIds" : @"DedicatedHostIds", @"instanceIds" : @"InstanceIds", @"instanceTags" : @"InstanceTags", }; } + (NSValueTransformer *)instanceTagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2InstanceEventWindowStateChange + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceEventWindowId" : @"InstanceEventWindowId", @"state" : @"State", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"creating"] == NSOrderedSame) { return @(AWSEC2InstanceEventWindowStateCreating); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2InstanceEventWindowStateDeleting); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2InstanceEventWindowStateActive); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2InstanceEventWindowStateDeleted); } return @(AWSEC2InstanceEventWindowStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceEventWindowStateCreating: return @"creating"; case AWSEC2InstanceEventWindowStateDeleting: return @"deleting"; case AWSEC2InstanceEventWindowStateActive: return @"active"; case AWSEC2InstanceEventWindowStateDeleted: return @"deleted"; default: return nil; } }]; } @end @implementation AWSEC2InstanceEventWindowTimeRange + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"endHour" : @"EndHour", @"endWeekDay" : @"EndWeekDay", @"startHour" : @"StartHour", @"startWeekDay" : @"StartWeekDay", }; } + (NSValueTransformer *)endWeekDayJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"sunday"] == NSOrderedSame) { return @(AWSEC2WeekDaySunday); } if ([value caseInsensitiveCompare:@"monday"] == NSOrderedSame) { return @(AWSEC2WeekDayMonday); } if ([value caseInsensitiveCompare:@"tuesday"] == NSOrderedSame) { return @(AWSEC2WeekDayTuesday); } if ([value caseInsensitiveCompare:@"wednesday"] == NSOrderedSame) { return @(AWSEC2WeekDayWednesday); } if ([value caseInsensitiveCompare:@"thursday"] == NSOrderedSame) { return @(AWSEC2WeekDayThursday); } if ([value caseInsensitiveCompare:@"friday"] == NSOrderedSame) { return @(AWSEC2WeekDayFriday); } if ([value caseInsensitiveCompare:@"saturday"] == NSOrderedSame) { return @(AWSEC2WeekDaySaturday); } return @(AWSEC2WeekDayUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2WeekDaySunday: return @"sunday"; case AWSEC2WeekDayMonday: return @"monday"; case AWSEC2WeekDayTuesday: return @"tuesday"; case AWSEC2WeekDayWednesday: return @"wednesday"; case AWSEC2WeekDayThursday: return @"thursday"; case AWSEC2WeekDayFriday: return @"friday"; case AWSEC2WeekDaySaturday: return @"saturday"; default: return nil; } }]; } + (NSValueTransformer *)startWeekDayJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"sunday"] == NSOrderedSame) { return @(AWSEC2WeekDaySunday); } if ([value caseInsensitiveCompare:@"monday"] == NSOrderedSame) { return @(AWSEC2WeekDayMonday); } if ([value caseInsensitiveCompare:@"tuesday"] == NSOrderedSame) { return @(AWSEC2WeekDayTuesday); } if ([value caseInsensitiveCompare:@"wednesday"] == NSOrderedSame) { return @(AWSEC2WeekDayWednesday); } if ([value caseInsensitiveCompare:@"thursday"] == NSOrderedSame) { return @(AWSEC2WeekDayThursday); } if ([value caseInsensitiveCompare:@"friday"] == NSOrderedSame) { return @(AWSEC2WeekDayFriday); } if ([value caseInsensitiveCompare:@"saturday"] == NSOrderedSame) { return @(AWSEC2WeekDaySaturday); } return @(AWSEC2WeekDayUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2WeekDaySunday: return @"sunday"; case AWSEC2WeekDayMonday: return @"monday"; case AWSEC2WeekDayTuesday: return @"tuesday"; case AWSEC2WeekDayWednesday: return @"wednesday"; case AWSEC2WeekDayThursday: return @"thursday"; case AWSEC2WeekDayFriday: return @"friday"; case AWSEC2WeekDaySaturday: return @"saturday"; default: return nil; } }]; } @end @implementation AWSEC2InstanceEventWindowTimeRangeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"endHour" : @"EndHour", @"endWeekDay" : @"EndWeekDay", @"startHour" : @"StartHour", @"startWeekDay" : @"StartWeekDay", }; } + (NSValueTransformer *)endWeekDayJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"sunday"] == NSOrderedSame) { return @(AWSEC2WeekDaySunday); } if ([value caseInsensitiveCompare:@"monday"] == NSOrderedSame) { return @(AWSEC2WeekDayMonday); } if ([value caseInsensitiveCompare:@"tuesday"] == NSOrderedSame) { return @(AWSEC2WeekDayTuesday); } if ([value caseInsensitiveCompare:@"wednesday"] == NSOrderedSame) { return @(AWSEC2WeekDayWednesday); } if ([value caseInsensitiveCompare:@"thursday"] == NSOrderedSame) { return @(AWSEC2WeekDayThursday); } if ([value caseInsensitiveCompare:@"friday"] == NSOrderedSame) { return @(AWSEC2WeekDayFriday); } if ([value caseInsensitiveCompare:@"saturday"] == NSOrderedSame) { return @(AWSEC2WeekDaySaturday); } return @(AWSEC2WeekDayUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2WeekDaySunday: return @"sunday"; case AWSEC2WeekDayMonday: return @"monday"; case AWSEC2WeekDayTuesday: return @"tuesday"; case AWSEC2WeekDayWednesday: return @"wednesday"; case AWSEC2WeekDayThursday: return @"thursday"; case AWSEC2WeekDayFriday: return @"friday"; case AWSEC2WeekDaySaturday: return @"saturday"; default: return nil; } }]; } + (NSValueTransformer *)startWeekDayJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"sunday"] == NSOrderedSame) { return @(AWSEC2WeekDaySunday); } if ([value caseInsensitiveCompare:@"monday"] == NSOrderedSame) { return @(AWSEC2WeekDayMonday); } if ([value caseInsensitiveCompare:@"tuesday"] == NSOrderedSame) { return @(AWSEC2WeekDayTuesday); } if ([value caseInsensitiveCompare:@"wednesday"] == NSOrderedSame) { return @(AWSEC2WeekDayWednesday); } if ([value caseInsensitiveCompare:@"thursday"] == NSOrderedSame) { return @(AWSEC2WeekDayThursday); } if ([value caseInsensitiveCompare:@"friday"] == NSOrderedSame) { return @(AWSEC2WeekDayFriday); } if ([value caseInsensitiveCompare:@"saturday"] == NSOrderedSame) { return @(AWSEC2WeekDaySaturday); } return @(AWSEC2WeekDayUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2WeekDaySunday: return @"sunday"; case AWSEC2WeekDayMonday: return @"monday"; case AWSEC2WeekDayTuesday: return @"tuesday"; case AWSEC2WeekDayWednesday: return @"wednesday"; case AWSEC2WeekDayThursday: return @"thursday"; case AWSEC2WeekDayFriday: return @"friday"; case AWSEC2WeekDaySaturday: return @"saturday"; default: return nil; } }]; } @end @implementation AWSEC2InstanceExportDetails + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceId" : @"InstanceId", @"targetEnvironment" : @"TargetEnvironment", }; } + (NSValueTransformer *)targetEnvironmentJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"citrix"] == NSOrderedSame) { return @(AWSEC2ExportEnvironmentCitrix); } if ([value caseInsensitiveCompare:@"vmware"] == NSOrderedSame) { return @(AWSEC2ExportEnvironmentVMware); } if ([value caseInsensitiveCompare:@"microsoft"] == NSOrderedSame) { return @(AWSEC2ExportEnvironmentMicrosoft); } return @(AWSEC2ExportEnvironmentUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ExportEnvironmentCitrix: return @"citrix"; case AWSEC2ExportEnvironmentVMware: return @"vmware"; case AWSEC2ExportEnvironmentMicrosoft: return @"microsoft"; default: return nil; } }]; } @end @implementation AWSEC2InstanceFamilyCreditSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cpuCredits" : @"CpuCredits", @"instanceFamily" : @"InstanceFamily", }; } + (NSValueTransformer *)instanceFamilyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"t2"] == NSOrderedSame) { return @(AWSEC2UnlimitedSupportedInstanceFamilyT2); } if ([value caseInsensitiveCompare:@"t3"] == NSOrderedSame) { return @(AWSEC2UnlimitedSupportedInstanceFamilyT3); } if ([value caseInsensitiveCompare:@"t3a"] == NSOrderedSame) { return @(AWSEC2UnlimitedSupportedInstanceFamilyT3a); } if ([value caseInsensitiveCompare:@"t4g"] == NSOrderedSame) { return @(AWSEC2UnlimitedSupportedInstanceFamilyT4g); } return @(AWSEC2UnlimitedSupportedInstanceFamilyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2UnlimitedSupportedInstanceFamilyT2: return @"t2"; case AWSEC2UnlimitedSupportedInstanceFamilyT3: return @"t3"; case AWSEC2UnlimitedSupportedInstanceFamilyT3a: return @"t3a"; case AWSEC2UnlimitedSupportedInstanceFamilyT4g: return @"t4g"; default: return nil; } }]; } @end @implementation AWSEC2InstanceIpv4Prefix + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv4Prefix" : @"Ipv4Prefix", }; } @end @implementation AWSEC2InstanceIpv6Address + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6Address" : @"Ipv6Address", }; } @end @implementation AWSEC2InstanceIpv6AddressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6Address" : @"Ipv6Address", }; } @end @implementation AWSEC2InstanceIpv6Prefix + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6Prefix" : @"Ipv6Prefix", }; } @end @implementation AWSEC2InstanceMaintenanceOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"autoRecovery" : @"AutoRecovery", }; } + (NSValueTransformer *)autoRecoveryJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2InstanceAutoRecoveryStateDisabled); } if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2InstanceAutoRecoveryStateDefault); } return @(AWSEC2InstanceAutoRecoveryStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceAutoRecoveryStateDisabled: return @"disabled"; case AWSEC2InstanceAutoRecoveryStateDefault: return @"default"; default: return nil; } }]; } @end @implementation AWSEC2InstanceMaintenanceOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"autoRecovery" : @"AutoRecovery", }; } + (NSValueTransformer *)autoRecoveryJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2InstanceAutoRecoveryStateDisabled); } if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2InstanceAutoRecoveryStateDefault); } return @(AWSEC2InstanceAutoRecoveryStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceAutoRecoveryStateDisabled: return @"disabled"; case AWSEC2InstanceAutoRecoveryStateDefault: return @"default"; default: return nil; } }]; } @end @implementation AWSEC2InstanceMarketOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"marketType" : @"MarketType", @"spotOptions" : @"SpotOptions", }; } + (NSValueTransformer *)marketTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"spot"] == NSOrderedSame) { return @(AWSEC2MarketTypeSpot); } return @(AWSEC2MarketTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MarketTypeSpot: return @"spot"; default: return nil; } }]; } + (NSValueTransformer *)spotOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotMarketOptions class]]; } @end @implementation AWSEC2InstanceMetadataOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"httpEndpoint" : @"HttpEndpoint", @"httpProtocolIpv6" : @"HttpProtocolIpv6", @"httpPutResponseHopLimit" : @"HttpPutResponseHopLimit", @"httpTokens" : @"HttpTokens", @"instanceMetadataTags" : @"InstanceMetadataTags", }; } + (NSValueTransformer *)httpEndpointJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataEndpointStateDisabled); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataEndpointStateEnabled); } return @(AWSEC2InstanceMetadataEndpointStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceMetadataEndpointStateDisabled: return @"disabled"; case AWSEC2InstanceMetadataEndpointStateEnabled: return @"enabled"; default: return nil; } }]; } + (NSValueTransformer *)httpProtocolIpv6JSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataProtocolStateDisabled); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataProtocolStateEnabled); } return @(AWSEC2InstanceMetadataProtocolStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceMetadataProtocolStateDisabled: return @"disabled"; case AWSEC2InstanceMetadataProtocolStateEnabled: return @"enabled"; default: return nil; } }]; } + (NSValueTransformer *)httpTokensJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"optional"] == NSOrderedSame) { return @(AWSEC2HttpTokensStateOptional); } if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { return @(AWSEC2HttpTokensStateRequired); } return @(AWSEC2HttpTokensStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HttpTokensStateOptional: return @"optional"; case AWSEC2HttpTokensStateRequired: return @"required"; default: return nil; } }]; } + (NSValueTransformer *)instanceMetadataTagsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataTagsStateDisabled); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataTagsStateEnabled); } return @(AWSEC2InstanceMetadataTagsStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceMetadataTagsStateDisabled: return @"disabled"; case AWSEC2InstanceMetadataTagsStateEnabled: return @"enabled"; default: return nil; } }]; } @end @implementation AWSEC2InstanceMetadataOptionsResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"httpEndpoint" : @"HttpEndpoint", @"httpProtocolIpv6" : @"HttpProtocolIpv6", @"httpPutResponseHopLimit" : @"HttpPutResponseHopLimit", @"httpTokens" : @"HttpTokens", @"instanceMetadataTags" : @"InstanceMetadataTags", @"state" : @"State", }; } + (NSValueTransformer *)httpEndpointJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataEndpointStateDisabled); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataEndpointStateEnabled); } return @(AWSEC2InstanceMetadataEndpointStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceMetadataEndpointStateDisabled: return @"disabled"; case AWSEC2InstanceMetadataEndpointStateEnabled: return @"enabled"; default: return nil; } }]; } + (NSValueTransformer *)httpProtocolIpv6JSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataProtocolStateDisabled); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataProtocolStateEnabled); } return @(AWSEC2InstanceMetadataProtocolStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceMetadataProtocolStateDisabled: return @"disabled"; case AWSEC2InstanceMetadataProtocolStateEnabled: return @"enabled"; default: return nil; } }]; } + (NSValueTransformer *)httpTokensJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"optional"] == NSOrderedSame) { return @(AWSEC2HttpTokensStateOptional); } if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { return @(AWSEC2HttpTokensStateRequired); } return @(AWSEC2HttpTokensStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HttpTokensStateOptional: return @"optional"; case AWSEC2HttpTokensStateRequired: return @"required"; default: return nil; } }]; } + (NSValueTransformer *)instanceMetadataTagsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataTagsStateDisabled); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataTagsStateEnabled); } return @(AWSEC2InstanceMetadataTagsStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceMetadataTagsStateDisabled: return @"disabled"; case AWSEC2InstanceMetadataTagsStateEnabled: return @"enabled"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataOptionsStatePending); } if ([value caseInsensitiveCompare:@"applied"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataOptionsStateApplied); } return @(AWSEC2InstanceMetadataOptionsStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceMetadataOptionsStatePending: return @"pending"; case AWSEC2InstanceMetadataOptionsStateApplied: return @"applied"; default: return nil; } }]; } @end @implementation AWSEC2InstanceMonitoring + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceId" : @"InstanceId", @"monitoring" : @"Monitoring", }; } + (NSValueTransformer *)monitoringJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Monitoring class]]; } @end @implementation AWSEC2InstanceNetworkInterface + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"association" : @"Association", @"attachment" : @"Attachment", @"detail" : @"Description", @"groups" : @"Groups", @"interfaceType" : @"InterfaceType", @"ipv4Prefixes" : @"Ipv4Prefixes", @"ipv6Addresses" : @"Ipv6Addresses", @"ipv6Prefixes" : @"Ipv6Prefixes", @"macAddress" : @"MacAddress", @"networkInterfaceId" : @"NetworkInterfaceId", @"ownerId" : @"OwnerId", @"privateDnsName" : @"PrivateDnsName", @"privateIpAddress" : @"PrivateIpAddress", @"privateIpAddresses" : @"PrivateIpAddresses", @"sourceDestCheck" : @"SourceDestCheck", @"status" : @"Status", @"subnetId" : @"SubnetId", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)associationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceNetworkInterfaceAssociation class]]; } + (NSValueTransformer *)attachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceNetworkInterfaceAttachment class]]; } + (NSValueTransformer *)groupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2GroupIdentifier class]]; } + (NSValueTransformer *)ipv4PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceIpv4Prefix class]]; } + (NSValueTransformer *)ipv6AddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceIpv6Address class]]; } + (NSValueTransformer *)ipv6PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceIpv6Prefix class]]; } + (NSValueTransformer *)privateIpAddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstancePrivateIpAddress class]]; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceStatusAvailable); } if ([value caseInsensitiveCompare:@"associated"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceStatusAssociated); } if ([value caseInsensitiveCompare:@"attaching"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceStatusAttaching); } if ([value caseInsensitiveCompare:@"in-use"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceStatusInUse); } if ([value caseInsensitiveCompare:@"detaching"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceStatusDetaching); } return @(AWSEC2NetworkInterfaceStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2NetworkInterfaceStatusAvailable: return @"available"; case AWSEC2NetworkInterfaceStatusAssociated: return @"associated"; case AWSEC2NetworkInterfaceStatusAttaching: return @"attaching"; case AWSEC2NetworkInterfaceStatusInUse: return @"in-use"; case AWSEC2NetworkInterfaceStatusDetaching: return @"detaching"; default: return nil; } }]; } @end @implementation AWSEC2InstanceNetworkInterfaceAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"carrierIp" : @"CarrierIp", @"customerOwnedIp" : @"CustomerOwnedIp", @"ipOwnerId" : @"IpOwnerId", @"publicDnsName" : @"PublicDnsName", @"publicIp" : @"PublicIp", }; } @end @implementation AWSEC2InstanceNetworkInterfaceAttachment + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attachTime" : @"AttachTime", @"attachmentId" : @"AttachmentId", @"deleteOnTermination" : @"DeleteOnTermination", @"deviceIndex" : @"DeviceIndex", @"networkCardIndex" : @"NetworkCardIndex", @"status" : @"Status", }; } + (NSValueTransformer *)attachTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"attaching"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusAttaching); } if ([value caseInsensitiveCompare:@"attached"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusAttached); } if ([value caseInsensitiveCompare:@"detaching"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusDetaching); } if ([value caseInsensitiveCompare:@"detached"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusDetached); } return @(AWSEC2AttachmentStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AttachmentStatusAttaching: return @"attaching"; case AWSEC2AttachmentStatusAttached: return @"attached"; case AWSEC2AttachmentStatusDetaching: return @"detaching"; case AWSEC2AttachmentStatusDetached: return @"detached"; default: return nil; } }]; } @end @implementation AWSEC2InstanceNetworkInterfaceSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associateCarrierIpAddress" : @"AssociateCarrierIpAddress", @"associatePublicIpAddress" : @"AssociatePublicIpAddress", @"deleteOnTermination" : @"DeleteOnTermination", @"detail" : @"Description", @"deviceIndex" : @"DeviceIndex", @"groups" : @"Groups", @"interfaceType" : @"InterfaceType", @"ipv4PrefixCount" : @"Ipv4PrefixCount", @"ipv4Prefixes" : @"Ipv4Prefixes", @"ipv6AddressCount" : @"Ipv6AddressCount", @"ipv6Addresses" : @"Ipv6Addresses", @"ipv6PrefixCount" : @"Ipv6PrefixCount", @"ipv6Prefixes" : @"Ipv6Prefixes", @"networkCardIndex" : @"NetworkCardIndex", @"networkInterfaceId" : @"NetworkInterfaceId", @"privateIpAddress" : @"PrivateIpAddress", @"privateIpAddresses" : @"PrivateIpAddresses", @"secondaryPrivateIpAddressCount" : @"SecondaryPrivateIpAddressCount", @"subnetId" : @"SubnetId", }; } + (NSValueTransformer *)ipv4PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv4PrefixSpecificationRequest class]]; } + (NSValueTransformer *)ipv6AddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceIpv6Address class]]; } + (NSValueTransformer *)ipv6PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv6PrefixSpecificationRequest class]]; } + (NSValueTransformer *)privateIpAddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PrivateIpAddressSpecification class]]; } @end @implementation AWSEC2InstancePrivateIpAddress + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"association" : @"Association", @"primary" : @"Primary", @"privateDnsName" : @"PrivateDnsName", @"privateIpAddress" : @"PrivateIpAddress", }; } + (NSValueTransformer *)associationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceNetworkInterfaceAssociation class]]; } @end @implementation AWSEC2InstanceRequirements + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"acceleratorCount" : @"AcceleratorCount", @"acceleratorManufacturers" : @"AcceleratorManufacturers", @"acceleratorNames" : @"AcceleratorNames", @"acceleratorTotalMemoryMiB" : @"AcceleratorTotalMemoryMiB", @"acceleratorTypes" : @"AcceleratorTypes", @"allowedInstanceTypes" : @"AllowedInstanceTypes", @"bareMetal" : @"BareMetal", @"baselineEbsBandwidthMbps" : @"BaselineEbsBandwidthMbps", @"burstablePerformance" : @"BurstablePerformance", @"cpuManufacturers" : @"CpuManufacturers", @"excludedInstanceTypes" : @"ExcludedInstanceTypes", @"instanceGenerations" : @"InstanceGenerations", @"localStorage" : @"LocalStorage", @"localStorageTypes" : @"LocalStorageTypes", @"memoryGiBPerVCpu" : @"MemoryGiBPerVCpu", @"memoryMiB" : @"MemoryMiB", @"networkBandwidthGbps" : @"NetworkBandwidthGbps", @"networkInterfaceCount" : @"NetworkInterfaceCount", @"onDemandMaxPricePercentageOverLowestPrice" : @"OnDemandMaxPricePercentageOverLowestPrice", @"requireHibernateSupport" : @"RequireHibernateSupport", @"spotMaxPricePercentageOverLowestPrice" : @"SpotMaxPricePercentageOverLowestPrice", @"totalLocalStorageGB" : @"TotalLocalStorageGB", @"VCpuCount" : @"VCpuCount", }; } + (NSValueTransformer *)acceleratorCountJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AcceleratorCount class]]; } + (NSValueTransformer *)acceleratorTotalMemoryMiBJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AcceleratorTotalMemoryMiB class]]; } + (NSValueTransformer *)bareMetalJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"included"] == NSOrderedSame) { return @(AWSEC2BareMetalIncluded); } if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { return @(AWSEC2BareMetalRequired); } if ([value caseInsensitiveCompare:@"excluded"] == NSOrderedSame) { return @(AWSEC2BareMetalExcluded); } return @(AWSEC2BareMetalUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2BareMetalIncluded: return @"included"; case AWSEC2BareMetalRequired: return @"required"; case AWSEC2BareMetalExcluded: return @"excluded"; default: return nil; } }]; } + (NSValueTransformer *)baselineEbsBandwidthMbpsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2BaselineEbsBandwidthMbps class]]; } + (NSValueTransformer *)burstablePerformanceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"included"] == NSOrderedSame) { return @(AWSEC2BurstablePerformanceIncluded); } if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { return @(AWSEC2BurstablePerformanceRequired); } if ([value caseInsensitiveCompare:@"excluded"] == NSOrderedSame) { return @(AWSEC2BurstablePerformanceExcluded); } return @(AWSEC2BurstablePerformanceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2BurstablePerformanceIncluded: return @"included"; case AWSEC2BurstablePerformanceRequired: return @"required"; case AWSEC2BurstablePerformanceExcluded: return @"excluded"; default: return nil; } }]; } + (NSValueTransformer *)localStorageJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"included"] == NSOrderedSame) { return @(AWSEC2LocalStorageIncluded); } if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { return @(AWSEC2LocalStorageRequired); } if ([value caseInsensitiveCompare:@"excluded"] == NSOrderedSame) { return @(AWSEC2LocalStorageExcluded); } return @(AWSEC2LocalStorageUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LocalStorageIncluded: return @"included"; case AWSEC2LocalStorageRequired: return @"required"; case AWSEC2LocalStorageExcluded: return @"excluded"; default: return nil; } }]; } + (NSValueTransformer *)memoryGiBPerVCpuJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2MemoryGiBPerVCpu class]]; } + (NSValueTransformer *)memoryMiBJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2MemoryMiB class]]; } + (NSValueTransformer *)networkBandwidthGbpsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkBandwidthGbps class]]; } + (NSValueTransformer *)networkInterfaceCountJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInterfaceCount class]]; } + (NSValueTransformer *)totalLocalStorageGBJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TotalLocalStorageGB class]]; } + (NSValueTransformer *)VCpuCountJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VCpuCountRange class]]; } @end @implementation AWSEC2InstanceRequirementsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"acceleratorCount" : @"AcceleratorCount", @"acceleratorManufacturers" : @"AcceleratorManufacturers", @"acceleratorNames" : @"AcceleratorNames", @"acceleratorTotalMemoryMiB" : @"AcceleratorTotalMemoryMiB", @"acceleratorTypes" : @"AcceleratorTypes", @"allowedInstanceTypes" : @"AllowedInstanceTypes", @"bareMetal" : @"BareMetal", @"baselineEbsBandwidthMbps" : @"BaselineEbsBandwidthMbps", @"burstablePerformance" : @"BurstablePerformance", @"cpuManufacturers" : @"CpuManufacturers", @"excludedInstanceTypes" : @"ExcludedInstanceTypes", @"instanceGenerations" : @"InstanceGenerations", @"localStorage" : @"LocalStorage", @"localStorageTypes" : @"LocalStorageTypes", @"memoryGiBPerVCpu" : @"MemoryGiBPerVCpu", @"memoryMiB" : @"MemoryMiB", @"networkBandwidthGbps" : @"NetworkBandwidthGbps", @"networkInterfaceCount" : @"NetworkInterfaceCount", @"onDemandMaxPricePercentageOverLowestPrice" : @"OnDemandMaxPricePercentageOverLowestPrice", @"requireHibernateSupport" : @"RequireHibernateSupport", @"spotMaxPricePercentageOverLowestPrice" : @"SpotMaxPricePercentageOverLowestPrice", @"totalLocalStorageGB" : @"TotalLocalStorageGB", @"VCpuCount" : @"VCpuCount", }; } + (NSValueTransformer *)acceleratorCountJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AcceleratorCountRequest class]]; } + (NSValueTransformer *)acceleratorTotalMemoryMiBJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AcceleratorTotalMemoryMiBRequest class]]; } + (NSValueTransformer *)bareMetalJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"included"] == NSOrderedSame) { return @(AWSEC2BareMetalIncluded); } if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { return @(AWSEC2BareMetalRequired); } if ([value caseInsensitiveCompare:@"excluded"] == NSOrderedSame) { return @(AWSEC2BareMetalExcluded); } return @(AWSEC2BareMetalUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2BareMetalIncluded: return @"included"; case AWSEC2BareMetalRequired: return @"required"; case AWSEC2BareMetalExcluded: return @"excluded"; default: return nil; } }]; } + (NSValueTransformer *)baselineEbsBandwidthMbpsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2BaselineEbsBandwidthMbpsRequest class]]; } + (NSValueTransformer *)burstablePerformanceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"included"] == NSOrderedSame) { return @(AWSEC2BurstablePerformanceIncluded); } if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { return @(AWSEC2BurstablePerformanceRequired); } if ([value caseInsensitiveCompare:@"excluded"] == NSOrderedSame) { return @(AWSEC2BurstablePerformanceExcluded); } return @(AWSEC2BurstablePerformanceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2BurstablePerformanceIncluded: return @"included"; case AWSEC2BurstablePerformanceRequired: return @"required"; case AWSEC2BurstablePerformanceExcluded: return @"excluded"; default: return nil; } }]; } + (NSValueTransformer *)localStorageJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"included"] == NSOrderedSame) { return @(AWSEC2LocalStorageIncluded); } if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { return @(AWSEC2LocalStorageRequired); } if ([value caseInsensitiveCompare:@"excluded"] == NSOrderedSame) { return @(AWSEC2LocalStorageExcluded); } return @(AWSEC2LocalStorageUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LocalStorageIncluded: return @"included"; case AWSEC2LocalStorageRequired: return @"required"; case AWSEC2LocalStorageExcluded: return @"excluded"; default: return nil; } }]; } + (NSValueTransformer *)memoryGiBPerVCpuJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2MemoryGiBPerVCpuRequest class]]; } + (NSValueTransformer *)memoryMiBJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2MemoryMiBRequest class]]; } + (NSValueTransformer *)networkBandwidthGbpsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkBandwidthGbpsRequest class]]; } + (NSValueTransformer *)networkInterfaceCountJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInterfaceCountRequest class]]; } + (NSValueTransformer *)totalLocalStorageGBJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TotalLocalStorageGBRequest class]]; } + (NSValueTransformer *)VCpuCountJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VCpuCountRangeRequest class]]; } @end @implementation AWSEC2InstanceRequirementsWithMetadataRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"architectureTypes" : @"ArchitectureTypes", @"instanceRequirements" : @"InstanceRequirements", @"virtualizationTypes" : @"VirtualizationTypes", }; } + (NSValueTransformer *)instanceRequirementsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceRequirementsRequest class]]; } @end @implementation AWSEC2InstanceSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"excludeBootVolume" : @"ExcludeBootVolume", @"excludeDataVolumeIds" : @"ExcludeDataVolumeIds", @"instanceId" : @"InstanceId", }; } @end @implementation AWSEC2InstanceState + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"name" : @"Name", }; } + (NSValueTransformer *)nameJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2InstanceStateNamePending); } if ([value caseInsensitiveCompare:@"running"] == NSOrderedSame) { return @(AWSEC2InstanceStateNameRunning); } if ([value caseInsensitiveCompare:@"shutting-down"] == NSOrderedSame) { return @(AWSEC2InstanceStateNameShuttingDown); } if ([value caseInsensitiveCompare:@"terminated"] == NSOrderedSame) { return @(AWSEC2InstanceStateNameTerminated); } if ([value caseInsensitiveCompare:@"stopping"] == NSOrderedSame) { return @(AWSEC2InstanceStateNameStopping); } if ([value caseInsensitiveCompare:@"stopped"] == NSOrderedSame) { return @(AWSEC2InstanceStateNameStopped); } return @(AWSEC2InstanceStateNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceStateNamePending: return @"pending"; case AWSEC2InstanceStateNameRunning: return @"running"; case AWSEC2InstanceStateNameShuttingDown: return @"shutting-down"; case AWSEC2InstanceStateNameTerminated: return @"terminated"; case AWSEC2InstanceStateNameStopping: return @"stopping"; case AWSEC2InstanceStateNameStopped: return @"stopped"; default: return nil; } }]; } @end @implementation AWSEC2InstanceStateChange + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"currentState" : @"CurrentState", @"instanceId" : @"InstanceId", @"previousState" : @"PreviousState", }; } + (NSValueTransformer *)currentStateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceState class]]; } + (NSValueTransformer *)previousStateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceState class]]; } @end @implementation AWSEC2InstanceStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"events" : @"Events", @"instanceId" : @"InstanceId", @"instanceState" : @"InstanceState", @"instanceStatus" : @"InstanceStatus", @"outpostArn" : @"OutpostArn", @"systemStatus" : @"SystemStatus", }; } + (NSValueTransformer *)eventsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceStatusEvent class]]; } + (NSValueTransformer *)instanceStateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceState class]]; } + (NSValueTransformer *)instanceStatusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceStatusSummary class]]; } + (NSValueTransformer *)systemStatusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceStatusSummary class]]; } @end @implementation AWSEC2InstanceStatusDetails + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"impairedSince" : @"ImpairedSince", @"name" : @"Name", @"status" : @"Status", }; } + (NSValueTransformer *)impairedSinceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)nameJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"reachability"] == NSOrderedSame) { return @(AWSEC2StatusNameReachability); } return @(AWSEC2StatusNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2StatusNameReachability: return @"reachability"; default: return nil; } }]; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"passed"] == NSOrderedSame) { return @(AWSEC2StatusTypePassed); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2StatusTypeFailed); } if ([value caseInsensitiveCompare:@"insufficient-data"] == NSOrderedSame) { return @(AWSEC2StatusTypeInsufficientData); } if ([value caseInsensitiveCompare:@"initializing"] == NSOrderedSame) { return @(AWSEC2StatusTypeInitializing); } return @(AWSEC2StatusTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2StatusTypePassed: return @"passed"; case AWSEC2StatusTypeFailed: return @"failed"; case AWSEC2StatusTypeInsufficientData: return @"insufficient-data"; case AWSEC2StatusTypeInitializing: return @"initializing"; default: return nil; } }]; } @end @implementation AWSEC2InstanceStatusEvent + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"detail" : @"Description", @"instanceEventId" : @"InstanceEventId", @"notAfter" : @"NotAfter", @"notBefore" : @"NotBefore", @"notBeforeDeadline" : @"NotBeforeDeadline", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"instance-reboot"] == NSOrderedSame) { return @(AWSEC2EventCodeInstanceReboot); } if ([value caseInsensitiveCompare:@"system-reboot"] == NSOrderedSame) { return @(AWSEC2EventCodeSystemReboot); } if ([value caseInsensitiveCompare:@"system-maintenance"] == NSOrderedSame) { return @(AWSEC2EventCodeSystemMaintenance); } if ([value caseInsensitiveCompare:@"instance-retirement"] == NSOrderedSame) { return @(AWSEC2EventCodeInstanceRetirement); } if ([value caseInsensitiveCompare:@"instance-stop"] == NSOrderedSame) { return @(AWSEC2EventCodeInstanceStop); } return @(AWSEC2EventCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2EventCodeInstanceReboot: return @"instance-reboot"; case AWSEC2EventCodeSystemReboot: return @"system-reboot"; case AWSEC2EventCodeSystemMaintenance: return @"system-maintenance"; case AWSEC2EventCodeInstanceRetirement: return @"instance-retirement"; case AWSEC2EventCodeInstanceStop: return @"instance-stop"; default: return nil; } }]; } + (NSValueTransformer *)notAfterJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)notBeforeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)notBeforeDeadlineJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2InstanceStatusSummary + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"details" : @"Details", @"status" : @"Status", }; } + (NSValueTransformer *)detailsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceStatusDetails class]]; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ok"] == NSOrderedSame) { return @(AWSEC2SummaryStatusOK); } if ([value caseInsensitiveCompare:@"impaired"] == NSOrderedSame) { return @(AWSEC2SummaryStatusImpaired); } if ([value caseInsensitiveCompare:@"insufficient-data"] == NSOrderedSame) { return @(AWSEC2SummaryStatusInsufficientData); } if ([value caseInsensitiveCompare:@"not-applicable"] == NSOrderedSame) { return @(AWSEC2SummaryStatusNotApplicable); } if ([value caseInsensitiveCompare:@"initializing"] == NSOrderedSame) { return @(AWSEC2SummaryStatusInitializing); } return @(AWSEC2SummaryStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SummaryStatusOK: return @"ok"; case AWSEC2SummaryStatusImpaired: return @"impaired"; case AWSEC2SummaryStatusInsufficientData: return @"insufficient-data"; case AWSEC2SummaryStatusNotApplicable: return @"not-applicable"; case AWSEC2SummaryStatusInitializing: return @"initializing"; default: return nil; } }]; } @end @implementation AWSEC2InstanceStorageInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"disks" : @"Disks", @"encryptionSupport" : @"EncryptionSupport", @"nvmeSupport" : @"NvmeSupport", @"totalSizeInGB" : @"TotalSizeInGB", }; } + (NSValueTransformer *)disksJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DiskInfo class]]; } + (NSValueTransformer *)encryptionSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"unsupported"] == NSOrderedSame) { return @(AWSEC2InstanceStorageEncryptionSupportUnsupported); } if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { return @(AWSEC2InstanceStorageEncryptionSupportRequired); } return @(AWSEC2InstanceStorageEncryptionSupportUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceStorageEncryptionSupportUnsupported: return @"unsupported"; case AWSEC2InstanceStorageEncryptionSupportRequired: return @"required"; default: return nil; } }]; } + (NSValueTransformer *)nvmeSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"unsupported"] == NSOrderedSame) { return @(AWSEC2EphemeralNvmeSupportUnsupported); } if ([value caseInsensitiveCompare:@"supported"] == NSOrderedSame) { return @(AWSEC2EphemeralNvmeSupportSupported); } if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { return @(AWSEC2EphemeralNvmeSupportRequired); } return @(AWSEC2EphemeralNvmeSupportUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2EphemeralNvmeSupportUnsupported: return @"unsupported"; case AWSEC2EphemeralNvmeSupportSupported: return @"supported"; case AWSEC2EphemeralNvmeSupportRequired: return @"required"; default: return nil; } }]; } @end @implementation AWSEC2InstanceTagNotificationAttribute + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"includeAllTagsOfInstance" : @"IncludeAllTagsOfInstance", @"instanceTagKeys" : @"InstanceTagKeys", }; } @end @implementation AWSEC2InstanceTypeInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"autoRecoverySupported" : @"AutoRecoverySupported", @"bareMetal" : @"BareMetal", @"burstablePerformanceSupported" : @"BurstablePerformanceSupported", @"currentGeneration" : @"CurrentGeneration", @"dedicatedHostsSupported" : @"DedicatedHostsSupported", @"ebsInfo" : @"EbsInfo", @"fpgaInfo" : @"FpgaInfo", @"freeTierEligible" : @"FreeTierEligible", @"gpuInfo" : @"GpuInfo", @"hibernationSupported" : @"HibernationSupported", @"hypervisor" : @"Hypervisor", @"inferenceAcceleratorInfo" : @"InferenceAcceleratorInfo", @"instanceStorageInfo" : @"InstanceStorageInfo", @"instanceStorageSupported" : @"InstanceStorageSupported", @"instanceType" : @"InstanceType", @"memoryInfo" : @"MemoryInfo", @"networkInfo" : @"NetworkInfo", @"nitroEnclavesSupport" : @"NitroEnclavesSupport", @"nitroTpmInfo" : @"NitroTpmInfo", @"nitroTpmSupport" : @"NitroTpmSupport", @"placementGroupInfo" : @"PlacementGroupInfo", @"processorInfo" : @"ProcessorInfo", @"supportedBootModes" : @"SupportedBootModes", @"supportedRootDeviceTypes" : @"SupportedRootDeviceTypes", @"supportedUsageClasses" : @"SupportedUsageClasses", @"supportedVirtualizationTypes" : @"SupportedVirtualizationTypes", @"VCpuInfo" : @"VCpuInfo", }; } + (NSValueTransformer *)ebsInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EbsInfo class]]; } + (NSValueTransformer *)fpgaInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FpgaInfo class]]; } + (NSValueTransformer *)gpuInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2GpuInfo class]]; } + (NSValueTransformer *)hypervisorJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"nitro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHypervisorNitro); } if ([value caseInsensitiveCompare:@"xen"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHypervisorXen); } return @(AWSEC2InstanceTypeHypervisorUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeHypervisorNitro: return @"nitro"; case AWSEC2InstanceTypeHypervisorXen: return @"xen"; default: return nil; } }]; } + (NSValueTransformer *)inferenceAcceleratorInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InferenceAcceleratorInfo class]]; } + (NSValueTransformer *)instanceStorageInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceStorageInfo class]]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)memoryInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2MemoryInfo class]]; } + (NSValueTransformer *)networkInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInfo class]]; } + (NSValueTransformer *)nitroEnclavesSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"unsupported"] == NSOrderedSame) { return @(AWSEC2NitroEnclavesSupportUnsupported); } if ([value caseInsensitiveCompare:@"supported"] == NSOrderedSame) { return @(AWSEC2NitroEnclavesSupportSupported); } return @(AWSEC2NitroEnclavesSupportUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2NitroEnclavesSupportUnsupported: return @"unsupported"; case AWSEC2NitroEnclavesSupportSupported: return @"supported"; default: return nil; } }]; } + (NSValueTransformer *)nitroTpmInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NitroTpmInfo class]]; } + (NSValueTransformer *)nitroTpmSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"unsupported"] == NSOrderedSame) { return @(AWSEC2NitroTpmSupportUnsupported); } if ([value caseInsensitiveCompare:@"supported"] == NSOrderedSame) { return @(AWSEC2NitroTpmSupportSupported); } return @(AWSEC2NitroTpmSupportUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2NitroTpmSupportUnsupported: return @"unsupported"; case AWSEC2NitroTpmSupportSupported: return @"supported"; default: return nil; } }]; } + (NSValueTransformer *)placementGroupInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PlacementGroupInfo class]]; } + (NSValueTransformer *)processorInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ProcessorInfo class]]; } + (NSValueTransformer *)VCpuInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VCpuInfo class]]; } @end @implementation AWSEC2InstanceTypeInfoFromInstanceRequirements + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceType" : @"InstanceType", }; } @end @implementation AWSEC2InstanceTypeOffering + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceType" : @"InstanceType", @"location" : @"Location", @"locationType" : @"LocationType", }; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)locationTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"region"] == NSOrderedSame) { return @(AWSEC2LocationTypeRegion); } if ([value caseInsensitiveCompare:@"availability-zone"] == NSOrderedSame) { return @(AWSEC2LocationTypeAvailabilityZone); } if ([value caseInsensitiveCompare:@"availability-zone-id"] == NSOrderedSame) { return @(AWSEC2LocationTypeAvailabilityZoneId); } return @(AWSEC2LocationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LocationTypeRegion: return @"region"; case AWSEC2LocationTypeAvailabilityZone: return @"availability-zone"; case AWSEC2LocationTypeAvailabilityZoneId: return @"availability-zone-id"; default: return nil; } }]; } @end @implementation AWSEC2InstanceUsage + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"accountId" : @"AccountId", @"usedInstanceCount" : @"UsedInstanceCount", }; } @end @implementation AWSEC2IntegrateServices + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"athenaIntegrations" : @"AthenaIntegrations", }; } + (NSValueTransformer *)athenaIntegrationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AthenaIntegration class]]; } @end @implementation AWSEC2InternetGateway + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attachments" : @"Attachments", @"internetGatewayId" : @"InternetGatewayId", @"ownerId" : @"OwnerId", @"tags" : @"Tags", }; } + (NSValueTransformer *)attachmentsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InternetGatewayAttachment class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2InternetGatewayAttachment + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"state" : @"State", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"attaching"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusAttaching); } if ([value caseInsensitiveCompare:@"attached"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusAttached); } if ([value caseInsensitiveCompare:@"detaching"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusDetaching); } if ([value caseInsensitiveCompare:@"detached"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusDetached); } return @(AWSEC2AttachmentStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AttachmentStatusAttaching: return @"attaching"; case AWSEC2AttachmentStatusAttached: return @"attached"; case AWSEC2AttachmentStatusDetaching: return @"detaching"; case AWSEC2AttachmentStatusDetached: return @"detached"; default: return nil; } }]; } @end @implementation AWSEC2IpPermission + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fromPort" : @"FromPort", @"ipProtocol" : @"IpProtocol", @"ipRanges" : @"IpRanges", @"ipv6Ranges" : @"Ipv6Ranges", @"prefixListIds" : @"PrefixListIds", @"toPort" : @"ToPort", @"userIdGroupPairs" : @"UserIdGroupPairs", }; } + (NSValueTransformer *)ipRangesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpRange class]]; } + (NSValueTransformer *)ipv6RangesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv6Range class]]; } + (NSValueTransformer *)prefixListIdsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PrefixListId class]]; } + (NSValueTransformer *)userIdGroupPairsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2UserIdGroupPair class]]; } @end @implementation AWSEC2IpRange + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrIp" : @"CidrIp", @"detail" : @"Description", }; } @end @implementation AWSEC2Ipam + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"defaultResourceDiscoveryAssociationId" : @"DefaultResourceDiscoveryAssociationId", @"defaultResourceDiscoveryId" : @"DefaultResourceDiscoveryId", @"detail" : @"Description", @"ipamArn" : @"IpamArn", @"ipamId" : @"IpamId", @"ipamRegion" : @"IpamRegion", @"operatingRegions" : @"OperatingRegions", @"ownerId" : @"OwnerId", @"privateDefaultScopeId" : @"PrivateDefaultScopeId", @"publicDefaultScopeId" : @"PublicDefaultScopeId", @"resourceDiscoveryAssociationCount" : @"ResourceDiscoveryAssociationCount", @"scopeCount" : @"ScopeCount", @"state" : @"State", @"tags" : @"Tags", }; } + (NSValueTransformer *)operatingRegionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpamOperatingRegion class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"create-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamStateCreateInProgress); } if ([value caseInsensitiveCompare:@"create-complete"] == NSOrderedSame) { return @(AWSEC2IpamStateCreateComplete); } if ([value caseInsensitiveCompare:@"create-failed"] == NSOrderedSame) { return @(AWSEC2IpamStateCreateFailed); } if ([value caseInsensitiveCompare:@"modify-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamStateModifyInProgress); } if ([value caseInsensitiveCompare:@"modify-complete"] == NSOrderedSame) { return @(AWSEC2IpamStateModifyComplete); } if ([value caseInsensitiveCompare:@"modify-failed"] == NSOrderedSame) { return @(AWSEC2IpamStateModifyFailed); } if ([value caseInsensitiveCompare:@"delete-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamStateDeleteInProgress); } if ([value caseInsensitiveCompare:@"delete-complete"] == NSOrderedSame) { return @(AWSEC2IpamStateDeleteComplete); } if ([value caseInsensitiveCompare:@"delete-failed"] == NSOrderedSame) { return @(AWSEC2IpamStateDeleteFailed); } if ([value caseInsensitiveCompare:@"isolate-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamStateIsolateInProgress); } if ([value caseInsensitiveCompare:@"isolate-complete"] == NSOrderedSame) { return @(AWSEC2IpamStateIsolateComplete); } if ([value caseInsensitiveCompare:@"restore-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamStateRestoreInProgress); } return @(AWSEC2IpamStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamStateCreateInProgress: return @"create-in-progress"; case AWSEC2IpamStateCreateComplete: return @"create-complete"; case AWSEC2IpamStateCreateFailed: return @"create-failed"; case AWSEC2IpamStateModifyInProgress: return @"modify-in-progress"; case AWSEC2IpamStateModifyComplete: return @"modify-complete"; case AWSEC2IpamStateModifyFailed: return @"modify-failed"; case AWSEC2IpamStateDeleteInProgress: return @"delete-in-progress"; case AWSEC2IpamStateDeleteComplete: return @"delete-complete"; case AWSEC2IpamStateDeleteFailed: return @"delete-failed"; case AWSEC2IpamStateIsolateInProgress: return @"isolate-in-progress"; case AWSEC2IpamStateIsolateComplete: return @"isolate-complete"; case AWSEC2IpamStateRestoreInProgress: return @"restore-in-progress"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2IpamAddressHistoryRecord + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceCidr" : @"ResourceCidr", @"resourceComplianceStatus" : @"ResourceComplianceStatus", @"resourceId" : @"ResourceId", @"resourceName" : @"ResourceName", @"resourceOverlapStatus" : @"ResourceOverlapStatus", @"resourceOwnerId" : @"ResourceOwnerId", @"resourceRegion" : @"ResourceRegion", @"resourceType" : @"ResourceType", @"sampledEndTime" : @"SampledEndTime", @"sampledStartTime" : @"SampledStartTime", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)resourceComplianceStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"compliant"] == NSOrderedSame) { return @(AWSEC2IpamComplianceStatusCompliant); } if ([value caseInsensitiveCompare:@"noncompliant"] == NSOrderedSame) { return @(AWSEC2IpamComplianceStatusNoncompliant); } if ([value caseInsensitiveCompare:@"unmanaged"] == NSOrderedSame) { return @(AWSEC2IpamComplianceStatusUnmanaged); } if ([value caseInsensitiveCompare:@"ignored"] == NSOrderedSame) { return @(AWSEC2IpamComplianceStatusIgnored); } return @(AWSEC2IpamComplianceStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamComplianceStatusCompliant: return @"compliant"; case AWSEC2IpamComplianceStatusNoncompliant: return @"noncompliant"; case AWSEC2IpamComplianceStatusUnmanaged: return @"unmanaged"; case AWSEC2IpamComplianceStatusIgnored: return @"ignored"; default: return nil; } }]; } + (NSValueTransformer *)resourceOverlapStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"overlapping"] == NSOrderedSame) { return @(AWSEC2IpamOverlapStatusOverlapping); } if ([value caseInsensitiveCompare:@"nonoverlapping"] == NSOrderedSame) { return @(AWSEC2IpamOverlapStatusNonoverlapping); } if ([value caseInsensitiveCompare:@"ignored"] == NSOrderedSame) { return @(AWSEC2IpamOverlapStatusIgnored); } return @(AWSEC2IpamOverlapStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamOverlapStatusOverlapping: return @"overlapping"; case AWSEC2IpamOverlapStatusNonoverlapping: return @"nonoverlapping"; case AWSEC2IpamOverlapStatusIgnored: return @"ignored"; default: return nil; } }]; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"eip"] == NSOrderedSame) { return @(AWSEC2IpamAddressHistoryResourceTypeEip); } if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2IpamAddressHistoryResourceTypeVPC); } if ([value caseInsensitiveCompare:@"subnet"] == NSOrderedSame) { return @(AWSEC2IpamAddressHistoryResourceTypeSubnet); } if ([value caseInsensitiveCompare:@"network-interface"] == NSOrderedSame) { return @(AWSEC2IpamAddressHistoryResourceTypeNetworkInterface); } if ([value caseInsensitiveCompare:@"instance"] == NSOrderedSame) { return @(AWSEC2IpamAddressHistoryResourceTypeInstance); } return @(AWSEC2IpamAddressHistoryResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamAddressHistoryResourceTypeEip: return @"eip"; case AWSEC2IpamAddressHistoryResourceTypeVPC: return @"vpc"; case AWSEC2IpamAddressHistoryResourceTypeSubnet: return @"subnet"; case AWSEC2IpamAddressHistoryResourceTypeNetworkInterface: return @"network-interface"; case AWSEC2IpamAddressHistoryResourceTypeInstance: return @"instance"; default: return nil; } }]; } + (NSValueTransformer *)sampledEndTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)sampledStartTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2IpamCidrAuthorizationContext + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"message" : @"Message", @"signature" : @"Signature", }; } @end @implementation AWSEC2IpamDiscoveredAccount + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"accountId" : @"AccountId", @"discoveryRegion" : @"DiscoveryRegion", @"failureReason" : @"FailureReason", @"lastAttemptedDiscoveryTime" : @"LastAttemptedDiscoveryTime", @"lastSuccessfulDiscoveryTime" : @"LastSuccessfulDiscoveryTime", }; } + (NSValueTransformer *)failureReasonJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamDiscoveryFailureReason class]]; } + (NSValueTransformer *)lastAttemptedDiscoveryTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)lastSuccessfulDiscoveryTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2IpamDiscoveredResourceCidr + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipUsage" : @"IpUsage", @"ipamResourceDiscoveryId" : @"IpamResourceDiscoveryId", @"resourceCidr" : @"ResourceCidr", @"resourceId" : @"ResourceId", @"resourceOwnerId" : @"ResourceOwnerId", @"resourceRegion" : @"ResourceRegion", @"resourceTags" : @"ResourceTags", @"resourceType" : @"ResourceType", @"sampleTime" : @"SampleTime", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)resourceTagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpamResourceTag class]]; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2IpamResourceTypeVPC); } if ([value caseInsensitiveCompare:@"subnet"] == NSOrderedSame) { return @(AWSEC2IpamResourceTypeSubnet); } if ([value caseInsensitiveCompare:@"eip"] == NSOrderedSame) { return @(AWSEC2IpamResourceTypeEip); } if ([value caseInsensitiveCompare:@"public-ipv4-pool"] == NSOrderedSame) { return @(AWSEC2IpamResourceTypePublicIpv4Pool); } if ([value caseInsensitiveCompare:@"ipv6-pool"] == NSOrderedSame) { return @(AWSEC2IpamResourceTypeIpv6Pool); } return @(AWSEC2IpamResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamResourceTypeVPC: return @"vpc"; case AWSEC2IpamResourceTypeSubnet: return @"subnet"; case AWSEC2IpamResourceTypeEip: return @"eip"; case AWSEC2IpamResourceTypePublicIpv4Pool: return @"public-ipv4-pool"; case AWSEC2IpamResourceTypeIpv6Pool: return @"ipv6-pool"; default: return nil; } }]; } + (NSValueTransformer *)sampleTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2IpamDiscoveryFailureReason + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"assume-role-failure"] == NSOrderedSame) { return @(AWSEC2IpamDiscoveryFailureCodeAssumeRoleFailure); } if ([value caseInsensitiveCompare:@"throttling-failure"] == NSOrderedSame) { return @(AWSEC2IpamDiscoveryFailureCodeThrottlingFailure); } if ([value caseInsensitiveCompare:@"unauthorized-failure"] == NSOrderedSame) { return @(AWSEC2IpamDiscoveryFailureCodeUnauthorizedFailure); } return @(AWSEC2IpamDiscoveryFailureCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamDiscoveryFailureCodeAssumeRoleFailure: return @"assume-role-failure"; case AWSEC2IpamDiscoveryFailureCodeThrottlingFailure: return @"throttling-failure"; case AWSEC2IpamDiscoveryFailureCodeUnauthorizedFailure: return @"unauthorized-failure"; default: return nil; } }]; } @end @implementation AWSEC2IpamOperatingRegion + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"regionName" : @"RegionName", }; } @end @implementation AWSEC2IpamPool + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addressFamily" : @"AddressFamily", @"allocationDefaultNetmaskLength" : @"AllocationDefaultNetmaskLength", @"allocationMaxNetmaskLength" : @"AllocationMaxNetmaskLength", @"allocationMinNetmaskLength" : @"AllocationMinNetmaskLength", @"allocationResourceTags" : @"AllocationResourceTags", @"autoImport" : @"AutoImport", @"awsService" : @"AwsService", @"detail" : @"Description", @"ipamArn" : @"IpamArn", @"ipamPoolArn" : @"IpamPoolArn", @"ipamPoolId" : @"IpamPoolId", @"ipamRegion" : @"IpamRegion", @"ipamScopeArn" : @"IpamScopeArn", @"ipamScopeType" : @"IpamScopeType", @"locale" : @"Locale", @"ownerId" : @"OwnerId", @"poolDepth" : @"PoolDepth", @"publicIpSource" : @"PublicIpSource", @"publiclyAdvertisable" : @"PubliclyAdvertisable", @"sourceIpamPoolId" : @"SourceIpamPoolId", @"state" : @"State", @"stateMessage" : @"StateMessage", @"tags" : @"Tags", }; } + (NSValueTransformer *)addressFamilyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ipv4"] == NSOrderedSame) { return @(AWSEC2AddressFamilyIpv4); } if ([value caseInsensitiveCompare:@"ipv6"] == NSOrderedSame) { return @(AWSEC2AddressFamilyIpv6); } return @(AWSEC2AddressFamilyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AddressFamilyIpv4: return @"ipv4"; case AWSEC2AddressFamilyIpv6: return @"ipv6"; default: return nil; } }]; } + (NSValueTransformer *)allocationResourceTagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpamResourceTag class]]; } + (NSValueTransformer *)awsServiceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ec2"] == NSOrderedSame) { return @(AWSEC2IpamPoolAwsServiceEc2); } return @(AWSEC2IpamPoolAwsServiceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamPoolAwsServiceEc2: return @"ec2"; default: return nil; } }]; } + (NSValueTransformer *)ipamScopeTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"public"] == NSOrderedSame) { return @(AWSEC2IpamScopeTypePublic); } if ([value caseInsensitiveCompare:@"private"] == NSOrderedSame) { return @(AWSEC2IpamScopeTypePrivate); } return @(AWSEC2IpamScopeTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamScopeTypePublic: return @"public"; case AWSEC2IpamScopeTypePrivate: return @"private"; default: return nil; } }]; } + (NSValueTransformer *)publicIpSourceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"amazon"] == NSOrderedSame) { return @(AWSEC2IpamPoolPublicIpSourceAmazon); } if ([value caseInsensitiveCompare:@"byoip"] == NSOrderedSame) { return @(AWSEC2IpamPoolPublicIpSourceByoip); } return @(AWSEC2IpamPoolPublicIpSourceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamPoolPublicIpSourceAmazon: return @"amazon"; case AWSEC2IpamPoolPublicIpSourceByoip: return @"byoip"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"create-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamPoolStateCreateInProgress); } if ([value caseInsensitiveCompare:@"create-complete"] == NSOrderedSame) { return @(AWSEC2IpamPoolStateCreateComplete); } if ([value caseInsensitiveCompare:@"create-failed"] == NSOrderedSame) { return @(AWSEC2IpamPoolStateCreateFailed); } if ([value caseInsensitiveCompare:@"modify-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamPoolStateModifyInProgress); } if ([value caseInsensitiveCompare:@"modify-complete"] == NSOrderedSame) { return @(AWSEC2IpamPoolStateModifyComplete); } if ([value caseInsensitiveCompare:@"modify-failed"] == NSOrderedSame) { return @(AWSEC2IpamPoolStateModifyFailed); } if ([value caseInsensitiveCompare:@"delete-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamPoolStateDeleteInProgress); } if ([value caseInsensitiveCompare:@"delete-complete"] == NSOrderedSame) { return @(AWSEC2IpamPoolStateDeleteComplete); } if ([value caseInsensitiveCompare:@"delete-failed"] == NSOrderedSame) { return @(AWSEC2IpamPoolStateDeleteFailed); } if ([value caseInsensitiveCompare:@"isolate-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamPoolStateIsolateInProgress); } if ([value caseInsensitiveCompare:@"isolate-complete"] == NSOrderedSame) { return @(AWSEC2IpamPoolStateIsolateComplete); } if ([value caseInsensitiveCompare:@"restore-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamPoolStateRestoreInProgress); } return @(AWSEC2IpamPoolStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamPoolStateCreateInProgress: return @"create-in-progress"; case AWSEC2IpamPoolStateCreateComplete: return @"create-complete"; case AWSEC2IpamPoolStateCreateFailed: return @"create-failed"; case AWSEC2IpamPoolStateModifyInProgress: return @"modify-in-progress"; case AWSEC2IpamPoolStateModifyComplete: return @"modify-complete"; case AWSEC2IpamPoolStateModifyFailed: return @"modify-failed"; case AWSEC2IpamPoolStateDeleteInProgress: return @"delete-in-progress"; case AWSEC2IpamPoolStateDeleteComplete: return @"delete-complete"; case AWSEC2IpamPoolStateDeleteFailed: return @"delete-failed"; case AWSEC2IpamPoolStateIsolateInProgress: return @"isolate-in-progress"; case AWSEC2IpamPoolStateIsolateComplete: return @"isolate-complete"; case AWSEC2IpamPoolStateRestoreInProgress: return @"restore-in-progress"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2IpamPoolAllocation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"detail" : @"Description", @"ipamPoolAllocationId" : @"IpamPoolAllocationId", @"resourceId" : @"ResourceId", @"resourceOwner" : @"ResourceOwner", @"resourceRegion" : @"ResourceRegion", @"resourceType" : @"ResourceType", }; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ipam-pool"] == NSOrderedSame) { return @(AWSEC2IpamPoolAllocationResourceTypeIpamPool); } if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2IpamPoolAllocationResourceTypeVPC); } if ([value caseInsensitiveCompare:@"ec2-public-ipv4-pool"] == NSOrderedSame) { return @(AWSEC2IpamPoolAllocationResourceTypeEc2PublicIpv4Pool); } if ([value caseInsensitiveCompare:@"custom"] == NSOrderedSame) { return @(AWSEC2IpamPoolAllocationResourceTypeCustom); } return @(AWSEC2IpamPoolAllocationResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamPoolAllocationResourceTypeIpamPool: return @"ipam-pool"; case AWSEC2IpamPoolAllocationResourceTypeVPC: return @"vpc"; case AWSEC2IpamPoolAllocationResourceTypeEc2PublicIpv4Pool: return @"ec2-public-ipv4-pool"; case AWSEC2IpamPoolAllocationResourceTypeCustom: return @"custom"; default: return nil; } }]; } @end @implementation AWSEC2IpamPoolCidr + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"failureReason" : @"FailureReason", @"ipamPoolCidrId" : @"IpamPoolCidrId", @"netmaskLength" : @"NetmaskLength", @"state" : @"State", }; } + (NSValueTransformer *)failureReasonJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamPoolCidrFailureReason class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending-provision"] == NSOrderedSame) { return @(AWSEC2IpamPoolCidrStatePendingProvision); } if ([value caseInsensitiveCompare:@"provisioned"] == NSOrderedSame) { return @(AWSEC2IpamPoolCidrStateProvisioned); } if ([value caseInsensitiveCompare:@"failed-provision"] == NSOrderedSame) { return @(AWSEC2IpamPoolCidrStateFailedProvision); } if ([value caseInsensitiveCompare:@"pending-deprovision"] == NSOrderedSame) { return @(AWSEC2IpamPoolCidrStatePendingDeprovision); } if ([value caseInsensitiveCompare:@"deprovisioned"] == NSOrderedSame) { return @(AWSEC2IpamPoolCidrStateDeprovisioned); } if ([value caseInsensitiveCompare:@"failed-deprovision"] == NSOrderedSame) { return @(AWSEC2IpamPoolCidrStateFailedDeprovision); } if ([value caseInsensitiveCompare:@"pending-import"] == NSOrderedSame) { return @(AWSEC2IpamPoolCidrStatePendingImport); } if ([value caseInsensitiveCompare:@"failed-import"] == NSOrderedSame) { return @(AWSEC2IpamPoolCidrStateFailedImport); } return @(AWSEC2IpamPoolCidrStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamPoolCidrStatePendingProvision: return @"pending-provision"; case AWSEC2IpamPoolCidrStateProvisioned: return @"provisioned"; case AWSEC2IpamPoolCidrStateFailedProvision: return @"failed-provision"; case AWSEC2IpamPoolCidrStatePendingDeprovision: return @"pending-deprovision"; case AWSEC2IpamPoolCidrStateDeprovisioned: return @"deprovisioned"; case AWSEC2IpamPoolCidrStateFailedDeprovision: return @"failed-deprovision"; case AWSEC2IpamPoolCidrStatePendingImport: return @"pending-import"; case AWSEC2IpamPoolCidrStateFailedImport: return @"failed-import"; default: return nil; } }]; } @end @implementation AWSEC2IpamPoolCidrFailureReason + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"cidr-not-available"] == NSOrderedSame) { return @(AWSEC2IpamPoolCidrFailureCodeCidrNotAvailable); } if ([value caseInsensitiveCompare:@"limit-exceeded"] == NSOrderedSame) { return @(AWSEC2IpamPoolCidrFailureCodeLimitExceeded); } return @(AWSEC2IpamPoolCidrFailureCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamPoolCidrFailureCodeCidrNotAvailable: return @"cidr-not-available"; case AWSEC2IpamPoolCidrFailureCodeLimitExceeded: return @"limit-exceeded"; default: return nil; } }]; } @end @implementation AWSEC2IpamResourceCidr + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"complianceStatus" : @"ComplianceStatus", @"ipUsage" : @"IpUsage", @"ipamId" : @"IpamId", @"ipamPoolId" : @"IpamPoolId", @"ipamScopeId" : @"IpamScopeId", @"managementState" : @"ManagementState", @"overlapStatus" : @"OverlapStatus", @"resourceCidr" : @"ResourceCidr", @"resourceId" : @"ResourceId", @"resourceName" : @"ResourceName", @"resourceOwnerId" : @"ResourceOwnerId", @"resourceRegion" : @"ResourceRegion", @"resourceTags" : @"ResourceTags", @"resourceType" : @"ResourceType", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)complianceStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"compliant"] == NSOrderedSame) { return @(AWSEC2IpamComplianceStatusCompliant); } if ([value caseInsensitiveCompare:@"noncompliant"] == NSOrderedSame) { return @(AWSEC2IpamComplianceStatusNoncompliant); } if ([value caseInsensitiveCompare:@"unmanaged"] == NSOrderedSame) { return @(AWSEC2IpamComplianceStatusUnmanaged); } if ([value caseInsensitiveCompare:@"ignored"] == NSOrderedSame) { return @(AWSEC2IpamComplianceStatusIgnored); } return @(AWSEC2IpamComplianceStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamComplianceStatusCompliant: return @"compliant"; case AWSEC2IpamComplianceStatusNoncompliant: return @"noncompliant"; case AWSEC2IpamComplianceStatusUnmanaged: return @"unmanaged"; case AWSEC2IpamComplianceStatusIgnored: return @"ignored"; default: return nil; } }]; } + (NSValueTransformer *)managementStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"managed"] == NSOrderedSame) { return @(AWSEC2IpamManagementStateManaged); } if ([value caseInsensitiveCompare:@"unmanaged"] == NSOrderedSame) { return @(AWSEC2IpamManagementStateUnmanaged); } if ([value caseInsensitiveCompare:@"ignored"] == NSOrderedSame) { return @(AWSEC2IpamManagementStateIgnored); } return @(AWSEC2IpamManagementStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamManagementStateManaged: return @"managed"; case AWSEC2IpamManagementStateUnmanaged: return @"unmanaged"; case AWSEC2IpamManagementStateIgnored: return @"ignored"; default: return nil; } }]; } + (NSValueTransformer *)overlapStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"overlapping"] == NSOrderedSame) { return @(AWSEC2IpamOverlapStatusOverlapping); } if ([value caseInsensitiveCompare:@"nonoverlapping"] == NSOrderedSame) { return @(AWSEC2IpamOverlapStatusNonoverlapping); } if ([value caseInsensitiveCompare:@"ignored"] == NSOrderedSame) { return @(AWSEC2IpamOverlapStatusIgnored); } return @(AWSEC2IpamOverlapStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamOverlapStatusOverlapping: return @"overlapping"; case AWSEC2IpamOverlapStatusNonoverlapping: return @"nonoverlapping"; case AWSEC2IpamOverlapStatusIgnored: return @"ignored"; default: return nil; } }]; } + (NSValueTransformer *)resourceTagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpamResourceTag class]]; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2IpamResourceTypeVPC); } if ([value caseInsensitiveCompare:@"subnet"] == NSOrderedSame) { return @(AWSEC2IpamResourceTypeSubnet); } if ([value caseInsensitiveCompare:@"eip"] == NSOrderedSame) { return @(AWSEC2IpamResourceTypeEip); } if ([value caseInsensitiveCompare:@"public-ipv4-pool"] == NSOrderedSame) { return @(AWSEC2IpamResourceTypePublicIpv4Pool); } if ([value caseInsensitiveCompare:@"ipv6-pool"] == NSOrderedSame) { return @(AWSEC2IpamResourceTypeIpv6Pool); } return @(AWSEC2IpamResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamResourceTypeVPC: return @"vpc"; case AWSEC2IpamResourceTypeSubnet: return @"subnet"; case AWSEC2IpamResourceTypeEip: return @"eip"; case AWSEC2IpamResourceTypePublicIpv4Pool: return @"public-ipv4-pool"; case AWSEC2IpamResourceTypeIpv6Pool: return @"ipv6-pool"; default: return nil; } }]; } @end @implementation AWSEC2IpamResourceDiscovery + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"ipamResourceDiscoveryArn" : @"IpamResourceDiscoveryArn", @"ipamResourceDiscoveryId" : @"IpamResourceDiscoveryId", @"ipamResourceDiscoveryRegion" : @"IpamResourceDiscoveryRegion", @"isDefault" : @"IsDefault", @"operatingRegions" : @"OperatingRegions", @"ownerId" : @"OwnerId", @"state" : @"State", @"tags" : @"Tags", }; } + (NSValueTransformer *)operatingRegionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpamOperatingRegion class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"create-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryStateCreateInProgress); } if ([value caseInsensitiveCompare:@"create-complete"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryStateCreateComplete); } if ([value caseInsensitiveCompare:@"create-failed"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryStateCreateFailed); } if ([value caseInsensitiveCompare:@"modify-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryStateModifyInProgress); } if ([value caseInsensitiveCompare:@"modify-complete"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryStateModifyComplete); } if ([value caseInsensitiveCompare:@"modify-failed"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryStateModifyFailed); } if ([value caseInsensitiveCompare:@"delete-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryStateDeleteInProgress); } if ([value caseInsensitiveCompare:@"delete-complete"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryStateDeleteComplete); } if ([value caseInsensitiveCompare:@"delete-failed"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryStateDeleteFailed); } if ([value caseInsensitiveCompare:@"isolate-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryStateIsolateInProgress); } if ([value caseInsensitiveCompare:@"isolate-complete"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryStateIsolateComplete); } if ([value caseInsensitiveCompare:@"restore-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryStateRestoreInProgress); } return @(AWSEC2IpamResourceDiscoveryStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamResourceDiscoveryStateCreateInProgress: return @"create-in-progress"; case AWSEC2IpamResourceDiscoveryStateCreateComplete: return @"create-complete"; case AWSEC2IpamResourceDiscoveryStateCreateFailed: return @"create-failed"; case AWSEC2IpamResourceDiscoveryStateModifyInProgress: return @"modify-in-progress"; case AWSEC2IpamResourceDiscoveryStateModifyComplete: return @"modify-complete"; case AWSEC2IpamResourceDiscoveryStateModifyFailed: return @"modify-failed"; case AWSEC2IpamResourceDiscoveryStateDeleteInProgress: return @"delete-in-progress"; case AWSEC2IpamResourceDiscoveryStateDeleteComplete: return @"delete-complete"; case AWSEC2IpamResourceDiscoveryStateDeleteFailed: return @"delete-failed"; case AWSEC2IpamResourceDiscoveryStateIsolateInProgress: return @"isolate-in-progress"; case AWSEC2IpamResourceDiscoveryStateIsolateComplete: return @"isolate-complete"; case AWSEC2IpamResourceDiscoveryStateRestoreInProgress: return @"restore-in-progress"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2IpamResourceDiscoveryAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamArn" : @"IpamArn", @"ipamId" : @"IpamId", @"ipamRegion" : @"IpamRegion", @"ipamResourceDiscoveryAssociationArn" : @"IpamResourceDiscoveryAssociationArn", @"ipamResourceDiscoveryAssociationId" : @"IpamResourceDiscoveryAssociationId", @"ipamResourceDiscoveryId" : @"IpamResourceDiscoveryId", @"isDefault" : @"IsDefault", @"ownerId" : @"OwnerId", @"resourceDiscoveryStatus" : @"ResourceDiscoveryStatus", @"state" : @"State", @"tags" : @"Tags", }; } + (NSValueTransformer *)resourceDiscoveryStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2IpamAssociatedResourceDiscoveryStatusActive); } if ([value caseInsensitiveCompare:@"not-found"] == NSOrderedSame) { return @(AWSEC2IpamAssociatedResourceDiscoveryStatusNotFound); } return @(AWSEC2IpamAssociatedResourceDiscoveryStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamAssociatedResourceDiscoveryStatusActive: return @"active"; case AWSEC2IpamAssociatedResourceDiscoveryStatusNotFound: return @"not-found"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"associate-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryAssociationStateAssociateInProgress); } if ([value caseInsensitiveCompare:@"associate-complete"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryAssociationStateAssociateComplete); } if ([value caseInsensitiveCompare:@"associate-failed"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryAssociationStateAssociateFailed); } if ([value caseInsensitiveCompare:@"disassociate-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryAssociationStateDisassociateInProgress); } if ([value caseInsensitiveCompare:@"disassociate-complete"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryAssociationStateDisassociateComplete); } if ([value caseInsensitiveCompare:@"disassociate-failed"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryAssociationStateDisassociateFailed); } if ([value caseInsensitiveCompare:@"isolate-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryAssociationStateIsolateInProgress); } if ([value caseInsensitiveCompare:@"isolate-complete"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryAssociationStateIsolateComplete); } if ([value caseInsensitiveCompare:@"restore-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamResourceDiscoveryAssociationStateRestoreInProgress); } return @(AWSEC2IpamResourceDiscoveryAssociationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamResourceDiscoveryAssociationStateAssociateInProgress: return @"associate-in-progress"; case AWSEC2IpamResourceDiscoveryAssociationStateAssociateComplete: return @"associate-complete"; case AWSEC2IpamResourceDiscoveryAssociationStateAssociateFailed: return @"associate-failed"; case AWSEC2IpamResourceDiscoveryAssociationStateDisassociateInProgress: return @"disassociate-in-progress"; case AWSEC2IpamResourceDiscoveryAssociationStateDisassociateComplete: return @"disassociate-complete"; case AWSEC2IpamResourceDiscoveryAssociationStateDisassociateFailed: return @"disassociate-failed"; case AWSEC2IpamResourceDiscoveryAssociationStateIsolateInProgress: return @"isolate-in-progress"; case AWSEC2IpamResourceDiscoveryAssociationStateIsolateComplete: return @"isolate-complete"; case AWSEC2IpamResourceDiscoveryAssociationStateRestoreInProgress: return @"restore-in-progress"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2IpamResourceTag + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"key" : @"Key", @"value" : @"Value", }; } @end @implementation AWSEC2IpamScope + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"ipamArn" : @"IpamArn", @"ipamRegion" : @"IpamRegion", @"ipamScopeArn" : @"IpamScopeArn", @"ipamScopeId" : @"IpamScopeId", @"ipamScopeType" : @"IpamScopeType", @"isDefault" : @"IsDefault", @"ownerId" : @"OwnerId", @"poolCount" : @"PoolCount", @"state" : @"State", @"tags" : @"Tags", }; } + (NSValueTransformer *)ipamScopeTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"public"] == NSOrderedSame) { return @(AWSEC2IpamScopeTypePublic); } if ([value caseInsensitiveCompare:@"private"] == NSOrderedSame) { return @(AWSEC2IpamScopeTypePrivate); } return @(AWSEC2IpamScopeTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamScopeTypePublic: return @"public"; case AWSEC2IpamScopeTypePrivate: return @"private"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"create-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamScopeStateCreateInProgress); } if ([value caseInsensitiveCompare:@"create-complete"] == NSOrderedSame) { return @(AWSEC2IpamScopeStateCreateComplete); } if ([value caseInsensitiveCompare:@"create-failed"] == NSOrderedSame) { return @(AWSEC2IpamScopeStateCreateFailed); } if ([value caseInsensitiveCompare:@"modify-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamScopeStateModifyInProgress); } if ([value caseInsensitiveCompare:@"modify-complete"] == NSOrderedSame) { return @(AWSEC2IpamScopeStateModifyComplete); } if ([value caseInsensitiveCompare:@"modify-failed"] == NSOrderedSame) { return @(AWSEC2IpamScopeStateModifyFailed); } if ([value caseInsensitiveCompare:@"delete-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamScopeStateDeleteInProgress); } if ([value caseInsensitiveCompare:@"delete-complete"] == NSOrderedSame) { return @(AWSEC2IpamScopeStateDeleteComplete); } if ([value caseInsensitiveCompare:@"delete-failed"] == NSOrderedSame) { return @(AWSEC2IpamScopeStateDeleteFailed); } if ([value caseInsensitiveCompare:@"isolate-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamScopeStateIsolateInProgress); } if ([value caseInsensitiveCompare:@"isolate-complete"] == NSOrderedSame) { return @(AWSEC2IpamScopeStateIsolateComplete); } if ([value caseInsensitiveCompare:@"restore-in-progress"] == NSOrderedSame) { return @(AWSEC2IpamScopeStateRestoreInProgress); } return @(AWSEC2IpamScopeStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpamScopeStateCreateInProgress: return @"create-in-progress"; case AWSEC2IpamScopeStateCreateComplete: return @"create-complete"; case AWSEC2IpamScopeStateCreateFailed: return @"create-failed"; case AWSEC2IpamScopeStateModifyInProgress: return @"modify-in-progress"; case AWSEC2IpamScopeStateModifyComplete: return @"modify-complete"; case AWSEC2IpamScopeStateModifyFailed: return @"modify-failed"; case AWSEC2IpamScopeStateDeleteInProgress: return @"delete-in-progress"; case AWSEC2IpamScopeStateDeleteComplete: return @"delete-complete"; case AWSEC2IpamScopeStateDeleteFailed: return @"delete-failed"; case AWSEC2IpamScopeStateIsolateInProgress: return @"isolate-in-progress"; case AWSEC2IpamScopeStateIsolateComplete: return @"isolate-complete"; case AWSEC2IpamScopeStateRestoreInProgress: return @"restore-in-progress"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2Ipv4PrefixSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv4Prefix" : @"Ipv4Prefix", }; } @end @implementation AWSEC2Ipv4PrefixSpecificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv4Prefix" : @"Ipv4Prefix", }; } @end @implementation AWSEC2Ipv4PrefixSpecificationResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv4Prefix" : @"Ipv4Prefix", }; } @end @implementation AWSEC2Ipv6CidrAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associatedResource" : @"AssociatedResource", @"ipv6Cidr" : @"Ipv6Cidr", }; } @end @implementation AWSEC2Ipv6CidrBlock + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6CidrBlock" : @"Ipv6CidrBlock", }; } @end @implementation AWSEC2Ipv6Pool + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"poolCidrBlocks" : @"PoolCidrBlocks", @"poolId" : @"PoolId", @"tags" : @"Tags", }; } + (NSValueTransformer *)poolCidrBlocksJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PoolCidrBlock class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2Ipv6PrefixSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6Prefix" : @"Ipv6Prefix", }; } @end @implementation AWSEC2Ipv6PrefixSpecificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6Prefix" : @"Ipv6Prefix", }; } @end @implementation AWSEC2Ipv6PrefixSpecificationResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6Prefix" : @"Ipv6Prefix", }; } @end @implementation AWSEC2Ipv6Range + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrIpv6" : @"CidrIpv6", @"detail" : @"Description", }; } @end @implementation AWSEC2KeyPair + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"keyFingerprint" : @"KeyFingerprint", @"keyMaterial" : @"KeyMaterial", @"keyName" : @"KeyName", @"keyPairId" : @"KeyPairId", @"tags" : @"Tags", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2KeyPairInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"createTime" : @"CreateTime", @"keyFingerprint" : @"KeyFingerprint", @"keyName" : @"KeyName", @"keyPairId" : @"KeyPairId", @"keyType" : @"KeyType", @"publicKey" : @"PublicKey", @"tags" : @"Tags", }; } + (NSValueTransformer *)createTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)keyTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"rsa"] == NSOrderedSame) { return @(AWSEC2KeyTypeRsa); } if ([value caseInsensitiveCompare:@"ed25519"] == NSOrderedSame) { return @(AWSEC2KeyTypeEd25519); } return @(AWSEC2KeyTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2KeyTypeRsa: return @"rsa"; case AWSEC2KeyTypeEd25519: return @"ed25519"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2LastError + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } @end @implementation AWSEC2LaunchPermission + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"group" : @"Group", @"organizationArn" : @"OrganizationArn", @"organizationalUnitArn" : @"OrganizationalUnitArn", @"userId" : @"UserId", }; } + (NSValueTransformer *)groupJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"all"] == NSOrderedSame) { return @(AWSEC2PermissionGroupAll); } return @(AWSEC2PermissionGroupUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PermissionGroupAll: return @"all"; default: return nil; } }]; } @end @implementation AWSEC2LaunchPermissionModifications + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"add" : @"Add", @"remove" : @"Remove", }; } + (NSValueTransformer *)addJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchPermission class]]; } + (NSValueTransformer *)removeJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchPermission class]]; } @end @implementation AWSEC2LaunchSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addressingType" : @"AddressingType", @"blockDeviceMappings" : @"BlockDeviceMappings", @"ebsOptimized" : @"EbsOptimized", @"iamInstanceProfile" : @"IamInstanceProfile", @"imageId" : @"ImageId", @"instanceType" : @"InstanceType", @"kernelId" : @"KernelId", @"keyName" : @"KeyName", @"monitoring" : @"Monitoring", @"networkInterfaces" : @"NetworkInterfaces", @"placement" : @"Placement", @"ramdiskId" : @"RamdiskId", @"securityGroups" : @"SecurityGroups", @"subnetId" : @"SubnetId", @"userData" : @"UserData", }; } + (NSValueTransformer *)blockDeviceMappingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2BlockDeviceMapping class]]; } + (NSValueTransformer *)iamInstanceProfileJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IamInstanceProfileSpecification class]]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)monitoringJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2RunInstancesMonitoringEnabled class]]; } + (NSValueTransformer *)networkInterfacesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceNetworkInterfaceSpecification class]]; } + (NSValueTransformer *)placementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotPlacement class]]; } + (NSValueTransformer *)securityGroupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2GroupIdentifier class]]; } @end @implementation AWSEC2LaunchTemplate + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"createTime" : @"CreateTime", @"createdBy" : @"CreatedBy", @"defaultVersionNumber" : @"DefaultVersionNumber", @"latestVersionNumber" : @"LatestVersionNumber", @"launchTemplateId" : @"LaunchTemplateId", @"launchTemplateName" : @"LaunchTemplateName", @"tags" : @"Tags", }; } + (NSValueTransformer *)createTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2LaunchTemplateAndOverridesResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplateSpecification" : @"LaunchTemplateSpecification", @"overrides" : @"Overrides", }; } + (NSValueTransformer *)launchTemplateSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FleetLaunchTemplateSpecification class]]; } + (NSValueTransformer *)overridesJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FleetLaunchTemplateOverrides class]]; } @end @implementation AWSEC2LaunchTemplateBlockDeviceMapping + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deviceName" : @"DeviceName", @"ebs" : @"Ebs", @"noDevice" : @"NoDevice", @"virtualName" : @"VirtualName", }; } + (NSValueTransformer *)ebsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateEbsBlockDevice class]]; } @end @implementation AWSEC2LaunchTemplateBlockDeviceMappingRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deviceName" : @"DeviceName", @"ebs" : @"Ebs", @"noDevice" : @"NoDevice", @"virtualName" : @"VirtualName", }; } + (NSValueTransformer *)ebsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateEbsBlockDeviceRequest class]]; } @end @implementation AWSEC2LaunchTemplateCapacityReservationSpecificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationPreference" : @"CapacityReservationPreference", @"capacityReservationTarget" : @"CapacityReservationTarget", }; } + (NSValueTransformer *)capacityReservationPreferenceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"open"] == NSOrderedSame) { return @(AWSEC2CapacityReservationPreferenceOpen); } if ([value caseInsensitiveCompare:@"none"] == NSOrderedSame) { return @(AWSEC2CapacityReservationPreferenceNone); } return @(AWSEC2CapacityReservationPreferenceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationPreferenceOpen: return @"open"; case AWSEC2CapacityReservationPreferenceNone: return @"none"; default: return nil; } }]; } + (NSValueTransformer *)capacityReservationTargetJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CapacityReservationTarget class]]; } @end @implementation AWSEC2LaunchTemplateCapacityReservationSpecificationResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationPreference" : @"CapacityReservationPreference", @"capacityReservationTarget" : @"CapacityReservationTarget", }; } + (NSValueTransformer *)capacityReservationPreferenceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"open"] == NSOrderedSame) { return @(AWSEC2CapacityReservationPreferenceOpen); } if ([value caseInsensitiveCompare:@"none"] == NSOrderedSame) { return @(AWSEC2CapacityReservationPreferenceNone); } return @(AWSEC2CapacityReservationPreferenceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationPreferenceOpen: return @"open"; case AWSEC2CapacityReservationPreferenceNone: return @"none"; default: return nil; } }]; } + (NSValueTransformer *)capacityReservationTargetJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CapacityReservationTargetResponse class]]; } @end @implementation AWSEC2LaunchTemplateConfig + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplateSpecification" : @"LaunchTemplateSpecification", @"overrides" : @"Overrides", }; } + (NSValueTransformer *)launchTemplateSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FleetLaunchTemplateSpecification class]]; } + (NSValueTransformer *)overridesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchTemplateOverrides class]]; } @end @implementation AWSEC2LaunchTemplateCpuOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"amdSevSnp" : @"AmdSevSnp", @"coreCount" : @"CoreCount", @"threadsPerCore" : @"ThreadsPerCore", }; } + (NSValueTransformer *)amdSevSnpJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2AmdSevSnpSpecificationEnabled); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2AmdSevSnpSpecificationDisabled); } return @(AWSEC2AmdSevSnpSpecificationUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AmdSevSnpSpecificationEnabled: return @"enabled"; case AWSEC2AmdSevSnpSpecificationDisabled: return @"disabled"; default: return nil; } }]; } @end @implementation AWSEC2LaunchTemplateCpuOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"amdSevSnp" : @"AmdSevSnp", @"coreCount" : @"CoreCount", @"threadsPerCore" : @"ThreadsPerCore", }; } + (NSValueTransformer *)amdSevSnpJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2AmdSevSnpSpecificationEnabled); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2AmdSevSnpSpecificationDisabled); } return @(AWSEC2AmdSevSnpSpecificationUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AmdSevSnpSpecificationEnabled: return @"enabled"; case AWSEC2AmdSevSnpSpecificationDisabled: return @"disabled"; default: return nil; } }]; } @end @implementation AWSEC2LaunchTemplateEbsBlockDevice + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deleteOnTermination" : @"DeleteOnTermination", @"encrypted" : @"Encrypted", @"iops" : @"Iops", @"kmsKeyId" : @"KmsKeyId", @"snapshotId" : @"SnapshotId", @"throughput" : @"Throughput", @"volumeSize" : @"VolumeSize", @"volumeType" : @"VolumeType", }; } + (NSValueTransformer *)volumeTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2VolumeTypeStandard); } if ([value caseInsensitiveCompare:@"io1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIO1); } if ([value caseInsensitiveCompare:@"io2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIo2); } if ([value caseInsensitiveCompare:@"gp2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp2); } if ([value caseInsensitiveCompare:@"sc1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSc1); } if ([value caseInsensitiveCompare:@"st1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSt1); } if ([value caseInsensitiveCompare:@"gp3"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp3); } return @(AWSEC2VolumeTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VolumeTypeStandard: return @"standard"; case AWSEC2VolumeTypeIO1: return @"io1"; case AWSEC2VolumeTypeIo2: return @"io2"; case AWSEC2VolumeTypeGp2: return @"gp2"; case AWSEC2VolumeTypeSc1: return @"sc1"; case AWSEC2VolumeTypeSt1: return @"st1"; case AWSEC2VolumeTypeGp3: return @"gp3"; default: return nil; } }]; } @end @implementation AWSEC2LaunchTemplateEbsBlockDeviceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deleteOnTermination" : @"DeleteOnTermination", @"encrypted" : @"Encrypted", @"iops" : @"Iops", @"kmsKeyId" : @"KmsKeyId", @"snapshotId" : @"SnapshotId", @"throughput" : @"Throughput", @"volumeSize" : @"VolumeSize", @"volumeType" : @"VolumeType", }; } + (NSValueTransformer *)volumeTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2VolumeTypeStandard); } if ([value caseInsensitiveCompare:@"io1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIO1); } if ([value caseInsensitiveCompare:@"io2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIo2); } if ([value caseInsensitiveCompare:@"gp2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp2); } if ([value caseInsensitiveCompare:@"sc1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSc1); } if ([value caseInsensitiveCompare:@"st1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSt1); } if ([value caseInsensitiveCompare:@"gp3"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp3); } return @(AWSEC2VolumeTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VolumeTypeStandard: return @"standard"; case AWSEC2VolumeTypeIO1: return @"io1"; case AWSEC2VolumeTypeIo2: return @"io2"; case AWSEC2VolumeTypeGp2: return @"gp2"; case AWSEC2VolumeTypeSc1: return @"sc1"; case AWSEC2VolumeTypeSt1: return @"st1"; case AWSEC2VolumeTypeGp3: return @"gp3"; default: return nil; } }]; } @end @implementation AWSEC2LaunchTemplateElasticInferenceAccelerator + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"count" : @"Count", @"types" : @"Type", }; } @end @implementation AWSEC2LaunchTemplateElasticInferenceAcceleratorResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"count" : @"Count", @"types" : @"Type", }; } @end @implementation AWSEC2LaunchTemplateEnclaveOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enabled" : @"Enabled", }; } @end @implementation AWSEC2LaunchTemplateEnclaveOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enabled" : @"Enabled", }; } @end @implementation AWSEC2LaunchTemplateHibernationOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"configured" : @"Configured", }; } @end @implementation AWSEC2LaunchTemplateHibernationOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"configured" : @"Configured", }; } @end @implementation AWSEC2LaunchTemplateIamInstanceProfileSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"arn" : @"Arn", @"name" : @"Name", }; } @end @implementation AWSEC2LaunchTemplateIamInstanceProfileSpecificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"arn" : @"Arn", @"name" : @"Name", }; } @end @implementation AWSEC2LaunchTemplateInstanceMaintenanceOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"autoRecovery" : @"AutoRecovery", }; } + (NSValueTransformer *)autoRecoveryJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateAutoRecoveryStateDefault); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateAutoRecoveryStateDisabled); } return @(AWSEC2LaunchTemplateAutoRecoveryStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LaunchTemplateAutoRecoveryStateDefault: return @"default"; case AWSEC2LaunchTemplateAutoRecoveryStateDisabled: return @"disabled"; default: return nil; } }]; } @end @implementation AWSEC2LaunchTemplateInstanceMaintenanceOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"autoRecovery" : @"AutoRecovery", }; } + (NSValueTransformer *)autoRecoveryJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateAutoRecoveryStateDefault); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateAutoRecoveryStateDisabled); } return @(AWSEC2LaunchTemplateAutoRecoveryStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LaunchTemplateAutoRecoveryStateDefault: return @"default"; case AWSEC2LaunchTemplateAutoRecoveryStateDisabled: return @"disabled"; default: return nil; } }]; } @end @implementation AWSEC2LaunchTemplateInstanceMarketOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"marketType" : @"MarketType", @"spotOptions" : @"SpotOptions", }; } + (NSValueTransformer *)marketTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"spot"] == NSOrderedSame) { return @(AWSEC2MarketTypeSpot); } return @(AWSEC2MarketTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MarketTypeSpot: return @"spot"; default: return nil; } }]; } + (NSValueTransformer *)spotOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateSpotMarketOptions class]]; } @end @implementation AWSEC2LaunchTemplateInstanceMarketOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"marketType" : @"MarketType", @"spotOptions" : @"SpotOptions", }; } + (NSValueTransformer *)marketTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"spot"] == NSOrderedSame) { return @(AWSEC2MarketTypeSpot); } return @(AWSEC2MarketTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MarketTypeSpot: return @"spot"; default: return nil; } }]; } + (NSValueTransformer *)spotOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateSpotMarketOptionsRequest class]]; } @end @implementation AWSEC2LaunchTemplateInstanceMetadataOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"httpEndpoint" : @"HttpEndpoint", @"httpProtocolIpv6" : @"HttpProtocolIpv6", @"httpPutResponseHopLimit" : @"HttpPutResponseHopLimit", @"httpTokens" : @"HttpTokens", @"instanceMetadataTags" : @"InstanceMetadataTags", @"state" : @"State", }; } + (NSValueTransformer *)httpEndpointJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateInstanceMetadataEndpointStateDisabled); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateInstanceMetadataEndpointStateEnabled); } return @(AWSEC2LaunchTemplateInstanceMetadataEndpointStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LaunchTemplateInstanceMetadataEndpointStateDisabled: return @"disabled"; case AWSEC2LaunchTemplateInstanceMetadataEndpointStateEnabled: return @"enabled"; default: return nil; } }]; } + (NSValueTransformer *)httpProtocolIpv6JSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateInstanceMetadataProtocolIpv6Disabled); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateInstanceMetadataProtocolIpv6Enabled); } return @(AWSEC2LaunchTemplateInstanceMetadataProtocolIpv6Unknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LaunchTemplateInstanceMetadataProtocolIpv6Disabled: return @"disabled"; case AWSEC2LaunchTemplateInstanceMetadataProtocolIpv6Enabled: return @"enabled"; default: return nil; } }]; } + (NSValueTransformer *)httpTokensJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"optional"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateHttpTokensStateOptional); } if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateHttpTokensStateRequired); } return @(AWSEC2LaunchTemplateHttpTokensStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LaunchTemplateHttpTokensStateOptional: return @"optional"; case AWSEC2LaunchTemplateHttpTokensStateRequired: return @"required"; default: return nil; } }]; } + (NSValueTransformer *)instanceMetadataTagsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateInstanceMetadataTagsStateDisabled); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateInstanceMetadataTagsStateEnabled); } return @(AWSEC2LaunchTemplateInstanceMetadataTagsStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LaunchTemplateInstanceMetadataTagsStateDisabled: return @"disabled"; case AWSEC2LaunchTemplateInstanceMetadataTagsStateEnabled: return @"enabled"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateInstanceMetadataOptionsStatePending); } if ([value caseInsensitiveCompare:@"applied"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateInstanceMetadataOptionsStateApplied); } return @(AWSEC2LaunchTemplateInstanceMetadataOptionsStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LaunchTemplateInstanceMetadataOptionsStatePending: return @"pending"; case AWSEC2LaunchTemplateInstanceMetadataOptionsStateApplied: return @"applied"; default: return nil; } }]; } @end @implementation AWSEC2LaunchTemplateInstanceMetadataOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"httpEndpoint" : @"HttpEndpoint", @"httpProtocolIpv6" : @"HttpProtocolIpv6", @"httpPutResponseHopLimit" : @"HttpPutResponseHopLimit", @"httpTokens" : @"HttpTokens", @"instanceMetadataTags" : @"InstanceMetadataTags", }; } + (NSValueTransformer *)httpEndpointJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateInstanceMetadataEndpointStateDisabled); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateInstanceMetadataEndpointStateEnabled); } return @(AWSEC2LaunchTemplateInstanceMetadataEndpointStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LaunchTemplateInstanceMetadataEndpointStateDisabled: return @"disabled"; case AWSEC2LaunchTemplateInstanceMetadataEndpointStateEnabled: return @"enabled"; default: return nil; } }]; } + (NSValueTransformer *)httpProtocolIpv6JSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateInstanceMetadataProtocolIpv6Disabled); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateInstanceMetadataProtocolIpv6Enabled); } return @(AWSEC2LaunchTemplateInstanceMetadataProtocolIpv6Unknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LaunchTemplateInstanceMetadataProtocolIpv6Disabled: return @"disabled"; case AWSEC2LaunchTemplateInstanceMetadataProtocolIpv6Enabled: return @"enabled"; default: return nil; } }]; } + (NSValueTransformer *)httpTokensJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"optional"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateHttpTokensStateOptional); } if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateHttpTokensStateRequired); } return @(AWSEC2LaunchTemplateHttpTokensStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LaunchTemplateHttpTokensStateOptional: return @"optional"; case AWSEC2LaunchTemplateHttpTokensStateRequired: return @"required"; default: return nil; } }]; } + (NSValueTransformer *)instanceMetadataTagsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateInstanceMetadataTagsStateDisabled); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateInstanceMetadataTagsStateEnabled); } return @(AWSEC2LaunchTemplateInstanceMetadataTagsStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LaunchTemplateInstanceMetadataTagsStateDisabled: return @"disabled"; case AWSEC2LaunchTemplateInstanceMetadataTagsStateEnabled: return @"enabled"; default: return nil; } }]; } @end @implementation AWSEC2LaunchTemplateInstanceNetworkInterfaceSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associateCarrierIpAddress" : @"AssociateCarrierIpAddress", @"associatePublicIpAddress" : @"AssociatePublicIpAddress", @"deleteOnTermination" : @"DeleteOnTermination", @"detail" : @"Description", @"deviceIndex" : @"DeviceIndex", @"groups" : @"Groups", @"interfaceType" : @"InterfaceType", @"ipv4PrefixCount" : @"Ipv4PrefixCount", @"ipv4Prefixes" : @"Ipv4Prefixes", @"ipv6AddressCount" : @"Ipv6AddressCount", @"ipv6Addresses" : @"Ipv6Addresses", @"ipv6PrefixCount" : @"Ipv6PrefixCount", @"ipv6Prefixes" : @"Ipv6Prefixes", @"networkCardIndex" : @"NetworkCardIndex", @"networkInterfaceId" : @"NetworkInterfaceId", @"privateIpAddress" : @"PrivateIpAddress", @"privateIpAddresses" : @"PrivateIpAddresses", @"secondaryPrivateIpAddressCount" : @"SecondaryPrivateIpAddressCount", @"subnetId" : @"SubnetId", }; } + (NSValueTransformer *)ipv4PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv4PrefixSpecificationResponse class]]; } + (NSValueTransformer *)ipv6AddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceIpv6Address class]]; } + (NSValueTransformer *)ipv6PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv6PrefixSpecificationResponse class]]; } + (NSValueTransformer *)privateIpAddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PrivateIpAddressSpecification class]]; } @end @implementation AWSEC2LaunchTemplateInstanceNetworkInterfaceSpecificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associateCarrierIpAddress" : @"AssociateCarrierIpAddress", @"associatePublicIpAddress" : @"AssociatePublicIpAddress", @"deleteOnTermination" : @"DeleteOnTermination", @"detail" : @"Description", @"deviceIndex" : @"DeviceIndex", @"groups" : @"Groups", @"interfaceType" : @"InterfaceType", @"ipv4PrefixCount" : @"Ipv4PrefixCount", @"ipv4Prefixes" : @"Ipv4Prefixes", @"ipv6AddressCount" : @"Ipv6AddressCount", @"ipv6Addresses" : @"Ipv6Addresses", @"ipv6PrefixCount" : @"Ipv6PrefixCount", @"ipv6Prefixes" : @"Ipv6Prefixes", @"networkCardIndex" : @"NetworkCardIndex", @"networkInterfaceId" : @"NetworkInterfaceId", @"privateIpAddress" : @"PrivateIpAddress", @"privateIpAddresses" : @"PrivateIpAddresses", @"secondaryPrivateIpAddressCount" : @"SecondaryPrivateIpAddressCount", @"subnetId" : @"SubnetId", }; } + (NSValueTransformer *)ipv4PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv4PrefixSpecificationRequest class]]; } + (NSValueTransformer *)ipv6AddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceIpv6AddressRequest class]]; } + (NSValueTransformer *)ipv6PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv6PrefixSpecificationRequest class]]; } + (NSValueTransformer *)privateIpAddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PrivateIpAddressSpecification class]]; } @end @implementation AWSEC2LaunchTemplateLicenseConfiguration + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"licenseConfigurationArn" : @"LicenseConfigurationArn", }; } @end @implementation AWSEC2LaunchTemplateLicenseConfigurationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"licenseConfigurationArn" : @"LicenseConfigurationArn", }; } @end @implementation AWSEC2LaunchTemplateOverrides + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"instanceRequirements" : @"InstanceRequirements", @"instanceType" : @"InstanceType", @"priority" : @"Priority", @"spotPrice" : @"SpotPrice", @"subnetId" : @"SubnetId", @"weightedCapacity" : @"WeightedCapacity", }; } + (NSValueTransformer *)instanceRequirementsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceRequirements class]]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } @end @implementation AWSEC2LaunchTemplatePlacement + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"affinity" : @"Affinity", @"availabilityZone" : @"AvailabilityZone", @"groupId" : @"GroupId", @"groupName" : @"GroupName", @"hostId" : @"HostId", @"hostResourceGroupArn" : @"HostResourceGroupArn", @"partitionNumber" : @"PartitionNumber", @"spreadDomain" : @"SpreadDomain", @"tenancy" : @"Tenancy", }; } + (NSValueTransformer *)tenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2TenancyDefault); } if ([value caseInsensitiveCompare:@"dedicated"] == NSOrderedSame) { return @(AWSEC2TenancyDedicated); } if ([value caseInsensitiveCompare:@"host"] == NSOrderedSame) { return @(AWSEC2TenancyHost); } return @(AWSEC2TenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TenancyDefault: return @"default"; case AWSEC2TenancyDedicated: return @"dedicated"; case AWSEC2TenancyHost: return @"host"; default: return nil; } }]; } @end @implementation AWSEC2LaunchTemplatePlacementRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"affinity" : @"Affinity", @"availabilityZone" : @"AvailabilityZone", @"groupId" : @"GroupId", @"groupName" : @"GroupName", @"hostId" : @"HostId", @"hostResourceGroupArn" : @"HostResourceGroupArn", @"partitionNumber" : @"PartitionNumber", @"spreadDomain" : @"SpreadDomain", @"tenancy" : @"Tenancy", }; } + (NSValueTransformer *)tenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2TenancyDefault); } if ([value caseInsensitiveCompare:@"dedicated"] == NSOrderedSame) { return @(AWSEC2TenancyDedicated); } if ([value caseInsensitiveCompare:@"host"] == NSOrderedSame) { return @(AWSEC2TenancyHost); } return @(AWSEC2TenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TenancyDefault: return @"default"; case AWSEC2TenancyDedicated: return @"dedicated"; case AWSEC2TenancyHost: return @"host"; default: return nil; } }]; } @end @implementation AWSEC2LaunchTemplatePrivateDnsNameOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enableResourceNameDnsAAAARecord" : @"EnableResourceNameDnsAAAARecord", @"enableResourceNameDnsARecord" : @"EnableResourceNameDnsARecord", @"hostnameType" : @"HostnameType", }; } + (NSValueTransformer *)hostnameTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ip-name"] == NSOrderedSame) { return @(AWSEC2HostnameTypeIpName); } if ([value caseInsensitiveCompare:@"resource-name"] == NSOrderedSame) { return @(AWSEC2HostnameTypeResourceName); } return @(AWSEC2HostnameTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HostnameTypeIpName: return @"ip-name"; case AWSEC2HostnameTypeResourceName: return @"resource-name"; default: return nil; } }]; } @end @implementation AWSEC2LaunchTemplatePrivateDnsNameOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enableResourceNameDnsAAAARecord" : @"EnableResourceNameDnsAAAARecord", @"enableResourceNameDnsARecord" : @"EnableResourceNameDnsARecord", @"hostnameType" : @"HostnameType", }; } + (NSValueTransformer *)hostnameTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ip-name"] == NSOrderedSame) { return @(AWSEC2HostnameTypeIpName); } if ([value caseInsensitiveCompare:@"resource-name"] == NSOrderedSame) { return @(AWSEC2HostnameTypeResourceName); } return @(AWSEC2HostnameTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HostnameTypeIpName: return @"ip-name"; case AWSEC2HostnameTypeResourceName: return @"resource-name"; default: return nil; } }]; } @end @implementation AWSEC2LaunchTemplateSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplateId" : @"LaunchTemplateId", @"launchTemplateName" : @"LaunchTemplateName", @"version" : @"Version", }; } @end @implementation AWSEC2LaunchTemplateSpotMarketOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blockDurationMinutes" : @"BlockDurationMinutes", @"instanceInterruptionBehavior" : @"InstanceInterruptionBehavior", @"maxPrice" : @"MaxPrice", @"spotInstanceType" : @"SpotInstanceType", @"validUntil" : @"ValidUntil", }; } + (NSValueTransformer *)instanceInterruptionBehaviorJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"hibernate"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorHibernate); } if ([value caseInsensitiveCompare:@"stop"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorStop); } if ([value caseInsensitiveCompare:@"terminate"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorTerminate); } return @(AWSEC2InstanceInterruptionBehaviorUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceInterruptionBehaviorHibernate: return @"hibernate"; case AWSEC2InstanceInterruptionBehaviorStop: return @"stop"; case AWSEC2InstanceInterruptionBehaviorTerminate: return @"terminate"; default: return nil; } }]; } + (NSValueTransformer *)spotInstanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"one-time"] == NSOrderedSame) { return @(AWSEC2SpotInstanceTypeOneTime); } if ([value caseInsensitiveCompare:@"persistent"] == NSOrderedSame) { return @(AWSEC2SpotInstanceTypePersistent); } return @(AWSEC2SpotInstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SpotInstanceTypeOneTime: return @"one-time"; case AWSEC2SpotInstanceTypePersistent: return @"persistent"; default: return nil; } }]; } + (NSValueTransformer *)validUntilJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2LaunchTemplateSpotMarketOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blockDurationMinutes" : @"BlockDurationMinutes", @"instanceInterruptionBehavior" : @"InstanceInterruptionBehavior", @"maxPrice" : @"MaxPrice", @"spotInstanceType" : @"SpotInstanceType", @"validUntil" : @"ValidUntil", }; } + (NSValueTransformer *)instanceInterruptionBehaviorJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"hibernate"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorHibernate); } if ([value caseInsensitiveCompare:@"stop"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorStop); } if ([value caseInsensitiveCompare:@"terminate"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorTerminate); } return @(AWSEC2InstanceInterruptionBehaviorUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceInterruptionBehaviorHibernate: return @"hibernate"; case AWSEC2InstanceInterruptionBehaviorStop: return @"stop"; case AWSEC2InstanceInterruptionBehaviorTerminate: return @"terminate"; default: return nil; } }]; } + (NSValueTransformer *)spotInstanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"one-time"] == NSOrderedSame) { return @(AWSEC2SpotInstanceTypeOneTime); } if ([value caseInsensitiveCompare:@"persistent"] == NSOrderedSame) { return @(AWSEC2SpotInstanceTypePersistent); } return @(AWSEC2SpotInstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SpotInstanceTypeOneTime: return @"one-time"; case AWSEC2SpotInstanceTypePersistent: return @"persistent"; default: return nil; } }]; } + (NSValueTransformer *)validUntilJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2LaunchTemplateTagSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceType" : @"ResourceType", @"tags" : @"Tags", }; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"capacity-reservation"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCapacityReservation); } if ([value caseInsensitiveCompare:@"client-vpn-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeClientVpnEndpoint); } if ([value caseInsensitiveCompare:@"customer-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCustomerGateway); } if ([value caseInsensitiveCompare:@"carrier-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCarrierGateway); } if ([value caseInsensitiveCompare:@"coip-pool"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCoipPool); } if ([value caseInsensitiveCompare:@"dedicated-host"] == NSOrderedSame) { return @(AWSEC2ResourceTypeDedicatedHost); } if ([value caseInsensitiveCompare:@"dhcp-options"] == NSOrderedSame) { return @(AWSEC2ResourceTypeDHCPOptions); } if ([value caseInsensitiveCompare:@"egress-only-internet-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeEgressOnlyInternetGateway); } if ([value caseInsensitiveCompare:@"elastic-ip"] == NSOrderedSame) { return @(AWSEC2ResourceTypeElasticIp); } if ([value caseInsensitiveCompare:@"elastic-gpu"] == NSOrderedSame) { return @(AWSEC2ResourceTypeElasticGpu); } if ([value caseInsensitiveCompare:@"export-image-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeExportImageTask); } if ([value caseInsensitiveCompare:@"export-instance-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeExportInstanceTask); } if ([value caseInsensitiveCompare:@"fleet"] == NSOrderedSame) { return @(AWSEC2ResourceTypeFleet); } if ([value caseInsensitiveCompare:@"fpga-image"] == NSOrderedSame) { return @(AWSEC2ResourceTypeFpgaImage); } if ([value caseInsensitiveCompare:@"host-reservation"] == NSOrderedSame) { return @(AWSEC2ResourceTypeHostReservation); } if ([value caseInsensitiveCompare:@"image"] == NSOrderedSame) { return @(AWSEC2ResourceTypeImage); } if ([value caseInsensitiveCompare:@"import-image-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeImportImageTask); } if ([value caseInsensitiveCompare:@"import-snapshot-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeImportSnapshotTask); } if ([value caseInsensitiveCompare:@"instance"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInstance); } if ([value caseInsensitiveCompare:@"instance-event-window"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInstanceEventWindow); } if ([value caseInsensitiveCompare:@"internet-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInternetGateway); } if ([value caseInsensitiveCompare:@"ipam"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpam); } if ([value caseInsensitiveCompare:@"ipam-pool"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamPool); } if ([value caseInsensitiveCompare:@"ipam-scope"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamScope); } if ([value caseInsensitiveCompare:@"ipv4pool-ec2"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpv4poolEc2); } if ([value caseInsensitiveCompare:@"ipv6pool-ec2"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpv6poolEc2); } if ([value caseInsensitiveCompare:@"key-pair"] == NSOrderedSame) { return @(AWSEC2ResourceTypeKeyPair); } if ([value caseInsensitiveCompare:@"launch-template"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLaunchTemplate); } if ([value caseInsensitiveCompare:@"local-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGateway); } if ([value caseInsensitiveCompare:@"local-gateway-route-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayRouteTable); } if ([value caseInsensitiveCompare:@"local-gateway-virtual-interface"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayVirtualInterface); } if ([value caseInsensitiveCompare:@"local-gateway-virtual-interface-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayVirtualInterfaceGroup); } if ([value caseInsensitiveCompare:@"local-gateway-route-table-vpc-association"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayRouteTableVpcAssociation); } if ([value caseInsensitiveCompare:@"local-gateway-route-table-virtual-interface-group-association"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayRouteTableVirtualInterfaceGroupAssociation); } if ([value caseInsensitiveCompare:@"natgateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNatgateway); } if ([value caseInsensitiveCompare:@"network-acl"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkACL); } if ([value caseInsensitiveCompare:@"network-interface"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInterface); } if ([value caseInsensitiveCompare:@"network-insights-analysis"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsAnalysis); } if ([value caseInsensitiveCompare:@"network-insights-path"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsPath); } if ([value caseInsensitiveCompare:@"network-insights-access-scope"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsAccessScope); } if ([value caseInsensitiveCompare:@"network-insights-access-scope-analysis"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsAccessScopeAnalysis); } if ([value caseInsensitiveCompare:@"placement-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypePlacementGroup); } if ([value caseInsensitiveCompare:@"prefix-list"] == NSOrderedSame) { return @(AWSEC2ResourceTypePrefixList); } if ([value caseInsensitiveCompare:@"replace-root-volume-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeReplaceRootVolumeTask); } if ([value caseInsensitiveCompare:@"reserved-instances"] == NSOrderedSame) { return @(AWSEC2ResourceTypeReservedInstances); } if ([value caseInsensitiveCompare:@"route-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeRouteTable); } if ([value caseInsensitiveCompare:@"security-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSecurityGroup); } if ([value caseInsensitiveCompare:@"security-group-rule"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSecurityGroupRule); } if ([value caseInsensitiveCompare:@"snapshot"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSnapshot); } if ([value caseInsensitiveCompare:@"spot-fleet-request"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSpotFleetRequest); } if ([value caseInsensitiveCompare:@"spot-instances-request"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSpotInstancesRequest); } if ([value caseInsensitiveCompare:@"subnet"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSubnet); } if ([value caseInsensitiveCompare:@"subnet-cidr-reservation"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSubnetCidrReservation); } if ([value caseInsensitiveCompare:@"traffic-mirror-filter"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorFilter); } if ([value caseInsensitiveCompare:@"traffic-mirror-session"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorSession); } if ([value caseInsensitiveCompare:@"traffic-mirror-target"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorTarget); } if ([value caseInsensitiveCompare:@"transit-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGateway); } if ([value caseInsensitiveCompare:@"transit-gateway-attachment"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayAttachment); } if ([value caseInsensitiveCompare:@"transit-gateway-connect-peer"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayConnectPeer); } if ([value caseInsensitiveCompare:@"transit-gateway-multicast-domain"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayMulticastDomain); } if ([value caseInsensitiveCompare:@"transit-gateway-policy-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayPolicyTable); } if ([value caseInsensitiveCompare:@"transit-gateway-route-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayRouteTable); } if ([value caseInsensitiveCompare:@"transit-gateway-route-table-announcement"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayRouteTableAnnouncement); } if ([value caseInsensitiveCompare:@"volume"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVolume); } if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpc-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpoint); } if ([value caseInsensitiveCompare:@"vpc-endpoint-connection"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointConnection); } if ([value caseInsensitiveCompare:@"vpc-endpoint-service"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointService); } if ([value caseInsensitiveCompare:@"vpc-endpoint-service-permission"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointServicePermission); } if ([value caseInsensitiveCompare:@"vpc-peering-connection"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcPeeringConnection); } if ([value caseInsensitiveCompare:@"vpn-connection"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpnConnection); } if ([value caseInsensitiveCompare:@"vpn-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpnGateway); } if ([value caseInsensitiveCompare:@"vpc-flow-log"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcFlowLog); } if ([value caseInsensitiveCompare:@"capacity-reservation-fleet"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCapacityReservationFleet); } if ([value caseInsensitiveCompare:@"traffic-mirror-filter-rule"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorFilterRule); } if ([value caseInsensitiveCompare:@"vpc-endpoint-connection-device-type"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointConnectionDeviceType); } if ([value caseInsensitiveCompare:@"verified-access-instance"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessInstance); } if ([value caseInsensitiveCompare:@"verified-access-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessGroup); } if ([value caseInsensitiveCompare:@"verified-access-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessEndpoint); } if ([value caseInsensitiveCompare:@"verified-access-policy"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessPolicy); } if ([value caseInsensitiveCompare:@"verified-access-trust-provider"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessTrustProvider); } if ([value caseInsensitiveCompare:@"vpn-connection-device-type"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpnConnectionDeviceType); } if ([value caseInsensitiveCompare:@"vpc-block-public-access-exclusion"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcBlockPublicAccessExclusion); } if ([value caseInsensitiveCompare:@"ipam-resource-discovery"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamResourceDiscovery); } if ([value caseInsensitiveCompare:@"ipam-resource-discovery-association"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamResourceDiscoveryAssociation); } if ([value caseInsensitiveCompare:@"instance-connect-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInstanceConnectEndpoint); } return @(AWSEC2ResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ResourceTypeCapacityReservation: return @"capacity-reservation"; case AWSEC2ResourceTypeClientVpnEndpoint: return @"client-vpn-endpoint"; case AWSEC2ResourceTypeCustomerGateway: return @"customer-gateway"; case AWSEC2ResourceTypeCarrierGateway: return @"carrier-gateway"; case AWSEC2ResourceTypeCoipPool: return @"coip-pool"; case AWSEC2ResourceTypeDedicatedHost: return @"dedicated-host"; case AWSEC2ResourceTypeDHCPOptions: return @"dhcp-options"; case AWSEC2ResourceTypeEgressOnlyInternetGateway: return @"egress-only-internet-gateway"; case AWSEC2ResourceTypeElasticIp: return @"elastic-ip"; case AWSEC2ResourceTypeElasticGpu: return @"elastic-gpu"; case AWSEC2ResourceTypeExportImageTask: return @"export-image-task"; case AWSEC2ResourceTypeExportInstanceTask: return @"export-instance-task"; case AWSEC2ResourceTypeFleet: return @"fleet"; case AWSEC2ResourceTypeFpgaImage: return @"fpga-image"; case AWSEC2ResourceTypeHostReservation: return @"host-reservation"; case AWSEC2ResourceTypeImage: return @"image"; case AWSEC2ResourceTypeImportImageTask: return @"import-image-task"; case AWSEC2ResourceTypeImportSnapshotTask: return @"import-snapshot-task"; case AWSEC2ResourceTypeInstance: return @"instance"; case AWSEC2ResourceTypeInstanceEventWindow: return @"instance-event-window"; case AWSEC2ResourceTypeInternetGateway: return @"internet-gateway"; case AWSEC2ResourceTypeIpam: return @"ipam"; case AWSEC2ResourceTypeIpamPool: return @"ipam-pool"; case AWSEC2ResourceTypeIpamScope: return @"ipam-scope"; case AWSEC2ResourceTypeIpv4poolEc2: return @"ipv4pool-ec2"; case AWSEC2ResourceTypeIpv6poolEc2: return @"ipv6pool-ec2"; case AWSEC2ResourceTypeKeyPair: return @"key-pair"; case AWSEC2ResourceTypeLaunchTemplate: return @"launch-template"; case AWSEC2ResourceTypeLocalGateway: return @"local-gateway"; case AWSEC2ResourceTypeLocalGatewayRouteTable: return @"local-gateway-route-table"; case AWSEC2ResourceTypeLocalGatewayVirtualInterface: return @"local-gateway-virtual-interface"; case AWSEC2ResourceTypeLocalGatewayVirtualInterfaceGroup: return @"local-gateway-virtual-interface-group"; case AWSEC2ResourceTypeLocalGatewayRouteTableVpcAssociation: return @"local-gateway-route-table-vpc-association"; case AWSEC2ResourceTypeLocalGatewayRouteTableVirtualInterfaceGroupAssociation: return @"local-gateway-route-table-virtual-interface-group-association"; case AWSEC2ResourceTypeNatgateway: return @"natgateway"; case AWSEC2ResourceTypeNetworkACL: return @"network-acl"; case AWSEC2ResourceTypeNetworkInterface: return @"network-interface"; case AWSEC2ResourceTypeNetworkInsightsAnalysis: return @"network-insights-analysis"; case AWSEC2ResourceTypeNetworkInsightsPath: return @"network-insights-path"; case AWSEC2ResourceTypeNetworkInsightsAccessScope: return @"network-insights-access-scope"; case AWSEC2ResourceTypeNetworkInsightsAccessScopeAnalysis: return @"network-insights-access-scope-analysis"; case AWSEC2ResourceTypePlacementGroup: return @"placement-group"; case AWSEC2ResourceTypePrefixList: return @"prefix-list"; case AWSEC2ResourceTypeReplaceRootVolumeTask: return @"replace-root-volume-task"; case AWSEC2ResourceTypeReservedInstances: return @"reserved-instances"; case AWSEC2ResourceTypeRouteTable: return @"route-table"; case AWSEC2ResourceTypeSecurityGroup: return @"security-group"; case AWSEC2ResourceTypeSecurityGroupRule: return @"security-group-rule"; case AWSEC2ResourceTypeSnapshot: return @"snapshot"; case AWSEC2ResourceTypeSpotFleetRequest: return @"spot-fleet-request"; case AWSEC2ResourceTypeSpotInstancesRequest: return @"spot-instances-request"; case AWSEC2ResourceTypeSubnet: return @"subnet"; case AWSEC2ResourceTypeSubnetCidrReservation: return @"subnet-cidr-reservation"; case AWSEC2ResourceTypeTrafficMirrorFilter: return @"traffic-mirror-filter"; case AWSEC2ResourceTypeTrafficMirrorSession: return @"traffic-mirror-session"; case AWSEC2ResourceTypeTrafficMirrorTarget: return @"traffic-mirror-target"; case AWSEC2ResourceTypeTransitGateway: return @"transit-gateway"; case AWSEC2ResourceTypeTransitGatewayAttachment: return @"transit-gateway-attachment"; case AWSEC2ResourceTypeTransitGatewayConnectPeer: return @"transit-gateway-connect-peer"; case AWSEC2ResourceTypeTransitGatewayMulticastDomain: return @"transit-gateway-multicast-domain"; case AWSEC2ResourceTypeTransitGatewayPolicyTable: return @"transit-gateway-policy-table"; case AWSEC2ResourceTypeTransitGatewayRouteTable: return @"transit-gateway-route-table"; case AWSEC2ResourceTypeTransitGatewayRouteTableAnnouncement: return @"transit-gateway-route-table-announcement"; case AWSEC2ResourceTypeVolume: return @"volume"; case AWSEC2ResourceTypeVPC: return @"vpc"; case AWSEC2ResourceTypeVpcEndpoint: return @"vpc-endpoint"; case AWSEC2ResourceTypeVpcEndpointConnection: return @"vpc-endpoint-connection"; case AWSEC2ResourceTypeVpcEndpointService: return @"vpc-endpoint-service"; case AWSEC2ResourceTypeVpcEndpointServicePermission: return @"vpc-endpoint-service-permission"; case AWSEC2ResourceTypeVpcPeeringConnection: return @"vpc-peering-connection"; case AWSEC2ResourceTypeVpnConnection: return @"vpn-connection"; case AWSEC2ResourceTypeVpnGateway: return @"vpn-gateway"; case AWSEC2ResourceTypeVpcFlowLog: return @"vpc-flow-log"; case AWSEC2ResourceTypeCapacityReservationFleet: return @"capacity-reservation-fleet"; case AWSEC2ResourceTypeTrafficMirrorFilterRule: return @"traffic-mirror-filter-rule"; case AWSEC2ResourceTypeVpcEndpointConnectionDeviceType: return @"vpc-endpoint-connection-device-type"; case AWSEC2ResourceTypeVerifiedAccessInstance: return @"verified-access-instance"; case AWSEC2ResourceTypeVerifiedAccessGroup: return @"verified-access-group"; case AWSEC2ResourceTypeVerifiedAccessEndpoint: return @"verified-access-endpoint"; case AWSEC2ResourceTypeVerifiedAccessPolicy: return @"verified-access-policy"; case AWSEC2ResourceTypeVerifiedAccessTrustProvider: return @"verified-access-trust-provider"; case AWSEC2ResourceTypeVpnConnectionDeviceType: return @"vpn-connection-device-type"; case AWSEC2ResourceTypeVpcBlockPublicAccessExclusion: return @"vpc-block-public-access-exclusion"; case AWSEC2ResourceTypeIpamResourceDiscovery: return @"ipam-resource-discovery"; case AWSEC2ResourceTypeIpamResourceDiscoveryAssociation: return @"ipam-resource-discovery-association"; case AWSEC2ResourceTypeInstanceConnectEndpoint: return @"instance-connect-endpoint"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2LaunchTemplateTagSpecificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceType" : @"ResourceType", @"tags" : @"Tags", }; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"capacity-reservation"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCapacityReservation); } if ([value caseInsensitiveCompare:@"client-vpn-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeClientVpnEndpoint); } if ([value caseInsensitiveCompare:@"customer-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCustomerGateway); } if ([value caseInsensitiveCompare:@"carrier-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCarrierGateway); } if ([value caseInsensitiveCompare:@"coip-pool"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCoipPool); } if ([value caseInsensitiveCompare:@"dedicated-host"] == NSOrderedSame) { return @(AWSEC2ResourceTypeDedicatedHost); } if ([value caseInsensitiveCompare:@"dhcp-options"] == NSOrderedSame) { return @(AWSEC2ResourceTypeDHCPOptions); } if ([value caseInsensitiveCompare:@"egress-only-internet-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeEgressOnlyInternetGateway); } if ([value caseInsensitiveCompare:@"elastic-ip"] == NSOrderedSame) { return @(AWSEC2ResourceTypeElasticIp); } if ([value caseInsensitiveCompare:@"elastic-gpu"] == NSOrderedSame) { return @(AWSEC2ResourceTypeElasticGpu); } if ([value caseInsensitiveCompare:@"export-image-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeExportImageTask); } if ([value caseInsensitiveCompare:@"export-instance-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeExportInstanceTask); } if ([value caseInsensitiveCompare:@"fleet"] == NSOrderedSame) { return @(AWSEC2ResourceTypeFleet); } if ([value caseInsensitiveCompare:@"fpga-image"] == NSOrderedSame) { return @(AWSEC2ResourceTypeFpgaImage); } if ([value caseInsensitiveCompare:@"host-reservation"] == NSOrderedSame) { return @(AWSEC2ResourceTypeHostReservation); } if ([value caseInsensitiveCompare:@"image"] == NSOrderedSame) { return @(AWSEC2ResourceTypeImage); } if ([value caseInsensitiveCompare:@"import-image-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeImportImageTask); } if ([value caseInsensitiveCompare:@"import-snapshot-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeImportSnapshotTask); } if ([value caseInsensitiveCompare:@"instance"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInstance); } if ([value caseInsensitiveCompare:@"instance-event-window"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInstanceEventWindow); } if ([value caseInsensitiveCompare:@"internet-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInternetGateway); } if ([value caseInsensitiveCompare:@"ipam"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpam); } if ([value caseInsensitiveCompare:@"ipam-pool"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamPool); } if ([value caseInsensitiveCompare:@"ipam-scope"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamScope); } if ([value caseInsensitiveCompare:@"ipv4pool-ec2"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpv4poolEc2); } if ([value caseInsensitiveCompare:@"ipv6pool-ec2"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpv6poolEc2); } if ([value caseInsensitiveCompare:@"key-pair"] == NSOrderedSame) { return @(AWSEC2ResourceTypeKeyPair); } if ([value caseInsensitiveCompare:@"launch-template"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLaunchTemplate); } if ([value caseInsensitiveCompare:@"local-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGateway); } if ([value caseInsensitiveCompare:@"local-gateway-route-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayRouteTable); } if ([value caseInsensitiveCompare:@"local-gateway-virtual-interface"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayVirtualInterface); } if ([value caseInsensitiveCompare:@"local-gateway-virtual-interface-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayVirtualInterfaceGroup); } if ([value caseInsensitiveCompare:@"local-gateway-route-table-vpc-association"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayRouteTableVpcAssociation); } if ([value caseInsensitiveCompare:@"local-gateway-route-table-virtual-interface-group-association"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayRouteTableVirtualInterfaceGroupAssociation); } if ([value caseInsensitiveCompare:@"natgateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNatgateway); } if ([value caseInsensitiveCompare:@"network-acl"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkACL); } if ([value caseInsensitiveCompare:@"network-interface"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInterface); } if ([value caseInsensitiveCompare:@"network-insights-analysis"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsAnalysis); } if ([value caseInsensitiveCompare:@"network-insights-path"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsPath); } if ([value caseInsensitiveCompare:@"network-insights-access-scope"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsAccessScope); } if ([value caseInsensitiveCompare:@"network-insights-access-scope-analysis"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsAccessScopeAnalysis); } if ([value caseInsensitiveCompare:@"placement-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypePlacementGroup); } if ([value caseInsensitiveCompare:@"prefix-list"] == NSOrderedSame) { return @(AWSEC2ResourceTypePrefixList); } if ([value caseInsensitiveCompare:@"replace-root-volume-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeReplaceRootVolumeTask); } if ([value caseInsensitiveCompare:@"reserved-instances"] == NSOrderedSame) { return @(AWSEC2ResourceTypeReservedInstances); } if ([value caseInsensitiveCompare:@"route-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeRouteTable); } if ([value caseInsensitiveCompare:@"security-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSecurityGroup); } if ([value caseInsensitiveCompare:@"security-group-rule"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSecurityGroupRule); } if ([value caseInsensitiveCompare:@"snapshot"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSnapshot); } if ([value caseInsensitiveCompare:@"spot-fleet-request"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSpotFleetRequest); } if ([value caseInsensitiveCompare:@"spot-instances-request"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSpotInstancesRequest); } if ([value caseInsensitiveCompare:@"subnet"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSubnet); } if ([value caseInsensitiveCompare:@"subnet-cidr-reservation"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSubnetCidrReservation); } if ([value caseInsensitiveCompare:@"traffic-mirror-filter"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorFilter); } if ([value caseInsensitiveCompare:@"traffic-mirror-session"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorSession); } if ([value caseInsensitiveCompare:@"traffic-mirror-target"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorTarget); } if ([value caseInsensitiveCompare:@"transit-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGateway); } if ([value caseInsensitiveCompare:@"transit-gateway-attachment"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayAttachment); } if ([value caseInsensitiveCompare:@"transit-gateway-connect-peer"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayConnectPeer); } if ([value caseInsensitiveCompare:@"transit-gateway-multicast-domain"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayMulticastDomain); } if ([value caseInsensitiveCompare:@"transit-gateway-policy-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayPolicyTable); } if ([value caseInsensitiveCompare:@"transit-gateway-route-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayRouteTable); } if ([value caseInsensitiveCompare:@"transit-gateway-route-table-announcement"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayRouteTableAnnouncement); } if ([value caseInsensitiveCompare:@"volume"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVolume); } if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpc-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpoint); } if ([value caseInsensitiveCompare:@"vpc-endpoint-connection"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointConnection); } if ([value caseInsensitiveCompare:@"vpc-endpoint-service"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointService); } if ([value caseInsensitiveCompare:@"vpc-endpoint-service-permission"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointServicePermission); } if ([value caseInsensitiveCompare:@"vpc-peering-connection"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcPeeringConnection); } if ([value caseInsensitiveCompare:@"vpn-connection"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpnConnection); } if ([value caseInsensitiveCompare:@"vpn-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpnGateway); } if ([value caseInsensitiveCompare:@"vpc-flow-log"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcFlowLog); } if ([value caseInsensitiveCompare:@"capacity-reservation-fleet"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCapacityReservationFleet); } if ([value caseInsensitiveCompare:@"traffic-mirror-filter-rule"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorFilterRule); } if ([value caseInsensitiveCompare:@"vpc-endpoint-connection-device-type"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointConnectionDeviceType); } if ([value caseInsensitiveCompare:@"verified-access-instance"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessInstance); } if ([value caseInsensitiveCompare:@"verified-access-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessGroup); } if ([value caseInsensitiveCompare:@"verified-access-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessEndpoint); } if ([value caseInsensitiveCompare:@"verified-access-policy"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessPolicy); } if ([value caseInsensitiveCompare:@"verified-access-trust-provider"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessTrustProvider); } if ([value caseInsensitiveCompare:@"vpn-connection-device-type"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpnConnectionDeviceType); } if ([value caseInsensitiveCompare:@"vpc-block-public-access-exclusion"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcBlockPublicAccessExclusion); } if ([value caseInsensitiveCompare:@"ipam-resource-discovery"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamResourceDiscovery); } if ([value caseInsensitiveCompare:@"ipam-resource-discovery-association"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamResourceDiscoveryAssociation); } if ([value caseInsensitiveCompare:@"instance-connect-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInstanceConnectEndpoint); } return @(AWSEC2ResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ResourceTypeCapacityReservation: return @"capacity-reservation"; case AWSEC2ResourceTypeClientVpnEndpoint: return @"client-vpn-endpoint"; case AWSEC2ResourceTypeCustomerGateway: return @"customer-gateway"; case AWSEC2ResourceTypeCarrierGateway: return @"carrier-gateway"; case AWSEC2ResourceTypeCoipPool: return @"coip-pool"; case AWSEC2ResourceTypeDedicatedHost: return @"dedicated-host"; case AWSEC2ResourceTypeDHCPOptions: return @"dhcp-options"; case AWSEC2ResourceTypeEgressOnlyInternetGateway: return @"egress-only-internet-gateway"; case AWSEC2ResourceTypeElasticIp: return @"elastic-ip"; case AWSEC2ResourceTypeElasticGpu: return @"elastic-gpu"; case AWSEC2ResourceTypeExportImageTask: return @"export-image-task"; case AWSEC2ResourceTypeExportInstanceTask: return @"export-instance-task"; case AWSEC2ResourceTypeFleet: return @"fleet"; case AWSEC2ResourceTypeFpgaImage: return @"fpga-image"; case AWSEC2ResourceTypeHostReservation: return @"host-reservation"; case AWSEC2ResourceTypeImage: return @"image"; case AWSEC2ResourceTypeImportImageTask: return @"import-image-task"; case AWSEC2ResourceTypeImportSnapshotTask: return @"import-snapshot-task"; case AWSEC2ResourceTypeInstance: return @"instance"; case AWSEC2ResourceTypeInstanceEventWindow: return @"instance-event-window"; case AWSEC2ResourceTypeInternetGateway: return @"internet-gateway"; case AWSEC2ResourceTypeIpam: return @"ipam"; case AWSEC2ResourceTypeIpamPool: return @"ipam-pool"; case AWSEC2ResourceTypeIpamScope: return @"ipam-scope"; case AWSEC2ResourceTypeIpv4poolEc2: return @"ipv4pool-ec2"; case AWSEC2ResourceTypeIpv6poolEc2: return @"ipv6pool-ec2"; case AWSEC2ResourceTypeKeyPair: return @"key-pair"; case AWSEC2ResourceTypeLaunchTemplate: return @"launch-template"; case AWSEC2ResourceTypeLocalGateway: return @"local-gateway"; case AWSEC2ResourceTypeLocalGatewayRouteTable: return @"local-gateway-route-table"; case AWSEC2ResourceTypeLocalGatewayVirtualInterface: return @"local-gateway-virtual-interface"; case AWSEC2ResourceTypeLocalGatewayVirtualInterfaceGroup: return @"local-gateway-virtual-interface-group"; case AWSEC2ResourceTypeLocalGatewayRouteTableVpcAssociation: return @"local-gateway-route-table-vpc-association"; case AWSEC2ResourceTypeLocalGatewayRouteTableVirtualInterfaceGroupAssociation: return @"local-gateway-route-table-virtual-interface-group-association"; case AWSEC2ResourceTypeNatgateway: return @"natgateway"; case AWSEC2ResourceTypeNetworkACL: return @"network-acl"; case AWSEC2ResourceTypeNetworkInterface: return @"network-interface"; case AWSEC2ResourceTypeNetworkInsightsAnalysis: return @"network-insights-analysis"; case AWSEC2ResourceTypeNetworkInsightsPath: return @"network-insights-path"; case AWSEC2ResourceTypeNetworkInsightsAccessScope: return @"network-insights-access-scope"; case AWSEC2ResourceTypeNetworkInsightsAccessScopeAnalysis: return @"network-insights-access-scope-analysis"; case AWSEC2ResourceTypePlacementGroup: return @"placement-group"; case AWSEC2ResourceTypePrefixList: return @"prefix-list"; case AWSEC2ResourceTypeReplaceRootVolumeTask: return @"replace-root-volume-task"; case AWSEC2ResourceTypeReservedInstances: return @"reserved-instances"; case AWSEC2ResourceTypeRouteTable: return @"route-table"; case AWSEC2ResourceTypeSecurityGroup: return @"security-group"; case AWSEC2ResourceTypeSecurityGroupRule: return @"security-group-rule"; case AWSEC2ResourceTypeSnapshot: return @"snapshot"; case AWSEC2ResourceTypeSpotFleetRequest: return @"spot-fleet-request"; case AWSEC2ResourceTypeSpotInstancesRequest: return @"spot-instances-request"; case AWSEC2ResourceTypeSubnet: return @"subnet"; case AWSEC2ResourceTypeSubnetCidrReservation: return @"subnet-cidr-reservation"; case AWSEC2ResourceTypeTrafficMirrorFilter: return @"traffic-mirror-filter"; case AWSEC2ResourceTypeTrafficMirrorSession: return @"traffic-mirror-session"; case AWSEC2ResourceTypeTrafficMirrorTarget: return @"traffic-mirror-target"; case AWSEC2ResourceTypeTransitGateway: return @"transit-gateway"; case AWSEC2ResourceTypeTransitGatewayAttachment: return @"transit-gateway-attachment"; case AWSEC2ResourceTypeTransitGatewayConnectPeer: return @"transit-gateway-connect-peer"; case AWSEC2ResourceTypeTransitGatewayMulticastDomain: return @"transit-gateway-multicast-domain"; case AWSEC2ResourceTypeTransitGatewayPolicyTable: return @"transit-gateway-policy-table"; case AWSEC2ResourceTypeTransitGatewayRouteTable: return @"transit-gateway-route-table"; case AWSEC2ResourceTypeTransitGatewayRouteTableAnnouncement: return @"transit-gateway-route-table-announcement"; case AWSEC2ResourceTypeVolume: return @"volume"; case AWSEC2ResourceTypeVPC: return @"vpc"; case AWSEC2ResourceTypeVpcEndpoint: return @"vpc-endpoint"; case AWSEC2ResourceTypeVpcEndpointConnection: return @"vpc-endpoint-connection"; case AWSEC2ResourceTypeVpcEndpointService: return @"vpc-endpoint-service"; case AWSEC2ResourceTypeVpcEndpointServicePermission: return @"vpc-endpoint-service-permission"; case AWSEC2ResourceTypeVpcPeeringConnection: return @"vpc-peering-connection"; case AWSEC2ResourceTypeVpnConnection: return @"vpn-connection"; case AWSEC2ResourceTypeVpnGateway: return @"vpn-gateway"; case AWSEC2ResourceTypeVpcFlowLog: return @"vpc-flow-log"; case AWSEC2ResourceTypeCapacityReservationFleet: return @"capacity-reservation-fleet"; case AWSEC2ResourceTypeTrafficMirrorFilterRule: return @"traffic-mirror-filter-rule"; case AWSEC2ResourceTypeVpcEndpointConnectionDeviceType: return @"vpc-endpoint-connection-device-type"; case AWSEC2ResourceTypeVerifiedAccessInstance: return @"verified-access-instance"; case AWSEC2ResourceTypeVerifiedAccessGroup: return @"verified-access-group"; case AWSEC2ResourceTypeVerifiedAccessEndpoint: return @"verified-access-endpoint"; case AWSEC2ResourceTypeVerifiedAccessPolicy: return @"verified-access-policy"; case AWSEC2ResourceTypeVerifiedAccessTrustProvider: return @"verified-access-trust-provider"; case AWSEC2ResourceTypeVpnConnectionDeviceType: return @"vpn-connection-device-type"; case AWSEC2ResourceTypeVpcBlockPublicAccessExclusion: return @"vpc-block-public-access-exclusion"; case AWSEC2ResourceTypeIpamResourceDiscovery: return @"ipam-resource-discovery"; case AWSEC2ResourceTypeIpamResourceDiscoveryAssociation: return @"ipam-resource-discovery-association"; case AWSEC2ResourceTypeInstanceConnectEndpoint: return @"instance-connect-endpoint"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2LaunchTemplateVersion + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"createTime" : @"CreateTime", @"createdBy" : @"CreatedBy", @"defaultVersion" : @"DefaultVersion", @"launchTemplateData" : @"LaunchTemplateData", @"launchTemplateId" : @"LaunchTemplateId", @"launchTemplateName" : @"LaunchTemplateName", @"versionDescription" : @"VersionDescription", @"versionNumber" : @"VersionNumber", }; } + (NSValueTransformer *)createTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)launchTemplateDataJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ResponseLaunchTemplateData class]]; } @end @implementation AWSEC2LaunchTemplatesMonitoring + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enabled" : @"Enabled", }; } @end @implementation AWSEC2LaunchTemplatesMonitoringRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enabled" : @"Enabled", }; } @end @implementation AWSEC2LicenseConfiguration + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"licenseConfigurationArn" : @"LicenseConfigurationArn", }; } @end @implementation AWSEC2LicenseConfigurationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"licenseConfigurationArn" : @"LicenseConfigurationArn", }; } @end @implementation AWSEC2ListImagesInRecycleBinRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"imageIds" : @"ImageIds", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } @end @implementation AWSEC2ListImagesInRecycleBinResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"images" : @"Images", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)imagesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ImageRecycleBinInfo class]]; } @end @implementation AWSEC2ListSnapshotsInRecycleBinRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"snapshotIds" : @"SnapshotIds", }; } @end @implementation AWSEC2ListSnapshotsInRecycleBinResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"snapshots" : @"Snapshots", }; } + (NSValueTransformer *)snapshotsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SnapshotRecycleBinInfo class]]; } @end @implementation AWSEC2LoadBalancersConfig + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"classicLoadBalancersConfig" : @"ClassicLoadBalancersConfig", @"targetGroupsConfig" : @"TargetGroupsConfig", }; } + (NSValueTransformer *)classicLoadBalancersConfigJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClassicLoadBalancersConfig class]]; } + (NSValueTransformer *)targetGroupsConfigJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TargetGroupsConfig class]]; } @end @implementation AWSEC2LoadPermission + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"group" : @"Group", @"userId" : @"UserId", }; } + (NSValueTransformer *)groupJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"all"] == NSOrderedSame) { return @(AWSEC2PermissionGroupAll); } return @(AWSEC2PermissionGroupUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PermissionGroupAll: return @"all"; default: return nil; } }]; } @end @implementation AWSEC2LoadPermissionModifications + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"add" : @"Add", @"remove" : @"Remove", }; } + (NSValueTransformer *)addJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LoadPermissionRequest class]]; } + (NSValueTransformer *)removeJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LoadPermissionRequest class]]; } @end @implementation AWSEC2LoadPermissionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"group" : @"Group", @"userId" : @"UserId", }; } + (NSValueTransformer *)groupJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"all"] == NSOrderedSame) { return @(AWSEC2PermissionGroupAll); } return @(AWSEC2PermissionGroupUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PermissionGroupAll: return @"all"; default: return nil; } }]; } @end @implementation AWSEC2LocalGateway + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayId" : @"LocalGatewayId", @"outpostArn" : @"OutpostArn", @"ownerId" : @"OwnerId", @"state" : @"State", @"tags" : @"Tags", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2LocalGatewayRoute + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"coipPoolId" : @"CoipPoolId", @"destinationCidrBlock" : @"DestinationCidrBlock", @"destinationPrefixListId" : @"DestinationPrefixListId", @"localGatewayRouteTableArn" : @"LocalGatewayRouteTableArn", @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", @"localGatewayVirtualInterfaceGroupId" : @"LocalGatewayVirtualInterfaceGroupId", @"networkInterfaceId" : @"NetworkInterfaceId", @"ownerId" : @"OwnerId", @"state" : @"State", @"subnetId" : @"SubnetId", @"types" : @"Type", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2LocalGatewayRouteStatePending); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2LocalGatewayRouteStateActive); } if ([value caseInsensitiveCompare:@"blackhole"] == NSOrderedSame) { return @(AWSEC2LocalGatewayRouteStateBlackhole); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2LocalGatewayRouteStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2LocalGatewayRouteStateDeleted); } return @(AWSEC2LocalGatewayRouteStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LocalGatewayRouteStatePending: return @"pending"; case AWSEC2LocalGatewayRouteStateActive: return @"active"; case AWSEC2LocalGatewayRouteStateBlackhole: return @"blackhole"; case AWSEC2LocalGatewayRouteStateDeleting: return @"deleting"; case AWSEC2LocalGatewayRouteStateDeleted: return @"deleted"; default: return nil; } }]; } + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"static"] == NSOrderedSame) { return @(AWSEC2LocalGatewayRouteTypeStatic); } if ([value caseInsensitiveCompare:@"propagated"] == NSOrderedSame) { return @(AWSEC2LocalGatewayRouteTypePropagated); } return @(AWSEC2LocalGatewayRouteTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LocalGatewayRouteTypeStatic: return @"static"; case AWSEC2LocalGatewayRouteTypePropagated: return @"propagated"; default: return nil; } }]; } @end @implementation AWSEC2LocalGatewayRouteTable + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayId" : @"LocalGatewayId", @"localGatewayRouteTableArn" : @"LocalGatewayRouteTableArn", @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", @"mode" : @"Mode", @"outpostArn" : @"OutpostArn", @"ownerId" : @"OwnerId", @"state" : @"State", @"stateReason" : @"StateReason", @"tags" : @"Tags", }; } + (NSValueTransformer *)modeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"direct-vpc-routing"] == NSOrderedSame) { return @(AWSEC2LocalGatewayRouteTableModeDirectVpcRouting); } if ([value caseInsensitiveCompare:@"coip"] == NSOrderedSame) { return @(AWSEC2LocalGatewayRouteTableModeCoip); } return @(AWSEC2LocalGatewayRouteTableModeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LocalGatewayRouteTableModeDirectVpcRouting: return @"direct-vpc-routing"; case AWSEC2LocalGatewayRouteTableModeCoip: return @"coip"; default: return nil; } }]; } + (NSValueTransformer *)stateReasonJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2StateReason class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2LocalGatewayRouteTableVirtualInterfaceGroupAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayId" : @"LocalGatewayId", @"localGatewayRouteTableArn" : @"LocalGatewayRouteTableArn", @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", @"localGatewayRouteTableVirtualInterfaceGroupAssociationId" : @"LocalGatewayRouteTableVirtualInterfaceGroupAssociationId", @"localGatewayVirtualInterfaceGroupId" : @"LocalGatewayVirtualInterfaceGroupId", @"ownerId" : @"OwnerId", @"state" : @"State", @"tags" : @"Tags", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2LocalGatewayRouteTableVpcAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayId" : @"LocalGatewayId", @"localGatewayRouteTableArn" : @"LocalGatewayRouteTableArn", @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", @"localGatewayRouteTableVpcAssociationId" : @"LocalGatewayRouteTableVpcAssociationId", @"ownerId" : @"OwnerId", @"state" : @"State", @"tags" : @"Tags", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2LocalGatewayVirtualInterface + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localAddress" : @"LocalAddress", @"localBgpAsn" : @"LocalBgpAsn", @"localGatewayId" : @"LocalGatewayId", @"localGatewayVirtualInterfaceId" : @"LocalGatewayVirtualInterfaceId", @"ownerId" : @"OwnerId", @"peerAddress" : @"PeerAddress", @"peerBgpAsn" : @"PeerBgpAsn", @"tags" : @"Tags", @"vlan" : @"Vlan", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2LocalGatewayVirtualInterfaceGroup + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"localGatewayId" : @"LocalGatewayId", @"localGatewayVirtualInterfaceGroupId" : @"LocalGatewayVirtualInterfaceGroupId", @"localGatewayVirtualInterfaceIds" : @"LocalGatewayVirtualInterfaceIds", @"ownerId" : @"OwnerId", @"tags" : @"Tags", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2MaintenanceDetails + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"lastMaintenanceApplied" : @"LastMaintenanceApplied", @"maintenanceAutoAppliedAfter" : @"MaintenanceAutoAppliedAfter", @"pendingMaintenance" : @"PendingMaintenance", }; } + (NSValueTransformer *)lastMaintenanceAppliedJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)maintenanceAutoAppliedAfterJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2ManagedPrefixList + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addressFamily" : @"AddressFamily", @"maxEntries" : @"MaxEntries", @"ownerId" : @"OwnerId", @"prefixListArn" : @"PrefixListArn", @"prefixListId" : @"PrefixListId", @"prefixListName" : @"PrefixListName", @"state" : @"State", @"stateMessage" : @"StateMessage", @"tags" : @"Tags", @"version" : @"Version", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"create-in-progress"] == NSOrderedSame) { return @(AWSEC2PrefixListStateCreateInProgress); } if ([value caseInsensitiveCompare:@"create-complete"] == NSOrderedSame) { return @(AWSEC2PrefixListStateCreateComplete); } if ([value caseInsensitiveCompare:@"create-failed"] == NSOrderedSame) { return @(AWSEC2PrefixListStateCreateFailed); } if ([value caseInsensitiveCompare:@"modify-in-progress"] == NSOrderedSame) { return @(AWSEC2PrefixListStateModifyInProgress); } if ([value caseInsensitiveCompare:@"modify-complete"] == NSOrderedSame) { return @(AWSEC2PrefixListStateModifyComplete); } if ([value caseInsensitiveCompare:@"modify-failed"] == NSOrderedSame) { return @(AWSEC2PrefixListStateModifyFailed); } if ([value caseInsensitiveCompare:@"restore-in-progress"] == NSOrderedSame) { return @(AWSEC2PrefixListStateRestoreInProgress); } if ([value caseInsensitiveCompare:@"restore-complete"] == NSOrderedSame) { return @(AWSEC2PrefixListStateRestoreComplete); } if ([value caseInsensitiveCompare:@"restore-failed"] == NSOrderedSame) { return @(AWSEC2PrefixListStateRestoreFailed); } if ([value caseInsensitiveCompare:@"delete-in-progress"] == NSOrderedSame) { return @(AWSEC2PrefixListStateDeleteInProgress); } if ([value caseInsensitiveCompare:@"delete-complete"] == NSOrderedSame) { return @(AWSEC2PrefixListStateDeleteComplete); } if ([value caseInsensitiveCompare:@"delete-failed"] == NSOrderedSame) { return @(AWSEC2PrefixListStateDeleteFailed); } return @(AWSEC2PrefixListStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PrefixListStateCreateInProgress: return @"create-in-progress"; case AWSEC2PrefixListStateCreateComplete: return @"create-complete"; case AWSEC2PrefixListStateCreateFailed: return @"create-failed"; case AWSEC2PrefixListStateModifyInProgress: return @"modify-in-progress"; case AWSEC2PrefixListStateModifyComplete: return @"modify-complete"; case AWSEC2PrefixListStateModifyFailed: return @"modify-failed"; case AWSEC2PrefixListStateRestoreInProgress: return @"restore-in-progress"; case AWSEC2PrefixListStateRestoreComplete: return @"restore-complete"; case AWSEC2PrefixListStateRestoreFailed: return @"restore-failed"; case AWSEC2PrefixListStateDeleteInProgress: return @"delete-in-progress"; case AWSEC2PrefixListStateDeleteComplete: return @"delete-complete"; case AWSEC2PrefixListStateDeleteFailed: return @"delete-failed"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2MemoryGiBPerVCpu + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2MemoryGiBPerVCpuRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2MemoryInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"sizeInMiB" : @"SizeInMiB", }; } @end @implementation AWSEC2MemoryMiB + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2MemoryMiBRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2MetricPoint + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"endDate" : @"EndDate", @"startDate" : @"StartDate", @"status" : @"Status", @"value" : @"Value", }; } + (NSValueTransformer *)endDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)startDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2ModifyAddressAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationId" : @"AllocationId", @"domainName" : @"DomainName", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2ModifyAddressAttributeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"address" : @"Address", }; } + (NSValueTransformer *)addressJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AddressAttribute class]]; } @end @implementation AWSEC2ModifyAvailabilityZoneGroupRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"groupName" : @"GroupName", @"optInStatus" : @"OptInStatus", }; } + (NSValueTransformer *)optInStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"opted-in"] == NSOrderedSame) { return @(AWSEC2ModifyAvailabilityZoneOptInStatusOptedIn); } if ([value caseInsensitiveCompare:@"not-opted-in"] == NSOrderedSame) { return @(AWSEC2ModifyAvailabilityZoneOptInStatusNotOptedIn); } return @(AWSEC2ModifyAvailabilityZoneOptInStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ModifyAvailabilityZoneOptInStatusOptedIn: return @"opted-in"; case AWSEC2ModifyAvailabilityZoneOptInStatusNotOptedIn: return @"not-opted-in"; default: return nil; } }]; } @end @implementation AWSEC2ModifyAvailabilityZoneGroupResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ModifyCapacityReservationFleetRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationFleetId" : @"CapacityReservationFleetId", @"dryRun" : @"DryRun", @"endDate" : @"EndDate", @"removeEndDate" : @"RemoveEndDate", @"totalTargetCapacity" : @"TotalTargetCapacity", }; } + (NSValueTransformer *)endDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2ModifyCapacityReservationFleetResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ModifyCapacityReservationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"accept" : @"Accept", @"additionalInfo" : @"AdditionalInfo", @"capacityReservationId" : @"CapacityReservationId", @"dryRun" : @"DryRun", @"endDate" : @"EndDate", @"endDateType" : @"EndDateType", @"instanceCount" : @"InstanceCount", }; } + (NSValueTransformer *)endDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)endDateTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"unlimited"] == NSOrderedSame) { return @(AWSEC2EndDateTypeUnlimited); } if ([value caseInsensitiveCompare:@"limited"] == NSOrderedSame) { return @(AWSEC2EndDateTypeLimited); } return @(AWSEC2EndDateTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2EndDateTypeUnlimited: return @"unlimited"; case AWSEC2EndDateTypeLimited: return @"limited"; default: return nil; } }]; } @end @implementation AWSEC2ModifyCapacityReservationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ModifyClientVpnEndpointRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientConnectOptions" : @"ClientConnectOptions", @"clientLoginBannerOptions" : @"ClientLoginBannerOptions", @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"connectionLogOptions" : @"ConnectionLogOptions", @"detail" : @"Description", @"dnsServers" : @"DnsServers", @"dryRun" : @"DryRun", @"securityGroupIds" : @"SecurityGroupIds", @"selfServicePortal" : @"SelfServicePortal", @"serverCertificateArn" : @"ServerCertificateArn", @"sessionTimeoutHours" : @"SessionTimeoutHours", @"splitTunnel" : @"SplitTunnel", @"vpcId" : @"VpcId", @"vpnPort" : @"VpnPort", }; } + (NSValueTransformer *)clientConnectOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientConnectOptions class]]; } + (NSValueTransformer *)clientLoginBannerOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientLoginBannerOptions class]]; } + (NSValueTransformer *)connectionLogOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ConnectionLogOptions class]]; } + (NSValueTransformer *)dnsServersJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DnsServersOptionsModifyStructure class]]; } + (NSValueTransformer *)selfServicePortalJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2SelfServicePortalEnabled); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2SelfServicePortalDisabled); } return @(AWSEC2SelfServicePortalUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SelfServicePortalEnabled: return @"enabled"; case AWSEC2SelfServicePortalDisabled: return @"disabled"; default: return nil; } }]; } @end @implementation AWSEC2ModifyClientVpnEndpointResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ModifyDefaultCreditSpecificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cpuCredits" : @"CpuCredits", @"dryRun" : @"DryRun", @"instanceFamily" : @"InstanceFamily", }; } + (NSValueTransformer *)instanceFamilyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"t2"] == NSOrderedSame) { return @(AWSEC2UnlimitedSupportedInstanceFamilyT2); } if ([value caseInsensitiveCompare:@"t3"] == NSOrderedSame) { return @(AWSEC2UnlimitedSupportedInstanceFamilyT3); } if ([value caseInsensitiveCompare:@"t3a"] == NSOrderedSame) { return @(AWSEC2UnlimitedSupportedInstanceFamilyT3a); } if ([value caseInsensitiveCompare:@"t4g"] == NSOrderedSame) { return @(AWSEC2UnlimitedSupportedInstanceFamilyT4g); } return @(AWSEC2UnlimitedSupportedInstanceFamilyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2UnlimitedSupportedInstanceFamilyT2: return @"t2"; case AWSEC2UnlimitedSupportedInstanceFamilyT3: return @"t3"; case AWSEC2UnlimitedSupportedInstanceFamilyT3a: return @"t3a"; case AWSEC2UnlimitedSupportedInstanceFamilyT4g: return @"t4g"; default: return nil; } }]; } @end @implementation AWSEC2ModifyDefaultCreditSpecificationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceFamilyCreditSpecification" : @"InstanceFamilyCreditSpecification", }; } + (NSValueTransformer *)instanceFamilyCreditSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceFamilyCreditSpecification class]]; } @end @implementation AWSEC2ModifyEbsDefaultKmsKeyIdRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"kmsKeyId" : @"KmsKeyId", }; } @end @implementation AWSEC2ModifyEbsDefaultKmsKeyIdResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"kmsKeyId" : @"KmsKeyId", }; } @end @implementation AWSEC2ModifyFleetRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"context" : @"Context", @"dryRun" : @"DryRun", @"excessCapacityTerminationPolicy" : @"ExcessCapacityTerminationPolicy", @"fleetId" : @"FleetId", @"launchTemplateConfigs" : @"LaunchTemplateConfigs", @"targetCapacitySpecification" : @"TargetCapacitySpecification", }; } + (NSValueTransformer *)excessCapacityTerminationPolicyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"no-termination"] == NSOrderedSame) { return @(AWSEC2FleetExcessCapacityTerminationPolicyNoTermination); } if ([value caseInsensitiveCompare:@"termination"] == NSOrderedSame) { return @(AWSEC2FleetExcessCapacityTerminationPolicyTermination); } return @(AWSEC2FleetExcessCapacityTerminationPolicyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetExcessCapacityTerminationPolicyNoTermination: return @"no-termination"; case AWSEC2FleetExcessCapacityTerminationPolicyTermination: return @"termination"; default: return nil; } }]; } + (NSValueTransformer *)launchTemplateConfigsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2FleetLaunchTemplateConfigRequest class]]; } + (NSValueTransformer *)targetCapacitySpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TargetCapacitySpecificationRequest class]]; } @end @implementation AWSEC2ModifyFleetResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ModifyFpgaImageAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attribute" : @"Attribute", @"detail" : @"Description", @"dryRun" : @"DryRun", @"fpgaImageId" : @"FpgaImageId", @"loadPermission" : @"LoadPermission", @"name" : @"Name", @"operationType" : @"OperationType", @"productCodes" : @"ProductCodes", @"userGroups" : @"UserGroups", @"userIds" : @"UserIds", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"description"] == NSOrderedSame) { return @(AWSEC2FpgaImageAttributeNameDescription); } if ([value caseInsensitiveCompare:@"name"] == NSOrderedSame) { return @(AWSEC2FpgaImageAttributeNameName); } if ([value caseInsensitiveCompare:@"loadPermission"] == NSOrderedSame) { return @(AWSEC2FpgaImageAttributeNameLoadPermission); } if ([value caseInsensitiveCompare:@"productCodes"] == NSOrderedSame) { return @(AWSEC2FpgaImageAttributeNameProductCodes); } return @(AWSEC2FpgaImageAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FpgaImageAttributeNameDescription: return @"description"; case AWSEC2FpgaImageAttributeNameName: return @"name"; case AWSEC2FpgaImageAttributeNameLoadPermission: return @"loadPermission"; case AWSEC2FpgaImageAttributeNameProductCodes: return @"productCodes"; default: return nil; } }]; } + (NSValueTransformer *)loadPermissionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LoadPermissionModifications class]]; } + (NSValueTransformer *)operationTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"add"] == NSOrderedSame) { return @(AWSEC2OperationTypeAdd); } if ([value caseInsensitiveCompare:@"remove"] == NSOrderedSame) { return @(AWSEC2OperationTypeRemove); } return @(AWSEC2OperationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2OperationTypeAdd: return @"add"; case AWSEC2OperationTypeRemove: return @"remove"; default: return nil; } }]; } @end @implementation AWSEC2ModifyFpgaImageAttributeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fpgaImageAttribute" : @"FpgaImageAttribute", }; } + (NSValueTransformer *)fpgaImageAttributeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FpgaImageAttribute class]]; } @end @implementation AWSEC2ModifyHostsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"autoPlacement" : @"AutoPlacement", @"hostIds" : @"HostIds", @"hostMaintenance" : @"HostMaintenance", @"hostRecovery" : @"HostRecovery", @"instanceFamily" : @"InstanceFamily", @"instanceType" : @"InstanceType", }; } + (NSValueTransformer *)autoPlacementJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"on"] == NSOrderedSame) { return @(AWSEC2AutoPlacementOn); } if ([value caseInsensitiveCompare:@"off"] == NSOrderedSame) { return @(AWSEC2AutoPlacementOff); } return @(AWSEC2AutoPlacementUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AutoPlacementOn: return @"on"; case AWSEC2AutoPlacementOff: return @"off"; default: return nil; } }]; } + (NSValueTransformer *)hostMaintenanceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"on"] == NSOrderedSame) { return @(AWSEC2HostMaintenanceOn); } if ([value caseInsensitiveCompare:@"off"] == NSOrderedSame) { return @(AWSEC2HostMaintenanceOff); } return @(AWSEC2HostMaintenanceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HostMaintenanceOn: return @"on"; case AWSEC2HostMaintenanceOff: return @"off"; default: return nil; } }]; } + (NSValueTransformer *)hostRecoveryJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"on"] == NSOrderedSame) { return @(AWSEC2HostRecoveryOn); } if ([value caseInsensitiveCompare:@"off"] == NSOrderedSame) { return @(AWSEC2HostRecoveryOff); } return @(AWSEC2HostRecoveryUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HostRecoveryOn: return @"on"; case AWSEC2HostRecoveryOff: return @"off"; default: return nil; } }]; } @end @implementation AWSEC2ModifyHostsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"successful" : @"Successful", @"unsuccessful" : @"Unsuccessful", }; } + (NSValueTransformer *)unsuccessfulJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2UnsuccessfulItem class]]; } @end @implementation AWSEC2ModifyIdFormatRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resource" : @"Resource", @"useLongIds" : @"UseLongIds", }; } @end @implementation AWSEC2ModifyIdentityIdFormatRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"principalArn" : @"PrincipalArn", @"resource" : @"Resource", @"useLongIds" : @"UseLongIds", }; } @end @implementation AWSEC2ModifyImageAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attribute" : @"Attribute", @"detail" : @"Description", @"dryRun" : @"DryRun", @"imageId" : @"ImageId", @"imdsSupport" : @"ImdsSupport", @"launchPermission" : @"LaunchPermission", @"operationType" : @"OperationType", @"organizationArns" : @"OrganizationArns", @"organizationalUnitArns" : @"OrganizationalUnitArns", @"productCodes" : @"ProductCodes", @"userGroups" : @"UserGroups", @"userIds" : @"UserIds", @"value" : @"Value", }; } + (NSValueTransformer *)detailJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)imdsSupportJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)launchPermissionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchPermissionModifications class]]; } + (NSValueTransformer *)operationTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"add"] == NSOrderedSame) { return @(AWSEC2OperationTypeAdd); } if ([value caseInsensitiveCompare:@"remove"] == NSOrderedSame) { return @(AWSEC2OperationTypeRemove); } return @(AWSEC2OperationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2OperationTypeAdd: return @"add"; case AWSEC2OperationTypeRemove: return @"remove"; default: return nil; } }]; } @end @implementation AWSEC2ModifyInstanceAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attribute" : @"Attribute", @"blockDeviceMappings" : @"BlockDeviceMappings", @"disableApiStop" : @"DisableApiStop", @"disableApiTermination" : @"DisableApiTermination", @"dryRun" : @"DryRun", @"ebsOptimized" : @"EbsOptimized", @"enaSupport" : @"EnaSupport", @"groups" : @"Groups", @"instanceId" : @"InstanceId", @"instanceInitiatedShutdownBehavior" : @"InstanceInitiatedShutdownBehavior", @"instanceType" : @"InstanceType", @"kernel" : @"Kernel", @"ramdisk" : @"Ramdisk", @"sourceDestCheck" : @"SourceDestCheck", @"sriovNetSupport" : @"SriovNetSupport", @"userData" : @"UserData", @"value" : @"Value", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"instanceType"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameInstanceType); } if ([value caseInsensitiveCompare:@"kernel"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameKernel); } if ([value caseInsensitiveCompare:@"ramdisk"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameRAMDisk); } if ([value caseInsensitiveCompare:@"userData"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameUserData); } if ([value caseInsensitiveCompare:@"disableApiTermination"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameDisableApiTermination); } if ([value caseInsensitiveCompare:@"instanceInitiatedShutdownBehavior"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameInstanceInitiatedShutdownBehavior); } if ([value caseInsensitiveCompare:@"rootDeviceName"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameRootDeviceName); } if ([value caseInsensitiveCompare:@"blockDeviceMapping"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameBlockDeviceMapping); } if ([value caseInsensitiveCompare:@"productCodes"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameProductCodes); } if ([value caseInsensitiveCompare:@"sourceDestCheck"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameSourceDestCheck); } if ([value caseInsensitiveCompare:@"groupSet"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameGroupSet); } if ([value caseInsensitiveCompare:@"ebsOptimized"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameEBSOptimized); } if ([value caseInsensitiveCompare:@"sriovNetSupport"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameSriovNetSupport); } if ([value caseInsensitiveCompare:@"enaSupport"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameEnaSupport); } if ([value caseInsensitiveCompare:@"enclaveOptions"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameEnclaveOptions); } if ([value caseInsensitiveCompare:@"disableApiStop"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameDisableApiStop); } return @(AWSEC2InstanceAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceAttributeNameInstanceType: return @"instanceType"; case AWSEC2InstanceAttributeNameKernel: return @"kernel"; case AWSEC2InstanceAttributeNameRAMDisk: return @"ramdisk"; case AWSEC2InstanceAttributeNameUserData: return @"userData"; case AWSEC2InstanceAttributeNameDisableApiTermination: return @"disableApiTermination"; case AWSEC2InstanceAttributeNameInstanceInitiatedShutdownBehavior: return @"instanceInitiatedShutdownBehavior"; case AWSEC2InstanceAttributeNameRootDeviceName: return @"rootDeviceName"; case AWSEC2InstanceAttributeNameBlockDeviceMapping: return @"blockDeviceMapping"; case AWSEC2InstanceAttributeNameProductCodes: return @"productCodes"; case AWSEC2InstanceAttributeNameSourceDestCheck: return @"sourceDestCheck"; case AWSEC2InstanceAttributeNameGroupSet: return @"groupSet"; case AWSEC2InstanceAttributeNameEBSOptimized: return @"ebsOptimized"; case AWSEC2InstanceAttributeNameSriovNetSupport: return @"sriovNetSupport"; case AWSEC2InstanceAttributeNameEnaSupport: return @"enaSupport"; case AWSEC2InstanceAttributeNameEnclaveOptions: return @"enclaveOptions"; case AWSEC2InstanceAttributeNameDisableApiStop: return @"disableApiStop"; default: return nil; } }]; } + (NSValueTransformer *)blockDeviceMappingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceBlockDeviceMappingSpecification class]]; } + (NSValueTransformer *)disableApiStopJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)disableApiTerminationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)ebsOptimizedJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)enaSupportJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)instanceInitiatedShutdownBehaviorJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)kernelJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)ramdiskJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)sourceDestCheckJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)sriovNetSupportJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)userDataJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2BlobAttributeValue class]]; } @end @implementation AWSEC2ModifyInstanceCapacityReservationAttributesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityReservationSpecification" : @"CapacityReservationSpecification", @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", }; } + (NSValueTransformer *)capacityReservationSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CapacityReservationSpecification class]]; } @end @implementation AWSEC2ModifyInstanceCapacityReservationAttributesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ModifyInstanceCreditSpecificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"instanceCreditSpecifications" : @"InstanceCreditSpecifications", }; } + (NSValueTransformer *)instanceCreditSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceCreditSpecificationRequest class]]; } @end @implementation AWSEC2ModifyInstanceCreditSpecificationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"successfulInstanceCreditSpecifications" : @"SuccessfulInstanceCreditSpecifications", @"unsuccessfulInstanceCreditSpecifications" : @"UnsuccessfulInstanceCreditSpecifications", }; } + (NSValueTransformer *)successfulInstanceCreditSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SuccessfulInstanceCreditSpecificationItem class]]; } + (NSValueTransformer *)unsuccessfulInstanceCreditSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2UnsuccessfulInstanceCreditSpecificationItem class]]; } @end @implementation AWSEC2ModifyInstanceEventStartTimeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceEventId" : @"InstanceEventId", @"instanceId" : @"InstanceId", @"notBefore" : @"NotBefore", }; } + (NSValueTransformer *)notBeforeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2ModifyInstanceEventStartTimeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"event" : @"Event", }; } + (NSValueTransformer *)eventJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceStatusEvent class]]; } @end @implementation AWSEC2ModifyInstanceEventWindowRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cronExpression" : @"CronExpression", @"dryRun" : @"DryRun", @"instanceEventWindowId" : @"InstanceEventWindowId", @"name" : @"Name", @"timeRanges" : @"TimeRanges", }; } + (NSValueTransformer *)timeRangesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceEventWindowTimeRangeRequest class]]; } @end @implementation AWSEC2ModifyInstanceEventWindowResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceEventWindow" : @"InstanceEventWindow", }; } + (NSValueTransformer *)instanceEventWindowJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceEventWindow class]]; } @end @implementation AWSEC2ModifyInstanceMaintenanceOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"autoRecovery" : @"AutoRecovery", @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", }; } + (NSValueTransformer *)autoRecoveryJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2InstanceAutoRecoveryStateDisabled); } if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2InstanceAutoRecoveryStateDefault); } return @(AWSEC2InstanceAutoRecoveryStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceAutoRecoveryStateDisabled: return @"disabled"; case AWSEC2InstanceAutoRecoveryStateDefault: return @"default"; default: return nil; } }]; } @end @implementation AWSEC2ModifyInstanceMaintenanceOptionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"autoRecovery" : @"AutoRecovery", @"instanceId" : @"InstanceId", }; } + (NSValueTransformer *)autoRecoveryJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2InstanceAutoRecoveryStateDisabled); } if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2InstanceAutoRecoveryStateDefault); } return @(AWSEC2InstanceAutoRecoveryStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceAutoRecoveryStateDisabled: return @"disabled"; case AWSEC2InstanceAutoRecoveryStateDefault: return @"default"; default: return nil; } }]; } @end @implementation AWSEC2ModifyInstanceMetadataOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"httpEndpoint" : @"HttpEndpoint", @"httpProtocolIpv6" : @"HttpProtocolIpv6", @"httpPutResponseHopLimit" : @"HttpPutResponseHopLimit", @"httpTokens" : @"HttpTokens", @"instanceId" : @"InstanceId", @"instanceMetadataTags" : @"InstanceMetadataTags", }; } + (NSValueTransformer *)httpEndpointJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataEndpointStateDisabled); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataEndpointStateEnabled); } return @(AWSEC2InstanceMetadataEndpointStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceMetadataEndpointStateDisabled: return @"disabled"; case AWSEC2InstanceMetadataEndpointStateEnabled: return @"enabled"; default: return nil; } }]; } + (NSValueTransformer *)httpProtocolIpv6JSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataProtocolStateDisabled); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataProtocolStateEnabled); } return @(AWSEC2InstanceMetadataProtocolStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceMetadataProtocolStateDisabled: return @"disabled"; case AWSEC2InstanceMetadataProtocolStateEnabled: return @"enabled"; default: return nil; } }]; } + (NSValueTransformer *)httpTokensJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"optional"] == NSOrderedSame) { return @(AWSEC2HttpTokensStateOptional); } if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { return @(AWSEC2HttpTokensStateRequired); } return @(AWSEC2HttpTokensStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HttpTokensStateOptional: return @"optional"; case AWSEC2HttpTokensStateRequired: return @"required"; default: return nil; } }]; } + (NSValueTransformer *)instanceMetadataTagsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataTagsStateDisabled); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2InstanceMetadataTagsStateEnabled); } return @(AWSEC2InstanceMetadataTagsStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceMetadataTagsStateDisabled: return @"disabled"; case AWSEC2InstanceMetadataTagsStateEnabled: return @"enabled"; default: return nil; } }]; } @end @implementation AWSEC2ModifyInstanceMetadataOptionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceId" : @"InstanceId", @"instanceMetadataOptions" : @"InstanceMetadataOptions", }; } + (NSValueTransformer *)instanceMetadataOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceMetadataOptionsResponse class]]; } @end @implementation AWSEC2ModifyInstancePlacementRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"affinity" : @"Affinity", @"groupId" : @"GroupId", @"groupName" : @"GroupName", @"hostId" : @"HostId", @"hostResourceGroupArn" : @"HostResourceGroupArn", @"instanceId" : @"InstanceId", @"partitionNumber" : @"PartitionNumber", @"tenancy" : @"Tenancy", }; } + (NSValueTransformer *)affinityJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2AffinityDefault); } if ([value caseInsensitiveCompare:@"host"] == NSOrderedSame) { return @(AWSEC2AffinityHost); } return @(AWSEC2AffinityUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AffinityDefault: return @"default"; case AWSEC2AffinityHost: return @"host"; default: return nil; } }]; } + (NSValueTransformer *)tenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"dedicated"] == NSOrderedSame) { return @(AWSEC2HostTenancyDedicated); } if ([value caseInsensitiveCompare:@"host"] == NSOrderedSame) { return @(AWSEC2HostTenancyHost); } return @(AWSEC2HostTenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HostTenancyDedicated: return @"dedicated"; case AWSEC2HostTenancyHost: return @"host"; default: return nil; } }]; } @end @implementation AWSEC2ModifyInstancePlacementResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ModifyIpamPoolRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addAllocationResourceTags" : @"AddAllocationResourceTags", @"allocationDefaultNetmaskLength" : @"AllocationDefaultNetmaskLength", @"allocationMaxNetmaskLength" : @"AllocationMaxNetmaskLength", @"allocationMinNetmaskLength" : @"AllocationMinNetmaskLength", @"autoImport" : @"AutoImport", @"clearAllocationDefaultNetmaskLength" : @"ClearAllocationDefaultNetmaskLength", @"detail" : @"Description", @"dryRun" : @"DryRun", @"ipamPoolId" : @"IpamPoolId", @"removeAllocationResourceTags" : @"RemoveAllocationResourceTags", }; } + (NSValueTransformer *)addAllocationResourceTagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2RequestIpamResourceTag class]]; } + (NSValueTransformer *)removeAllocationResourceTagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2RequestIpamResourceTag class]]; } @end @implementation AWSEC2ModifyIpamPoolResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamPool" : @"IpamPool", }; } + (NSValueTransformer *)ipamPoolJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamPool class]]; } @end @implementation AWSEC2ModifyIpamRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addOperatingRegions" : @"AddOperatingRegions", @"detail" : @"Description", @"dryRun" : @"DryRun", @"ipamId" : @"IpamId", @"removeOperatingRegions" : @"RemoveOperatingRegions", }; } + (NSValueTransformer *)addOperatingRegionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AddIpamOperatingRegion class]]; } + (NSValueTransformer *)removeOperatingRegionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2RemoveIpamOperatingRegion class]]; } @end @implementation AWSEC2ModifyIpamResourceCidrRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"currentIpamScopeId" : @"CurrentIpamScopeId", @"destinationIpamScopeId" : @"DestinationIpamScopeId", @"dryRun" : @"DryRun", @"monitored" : @"Monitored", @"resourceCidr" : @"ResourceCidr", @"resourceId" : @"ResourceId", @"resourceRegion" : @"ResourceRegion", }; } @end @implementation AWSEC2ModifyIpamResourceCidrResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamResourceCidr" : @"IpamResourceCidr", }; } + (NSValueTransformer *)ipamResourceCidrJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamResourceCidr class]]; } @end @implementation AWSEC2ModifyIpamResourceDiscoveryRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addOperatingRegions" : @"AddOperatingRegions", @"detail" : @"Description", @"dryRun" : @"DryRun", @"ipamResourceDiscoveryId" : @"IpamResourceDiscoveryId", @"removeOperatingRegions" : @"RemoveOperatingRegions", }; } + (NSValueTransformer *)addOperatingRegionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AddIpamOperatingRegion class]]; } + (NSValueTransformer *)removeOperatingRegionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2RemoveIpamOperatingRegion class]]; } @end @implementation AWSEC2ModifyIpamResourceDiscoveryResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamResourceDiscovery" : @"IpamResourceDiscovery", }; } + (NSValueTransformer *)ipamResourceDiscoveryJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamResourceDiscovery class]]; } @end @implementation AWSEC2ModifyIpamResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipam" : @"Ipam", }; } + (NSValueTransformer *)ipamJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Ipam class]]; } @end @implementation AWSEC2ModifyIpamScopeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"dryRun" : @"DryRun", @"ipamScopeId" : @"IpamScopeId", }; } @end @implementation AWSEC2ModifyIpamScopeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamScope" : @"IpamScope", }; } + (NSValueTransformer *)ipamScopeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamScope class]]; } @end @implementation AWSEC2ModifyLaunchTemplateRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"defaultVersion" : @"DefaultVersion", @"dryRun" : @"DryRun", @"launchTemplateId" : @"LaunchTemplateId", @"launchTemplateName" : @"LaunchTemplateName", }; } @end @implementation AWSEC2ModifyLaunchTemplateResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"launchTemplate" : @"LaunchTemplate", }; } + (NSValueTransformer *)launchTemplateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplate class]]; } @end @implementation AWSEC2ModifyLocalGatewayRouteRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationCidrBlock" : @"DestinationCidrBlock", @"destinationPrefixListId" : @"DestinationPrefixListId", @"dryRun" : @"DryRun", @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", @"localGatewayVirtualInterfaceGroupId" : @"LocalGatewayVirtualInterfaceGroupId", @"networkInterfaceId" : @"NetworkInterfaceId", }; } @end @implementation AWSEC2ModifyLocalGatewayRouteResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"route" : @"Route", }; } + (NSValueTransformer *)routeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LocalGatewayRoute class]]; } @end @implementation AWSEC2ModifyManagedPrefixListRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addEntries" : @"AddEntries", @"currentVersion" : @"CurrentVersion", @"dryRun" : @"DryRun", @"maxEntries" : @"MaxEntries", @"prefixListId" : @"PrefixListId", @"prefixListName" : @"PrefixListName", @"removeEntries" : @"RemoveEntries", }; } + (NSValueTransformer *)addEntriesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AddPrefixListEntry class]]; } + (NSValueTransformer *)removeEntriesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2RemovePrefixListEntry class]]; } @end @implementation AWSEC2ModifyManagedPrefixListResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"prefixList" : @"PrefixList", }; } + (NSValueTransformer *)prefixListJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ManagedPrefixList class]]; } @end @implementation AWSEC2ModifyNetworkInterfaceAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attachment" : @"Attachment", @"detail" : @"Description", @"dryRun" : @"DryRun", @"enaSrdSpecification" : @"EnaSrdSpecification", @"groups" : @"Groups", @"networkInterfaceId" : @"NetworkInterfaceId", @"sourceDestCheck" : @"SourceDestCheck", }; } + (NSValueTransformer *)attachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInterfaceAttachmentChanges class]]; } + (NSValueTransformer *)detailJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeValue class]]; } + (NSValueTransformer *)enaSrdSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EnaSrdSpecification class]]; } + (NSValueTransformer *)sourceDestCheckJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } @end @implementation AWSEC2ModifyPrivateDnsNameOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"enableResourceNameDnsAAAARecord" : @"EnableResourceNameDnsAAAARecord", @"enableResourceNameDnsARecord" : @"EnableResourceNameDnsARecord", @"instanceId" : @"InstanceId", @"privateDnsHostnameType" : @"PrivateDnsHostnameType", }; } + (NSValueTransformer *)privateDnsHostnameTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ip-name"] == NSOrderedSame) { return @(AWSEC2HostnameTypeIpName); } if ([value caseInsensitiveCompare:@"resource-name"] == NSOrderedSame) { return @(AWSEC2HostnameTypeResourceName); } return @(AWSEC2HostnameTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HostnameTypeIpName: return @"ip-name"; case AWSEC2HostnameTypeResourceName: return @"resource-name"; default: return nil; } }]; } @end @implementation AWSEC2ModifyPrivateDnsNameOptionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ModifyReservedInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"reservedInstancesIds" : @"ReservedInstancesIds", @"targetConfigurations" : @"TargetConfigurations", }; } + (NSValueTransformer *)targetConfigurationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ReservedInstancesConfiguration class]]; } @end @implementation AWSEC2ModifyReservedInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"reservedInstancesModificationId" : @"ReservedInstancesModificationId", }; } @end @implementation AWSEC2ModifySecurityGroupRulesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"groupId" : @"GroupId", @"securityGroupRules" : @"SecurityGroupRules", }; } + (NSValueTransformer *)securityGroupRulesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SecurityGroupRuleUpdate class]]; } @end @implementation AWSEC2ModifySecurityGroupRulesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ModifySnapshotAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attribute" : @"Attribute", @"createVolumePermission" : @"CreateVolumePermission", @"dryRun" : @"DryRun", @"groupNames" : @"GroupNames", @"operationType" : @"OperationType", @"snapshotId" : @"SnapshotId", @"userIds" : @"UserIds", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"productCodes"] == NSOrderedSame) { return @(AWSEC2SnapshotAttributeNameProductCodes); } if ([value caseInsensitiveCompare:@"createVolumePermission"] == NSOrderedSame) { return @(AWSEC2SnapshotAttributeNameCreateVolumePermission); } return @(AWSEC2SnapshotAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SnapshotAttributeNameProductCodes: return @"productCodes"; case AWSEC2SnapshotAttributeNameCreateVolumePermission: return @"createVolumePermission"; default: return nil; } }]; } + (NSValueTransformer *)createVolumePermissionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CreateVolumePermissionModifications class]]; } + (NSValueTransformer *)operationTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"add"] == NSOrderedSame) { return @(AWSEC2OperationTypeAdd); } if ([value caseInsensitiveCompare:@"remove"] == NSOrderedSame) { return @(AWSEC2OperationTypeRemove); } return @(AWSEC2OperationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2OperationTypeAdd: return @"add"; case AWSEC2OperationTypeRemove: return @"remove"; default: return nil; } }]; } @end @implementation AWSEC2ModifySnapshotTierRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"snapshotId" : @"SnapshotId", @"storageTier" : @"StorageTier", }; } + (NSValueTransformer *)storageTierJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"archive"] == NSOrderedSame) { return @(AWSEC2TargetStorageTierArchive); } return @(AWSEC2TargetStorageTierUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TargetStorageTierArchive: return @"archive"; default: return nil; } }]; } @end @implementation AWSEC2ModifySnapshotTierResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"snapshotId" : @"SnapshotId", @"tieringStartTime" : @"TieringStartTime", }; } + (NSValueTransformer *)tieringStartTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2ModifySpotFleetRequestRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"context" : @"Context", @"excessCapacityTerminationPolicy" : @"ExcessCapacityTerminationPolicy", @"launchTemplateConfigs" : @"LaunchTemplateConfigs", @"onDemandTargetCapacity" : @"OnDemandTargetCapacity", @"spotFleetRequestId" : @"SpotFleetRequestId", @"targetCapacity" : @"TargetCapacity", }; } + (NSValueTransformer *)excessCapacityTerminationPolicyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"noTermination"] == NSOrderedSame) { return @(AWSEC2ExcessCapacityTerminationPolicyNoTermination); } if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2ExcessCapacityTerminationPolicyDefault); } return @(AWSEC2ExcessCapacityTerminationPolicyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ExcessCapacityTerminationPolicyNoTermination: return @"noTermination"; case AWSEC2ExcessCapacityTerminationPolicyDefault: return @"default"; default: return nil; } }]; } + (NSValueTransformer *)launchTemplateConfigsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchTemplateConfig class]]; } @end @implementation AWSEC2ModifySpotFleetRequestResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ModifySubnetAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"assignIpv6AddressOnCreation" : @"AssignIpv6AddressOnCreation", @"customerOwnedIpv4Pool" : @"CustomerOwnedIpv4Pool", @"disableLniAtDeviceIndex" : @"DisableLniAtDeviceIndex", @"enableDns64" : @"EnableDns64", @"enableLniAtDeviceIndex" : @"EnableLniAtDeviceIndex", @"enableResourceNameDnsAAAARecordOnLaunch" : @"EnableResourceNameDnsAAAARecordOnLaunch", @"enableResourceNameDnsARecordOnLaunch" : @"EnableResourceNameDnsARecordOnLaunch", @"mapCustomerOwnedIpOnLaunch" : @"MapCustomerOwnedIpOnLaunch", @"mapPublicIpOnLaunch" : @"MapPublicIpOnLaunch", @"privateDnsHostnameTypeOnLaunch" : @"PrivateDnsHostnameTypeOnLaunch", @"subnetId" : @"SubnetId", }; } + (NSValueTransformer *)assignIpv6AddressOnCreationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)disableLniAtDeviceIndexJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)enableDns64JSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)enableResourceNameDnsAAAARecordOnLaunchJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)enableResourceNameDnsARecordOnLaunchJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)mapCustomerOwnedIpOnLaunchJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)mapPublicIpOnLaunchJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)privateDnsHostnameTypeOnLaunchJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ip-name"] == NSOrderedSame) { return @(AWSEC2HostnameTypeIpName); } if ([value caseInsensitiveCompare:@"resource-name"] == NSOrderedSame) { return @(AWSEC2HostnameTypeResourceName); } return @(AWSEC2HostnameTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HostnameTypeIpName: return @"ip-name"; case AWSEC2HostnameTypeResourceName: return @"resource-name"; default: return nil; } }]; } @end @implementation AWSEC2ModifyTrafficMirrorFilterNetworkServicesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addNetworkServices" : @"AddNetworkServices", @"dryRun" : @"DryRun", @"removeNetworkServices" : @"RemoveNetworkServices", @"trafficMirrorFilterId" : @"TrafficMirrorFilterId", }; } @end @implementation AWSEC2ModifyTrafficMirrorFilterNetworkServicesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"trafficMirrorFilter" : @"TrafficMirrorFilter", }; } + (NSValueTransformer *)trafficMirrorFilterJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrafficMirrorFilter class]]; } @end @implementation AWSEC2ModifyTrafficMirrorFilterRuleRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"destinationCidrBlock" : @"DestinationCidrBlock", @"destinationPortRange" : @"DestinationPortRange", @"dryRun" : @"DryRun", @"protocols" : @"Protocol", @"removeFields" : @"RemoveFields", @"ruleAction" : @"RuleAction", @"ruleNumber" : @"RuleNumber", @"sourceCidrBlock" : @"SourceCidrBlock", @"sourcePortRange" : @"SourcePortRange", @"trafficDirection" : @"TrafficDirection", @"trafficMirrorFilterRuleId" : @"TrafficMirrorFilterRuleId", }; } + (NSValueTransformer *)destinationPortRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrafficMirrorPortRangeRequest class]]; } + (NSValueTransformer *)ruleActionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"accept"] == NSOrderedSame) { return @(AWSEC2TrafficMirrorRuleActionAccept); } if ([value caseInsensitiveCompare:@"reject"] == NSOrderedSame) { return @(AWSEC2TrafficMirrorRuleActionReject); } return @(AWSEC2TrafficMirrorRuleActionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TrafficMirrorRuleActionAccept: return @"accept"; case AWSEC2TrafficMirrorRuleActionReject: return @"reject"; default: return nil; } }]; } + (NSValueTransformer *)sourcePortRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrafficMirrorPortRangeRequest class]]; } + (NSValueTransformer *)trafficDirectionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ingress"] == NSOrderedSame) { return @(AWSEC2TrafficDirectionIngress); } if ([value caseInsensitiveCompare:@"egress"] == NSOrderedSame) { return @(AWSEC2TrafficDirectionEgress); } return @(AWSEC2TrafficDirectionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TrafficDirectionIngress: return @"ingress"; case AWSEC2TrafficDirectionEgress: return @"egress"; default: return nil; } }]; } @end @implementation AWSEC2ModifyTrafficMirrorFilterRuleResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"trafficMirrorFilterRule" : @"TrafficMirrorFilterRule", }; } + (NSValueTransformer *)trafficMirrorFilterRuleJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrafficMirrorFilterRule class]]; } @end @implementation AWSEC2ModifyTrafficMirrorSessionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"dryRun" : @"DryRun", @"packetLength" : @"PacketLength", @"removeFields" : @"RemoveFields", @"sessionNumber" : @"SessionNumber", @"trafficMirrorFilterId" : @"TrafficMirrorFilterId", @"trafficMirrorSessionId" : @"TrafficMirrorSessionId", @"trafficMirrorTargetId" : @"TrafficMirrorTargetId", @"virtualNetworkId" : @"VirtualNetworkId", }; } @end @implementation AWSEC2ModifyTrafficMirrorSessionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"trafficMirrorSession" : @"TrafficMirrorSession", }; } + (NSValueTransformer *)trafficMirrorSessionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrafficMirrorSession class]]; } @end @implementation AWSEC2ModifyTransitGatewayOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addTransitGatewayCidrBlocks" : @"AddTransitGatewayCidrBlocks", @"amazonSideAsn" : @"AmazonSideAsn", @"associationDefaultRouteTableId" : @"AssociationDefaultRouteTableId", @"autoAcceptSharedAttachments" : @"AutoAcceptSharedAttachments", @"defaultRouteTableAssociation" : @"DefaultRouteTableAssociation", @"defaultRouteTablePropagation" : @"DefaultRouteTablePropagation", @"dnsSupport" : @"DnsSupport", @"propagationDefaultRouteTableId" : @"PropagationDefaultRouteTableId", @"removeTransitGatewayCidrBlocks" : @"RemoveTransitGatewayCidrBlocks", @"vpnEcmpSupport" : @"VpnEcmpSupport", }; } + (NSValueTransformer *)autoAcceptSharedAttachmentsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2AutoAcceptSharedAttachmentsValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2AutoAcceptSharedAttachmentsValueDisable); } return @(AWSEC2AutoAcceptSharedAttachmentsValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AutoAcceptSharedAttachmentsValueEnable: return @"enable"; case AWSEC2AutoAcceptSharedAttachmentsValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)defaultRouteTableAssociationJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2DefaultRouteTableAssociationValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2DefaultRouteTableAssociationValueDisable); } return @(AWSEC2DefaultRouteTableAssociationValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DefaultRouteTableAssociationValueEnable: return @"enable"; case AWSEC2DefaultRouteTableAssociationValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)defaultRouteTablePropagationJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2DefaultRouteTablePropagationValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2DefaultRouteTablePropagationValueDisable); } return @(AWSEC2DefaultRouteTablePropagationValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DefaultRouteTablePropagationValueEnable: return @"enable"; case AWSEC2DefaultRouteTablePropagationValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)dnsSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2DnsSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2DnsSupportValueDisable); } return @(AWSEC2DnsSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DnsSupportValueEnable: return @"enable"; case AWSEC2DnsSupportValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)vpnEcmpSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2VpnEcmpSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2VpnEcmpSupportValueDisable); } return @(AWSEC2VpnEcmpSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VpnEcmpSupportValueEnable: return @"enable"; case AWSEC2VpnEcmpSupportValueDisable: return @"disable"; default: return nil; } }]; } @end @implementation AWSEC2ModifyTransitGatewayPrefixListReferenceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blackhole" : @"Blackhole", @"dryRun" : @"DryRun", @"prefixListId" : @"PrefixListId", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } @end @implementation AWSEC2ModifyTransitGatewayPrefixListReferenceResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayPrefixListReference" : @"TransitGatewayPrefixListReference", }; } + (NSValueTransformer *)transitGatewayPrefixListReferenceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPrefixListReference class]]; } @end @implementation AWSEC2ModifyTransitGatewayRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"dryRun" : @"DryRun", @"options" : @"Options", @"transitGatewayId" : @"TransitGatewayId", }; } + (NSValueTransformer *)optionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ModifyTransitGatewayOptions class]]; } @end @implementation AWSEC2ModifyTransitGatewayResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGateway" : @"TransitGateway", }; } + (NSValueTransformer *)transitGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGateway class]]; } @end @implementation AWSEC2ModifyTransitGatewayVpcAttachmentRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addSubnetIds" : @"AddSubnetIds", @"dryRun" : @"DryRun", @"options" : @"Options", @"removeSubnetIds" : @"RemoveSubnetIds", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } + (NSValueTransformer *)optionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ModifyTransitGatewayVpcAttachmentRequestOptions class]]; } @end @implementation AWSEC2ModifyTransitGatewayVpcAttachmentRequestOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"applianceModeSupport" : @"ApplianceModeSupport", @"dnsSupport" : @"DnsSupport", @"ipv6Support" : @"Ipv6Support", }; } + (NSValueTransformer *)applianceModeSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2ApplianceModeSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2ApplianceModeSupportValueDisable); } return @(AWSEC2ApplianceModeSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ApplianceModeSupportValueEnable: return @"enable"; case AWSEC2ApplianceModeSupportValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)dnsSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2DnsSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2DnsSupportValueDisable); } return @(AWSEC2DnsSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DnsSupportValueEnable: return @"enable"; case AWSEC2DnsSupportValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)ipv6SupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2Ipv6SupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2Ipv6SupportValueDisable); } return @(AWSEC2Ipv6SupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2Ipv6SupportValueEnable: return @"enable"; case AWSEC2Ipv6SupportValueDisable: return @"disable"; default: return nil; } }]; } @end @implementation AWSEC2ModifyTransitGatewayVpcAttachmentResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayVpcAttachment" : @"TransitGatewayVpcAttachment", }; } + (NSValueTransformer *)transitGatewayVpcAttachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayVpcAttachment class]]; } @end @implementation AWSEC2ModifyVerifiedAccessEndpointEniOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"port" : @"Port", @"protocols" : @"Protocol", }; } + (NSValueTransformer *)protocolsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"http"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointProtocolHTTP); } if ([value caseInsensitiveCompare:@"https"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointProtocolHTTPS); } return @(AWSEC2VerifiedAccessEndpointProtocolUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VerifiedAccessEndpointProtocolHTTP: return @"http"; case AWSEC2VerifiedAccessEndpointProtocolHTTPS: return @"https"; default: return nil; } }]; } @end @implementation AWSEC2ModifyVerifiedAccessEndpointLoadBalancerOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"port" : @"Port", @"protocols" : @"Protocol", @"subnetIds" : @"SubnetIds", }; } + (NSValueTransformer *)protocolsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"http"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointProtocolHTTP); } if ([value caseInsensitiveCompare:@"https"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointProtocolHTTPS); } return @(AWSEC2VerifiedAccessEndpointProtocolUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VerifiedAccessEndpointProtocolHTTP: return @"http"; case AWSEC2VerifiedAccessEndpointProtocolHTTPS: return @"https"; default: return nil; } }]; } @end @implementation AWSEC2ModifyVerifiedAccessEndpointPolicyRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"policyDocument" : @"PolicyDocument", @"policyEnabled" : @"PolicyEnabled", @"verifiedAccessEndpointId" : @"VerifiedAccessEndpointId", }; } @end @implementation AWSEC2ModifyVerifiedAccessEndpointPolicyResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"policyDocument" : @"PolicyDocument", @"policyEnabled" : @"PolicyEnabled", }; } @end @implementation AWSEC2ModifyVerifiedAccessEndpointRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"loadBalancerOptions" : @"LoadBalancerOptions", @"networkInterfaceOptions" : @"NetworkInterfaceOptions", @"verifiedAccessEndpointId" : @"VerifiedAccessEndpointId", @"verifiedAccessGroupId" : @"VerifiedAccessGroupId", }; } + (NSValueTransformer *)loadBalancerOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ModifyVerifiedAccessEndpointLoadBalancerOptions class]]; } + (NSValueTransformer *)networkInterfaceOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ModifyVerifiedAccessEndpointEniOptions class]]; } @end @implementation AWSEC2ModifyVerifiedAccessEndpointResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"verifiedAccessEndpoint" : @"VerifiedAccessEndpoint", }; } + (NSValueTransformer *)verifiedAccessEndpointJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessEndpoint class]]; } @end @implementation AWSEC2ModifyVerifiedAccessGroupPolicyRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"policyDocument" : @"PolicyDocument", @"policyEnabled" : @"PolicyEnabled", @"verifiedAccessGroupId" : @"VerifiedAccessGroupId", }; } @end @implementation AWSEC2ModifyVerifiedAccessGroupPolicyResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"policyDocument" : @"PolicyDocument", @"policyEnabled" : @"PolicyEnabled", }; } @end @implementation AWSEC2ModifyVerifiedAccessGroupRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"verifiedAccessGroupId" : @"VerifiedAccessGroupId", @"verifiedAccessInstanceId" : @"VerifiedAccessInstanceId", }; } @end @implementation AWSEC2ModifyVerifiedAccessGroupResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"verifiedAccessGroup" : @"VerifiedAccessGroup", }; } + (NSValueTransformer *)verifiedAccessGroupJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessGroup class]]; } @end @implementation AWSEC2ModifyVerifiedAccessInstanceLoggingConfigurationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"accessLogs" : @"AccessLogs", @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"verifiedAccessInstanceId" : @"VerifiedAccessInstanceId", }; } + (NSValueTransformer *)accessLogsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessLogOptions class]]; } @end @implementation AWSEC2ModifyVerifiedAccessInstanceLoggingConfigurationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"loggingConfiguration" : @"LoggingConfiguration", }; } + (NSValueTransformer *)loggingConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessInstanceLoggingConfiguration class]]; } @end @implementation AWSEC2ModifyVerifiedAccessInstanceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"verifiedAccessInstanceId" : @"VerifiedAccessInstanceId", }; } @end @implementation AWSEC2ModifyVerifiedAccessInstanceResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"verifiedAccessInstance" : @"VerifiedAccessInstance", }; } + (NSValueTransformer *)verifiedAccessInstanceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessInstance class]]; } @end @implementation AWSEC2ModifyVerifiedAccessTrustProviderOidcOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"authorizationEndpoint" : @"AuthorizationEndpoint", @"clientId" : @"ClientId", @"clientSecret" : @"ClientSecret", @"issuer" : @"Issuer", @"scope" : @"Scope", @"tokenEndpoint" : @"TokenEndpoint", @"userInfoEndpoint" : @"UserInfoEndpoint", }; } @end @implementation AWSEC2ModifyVerifiedAccessTrustProviderRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"detail" : @"Description", @"dryRun" : @"DryRun", @"oidcOptions" : @"OidcOptions", @"verifiedAccessTrustProviderId" : @"VerifiedAccessTrustProviderId", }; } + (NSValueTransformer *)oidcOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ModifyVerifiedAccessTrustProviderOidcOptions class]]; } @end @implementation AWSEC2ModifyVerifiedAccessTrustProviderResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"verifiedAccessTrustProvider" : @"VerifiedAccessTrustProvider", }; } + (NSValueTransformer *)verifiedAccessTrustProviderJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessTrustProvider class]]; } @end @implementation AWSEC2ModifyVolumeAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"autoEnableIO" : @"AutoEnableIO", @"dryRun" : @"DryRun", @"volumeId" : @"VolumeId", }; } + (NSValueTransformer *)autoEnableIOJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } @end @implementation AWSEC2ModifyVolumeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"iops" : @"Iops", @"multiAttachEnabled" : @"MultiAttachEnabled", @"size" : @"Size", @"throughput" : @"Throughput", @"volumeId" : @"VolumeId", @"volumeType" : @"VolumeType", }; } + (NSValueTransformer *)volumeTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2VolumeTypeStandard); } if ([value caseInsensitiveCompare:@"io1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIO1); } if ([value caseInsensitiveCompare:@"io2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIo2); } if ([value caseInsensitiveCompare:@"gp2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp2); } if ([value caseInsensitiveCompare:@"sc1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSc1); } if ([value caseInsensitiveCompare:@"st1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSt1); } if ([value caseInsensitiveCompare:@"gp3"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp3); } return @(AWSEC2VolumeTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VolumeTypeStandard: return @"standard"; case AWSEC2VolumeTypeIO1: return @"io1"; case AWSEC2VolumeTypeIo2: return @"io2"; case AWSEC2VolumeTypeGp2: return @"gp2"; case AWSEC2VolumeTypeSc1: return @"sc1"; case AWSEC2VolumeTypeSt1: return @"st1"; case AWSEC2VolumeTypeGp3: return @"gp3"; default: return nil; } }]; } @end @implementation AWSEC2ModifyVolumeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"volumeModification" : @"VolumeModification", }; } + (NSValueTransformer *)volumeModificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VolumeModification class]]; } @end @implementation AWSEC2ModifyVpcAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enableDnsHostnames" : @"EnableDnsHostnames", @"enableDnsSupport" : @"EnableDnsSupport", @"enableNetworkAddressUsageMetrics" : @"EnableNetworkAddressUsageMetrics", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)enableDnsHostnamesJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)enableDnsSupportJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } + (NSValueTransformer *)enableNetworkAddressUsageMetricsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttributeBooleanValue class]]; } @end @implementation AWSEC2ModifyVpcEndpointConnectionNotificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"connectionEvents" : @"ConnectionEvents", @"connectionNotificationArn" : @"ConnectionNotificationArn", @"connectionNotificationId" : @"ConnectionNotificationId", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2ModifyVpcEndpointConnectionNotificationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returnValue" : @"ReturnValue", }; } @end @implementation AWSEC2ModifyVpcEndpointRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addRouteTableIds" : @"AddRouteTableIds", @"addSecurityGroupIds" : @"AddSecurityGroupIds", @"addSubnetIds" : @"AddSubnetIds", @"dnsOptions" : @"DnsOptions", @"dryRun" : @"DryRun", @"ipAddressType" : @"IpAddressType", @"policyDocument" : @"PolicyDocument", @"privateDnsEnabled" : @"PrivateDnsEnabled", @"removeRouteTableIds" : @"RemoveRouteTableIds", @"removeSecurityGroupIds" : @"RemoveSecurityGroupIds", @"removeSubnetIds" : @"RemoveSubnetIds", @"resetPolicy" : @"ResetPolicy", @"vpcEndpointId" : @"VpcEndpointId", }; } + (NSValueTransformer *)dnsOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DnsOptionsSpecification class]]; } + (NSValueTransformer *)ipAddressTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ipv4"] == NSOrderedSame) { return @(AWSEC2IpAddressTypeIpv4); } if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { return @(AWSEC2IpAddressTypeDualstack); } if ([value caseInsensitiveCompare:@"ipv6"] == NSOrderedSame) { return @(AWSEC2IpAddressTypeIpv6); } return @(AWSEC2IpAddressTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpAddressTypeIpv4: return @"ipv4"; case AWSEC2IpAddressTypeDualstack: return @"dualstack"; case AWSEC2IpAddressTypeIpv6: return @"ipv6"; default: return nil; } }]; } @end @implementation AWSEC2ModifyVpcEndpointResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ModifyVpcEndpointServiceConfigurationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"acceptanceRequired" : @"AcceptanceRequired", @"addGatewayLoadBalancerArns" : @"AddGatewayLoadBalancerArns", @"addNetworkLoadBalancerArns" : @"AddNetworkLoadBalancerArns", @"addSupportedIpAddressTypes" : @"AddSupportedIpAddressTypes", @"dryRun" : @"DryRun", @"privateDnsName" : @"PrivateDnsName", @"removeGatewayLoadBalancerArns" : @"RemoveGatewayLoadBalancerArns", @"removeNetworkLoadBalancerArns" : @"RemoveNetworkLoadBalancerArns", @"removePrivateDnsName" : @"RemovePrivateDnsName", @"removeSupportedIpAddressTypes" : @"RemoveSupportedIpAddressTypes", @"serviceId" : @"ServiceId", }; } @end @implementation AWSEC2ModifyVpcEndpointServiceConfigurationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ModifyVpcEndpointServicePayerResponsibilityRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"payerResponsibility" : @"PayerResponsibility", @"serviceId" : @"ServiceId", }; } + (NSValueTransformer *)payerResponsibilityJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ServiceOwner"] == NSOrderedSame) { return @(AWSEC2PayerResponsibilityServiceOwner); } return @(AWSEC2PayerResponsibilityUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PayerResponsibilityServiceOwner: return @"ServiceOwner"; default: return nil; } }]; } @end @implementation AWSEC2ModifyVpcEndpointServicePayerResponsibilityResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returnValue" : @"ReturnValue", }; } @end @implementation AWSEC2ModifyVpcEndpointServicePermissionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addAllowedPrincipals" : @"AddAllowedPrincipals", @"dryRun" : @"DryRun", @"removeAllowedPrincipals" : @"RemoveAllowedPrincipals", @"serviceId" : @"ServiceId", }; } @end @implementation AWSEC2ModifyVpcEndpointServicePermissionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addedPrincipals" : @"AddedPrincipals", @"returnValue" : @"ReturnValue", }; } + (NSValueTransformer *)addedPrincipalsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AddedPrincipal class]]; } @end @implementation AWSEC2ModifyVpcPeeringConnectionOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"accepterPeeringConnectionOptions" : @"AccepterPeeringConnectionOptions", @"dryRun" : @"DryRun", @"requesterPeeringConnectionOptions" : @"RequesterPeeringConnectionOptions", @"vpcPeeringConnectionId" : @"VpcPeeringConnectionId", }; } + (NSValueTransformer *)accepterPeeringConnectionOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PeeringConnectionOptionsRequest class]]; } + (NSValueTransformer *)requesterPeeringConnectionOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PeeringConnectionOptionsRequest class]]; } @end @implementation AWSEC2ModifyVpcPeeringConnectionOptionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"accepterPeeringConnectionOptions" : @"AccepterPeeringConnectionOptions", @"requesterPeeringConnectionOptions" : @"RequesterPeeringConnectionOptions", }; } + (NSValueTransformer *)accepterPeeringConnectionOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PeeringConnectionOptions class]]; } + (NSValueTransformer *)requesterPeeringConnectionOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PeeringConnectionOptions class]]; } @end @implementation AWSEC2ModifyVpcTenancyRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceTenancy" : @"InstanceTenancy", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)instanceTenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2VpcTenancyDefault); } return @(AWSEC2VpcTenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VpcTenancyDefault: return @"default"; default: return nil; } }]; } @end @implementation AWSEC2ModifyVpcTenancyResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returnValue" : @"ReturnValue", }; } @end @implementation AWSEC2ModifyVpnConnectionOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"localIpv4NetworkCidr" : @"LocalIpv4NetworkCidr", @"localIpv6NetworkCidr" : @"LocalIpv6NetworkCidr", @"remoteIpv4NetworkCidr" : @"RemoteIpv4NetworkCidr", @"remoteIpv6NetworkCidr" : @"RemoteIpv6NetworkCidr", @"vpnConnectionId" : @"VpnConnectionId", }; } @end @implementation AWSEC2ModifyVpnConnectionOptionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpnConnection" : @"VpnConnection", }; } + (NSValueTransformer *)vpnConnectionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpnConnection class]]; } @end @implementation AWSEC2ModifyVpnConnectionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"customerGatewayId" : @"CustomerGatewayId", @"dryRun" : @"DryRun", @"transitGatewayId" : @"TransitGatewayId", @"vpnConnectionId" : @"VpnConnectionId", @"vpnGatewayId" : @"VpnGatewayId", }; } @end @implementation AWSEC2ModifyVpnConnectionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpnConnection" : @"VpnConnection", }; } + (NSValueTransformer *)vpnConnectionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpnConnection class]]; } @end @implementation AWSEC2ModifyVpnTunnelCertificateRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"vpnConnectionId" : @"VpnConnectionId", @"vpnTunnelOutsideIpAddress" : @"VpnTunnelOutsideIpAddress", }; } @end @implementation AWSEC2ModifyVpnTunnelCertificateResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpnConnection" : @"VpnConnection", }; } + (NSValueTransformer *)vpnConnectionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpnConnection class]]; } @end @implementation AWSEC2ModifyVpnTunnelOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"skipTunnelReplacement" : @"SkipTunnelReplacement", @"tunnelOptions" : @"TunnelOptions", @"vpnConnectionId" : @"VpnConnectionId", @"vpnTunnelOutsideIpAddress" : @"VpnTunnelOutsideIpAddress", }; } + (NSValueTransformer *)tunnelOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ModifyVpnTunnelOptionsSpecification class]]; } @end @implementation AWSEC2ModifyVpnTunnelOptionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"vpnConnection" : @"VpnConnection", }; } + (NSValueTransformer *)vpnConnectionJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpnConnection class]]; } @end @implementation AWSEC2ModifyVpnTunnelOptionsSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"DPDTimeoutAction" : @"DPDTimeoutAction", @"DPDTimeoutSeconds" : @"DPDTimeoutSeconds", @"enableTunnelLifecycleControl" : @"EnableTunnelLifecycleControl", @"IKEVersions" : @"IKEVersions", @"logOptions" : @"LogOptions", @"phase1DHGroupNumbers" : @"Phase1DHGroupNumbers", @"phase1EncryptionAlgorithms" : @"Phase1EncryptionAlgorithms", @"phase1IntegrityAlgorithms" : @"Phase1IntegrityAlgorithms", @"phase1LifetimeSeconds" : @"Phase1LifetimeSeconds", @"phase2DHGroupNumbers" : @"Phase2DHGroupNumbers", @"phase2EncryptionAlgorithms" : @"Phase2EncryptionAlgorithms", @"phase2IntegrityAlgorithms" : @"Phase2IntegrityAlgorithms", @"phase2LifetimeSeconds" : @"Phase2LifetimeSeconds", @"preSharedKey" : @"PreSharedKey", @"rekeyFuzzPercentage" : @"RekeyFuzzPercentage", @"rekeyMarginTimeSeconds" : @"RekeyMarginTimeSeconds", @"replayWindowSize" : @"ReplayWindowSize", @"startupAction" : @"StartupAction", @"tunnelInsideCidr" : @"TunnelInsideCidr", @"tunnelInsideIpv6Cidr" : @"TunnelInsideIpv6Cidr", }; } + (NSValueTransformer *)IKEVersionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IKEVersionsRequestListValue class]]; } + (NSValueTransformer *)logOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpnTunnelLogOptionsSpecification class]]; } + (NSValueTransformer *)phase1DHGroupNumbersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase1DHGroupNumbersRequestListValue class]]; } + (NSValueTransformer *)phase1EncryptionAlgorithmsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase1EncryptionAlgorithmsRequestListValue class]]; } + (NSValueTransformer *)phase1IntegrityAlgorithmsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase1IntegrityAlgorithmsRequestListValue class]]; } + (NSValueTransformer *)phase2DHGroupNumbersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase2DHGroupNumbersRequestListValue class]]; } + (NSValueTransformer *)phase2EncryptionAlgorithmsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase2EncryptionAlgorithmsRequestListValue class]]; } + (NSValueTransformer *)phase2IntegrityAlgorithmsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase2IntegrityAlgorithmsRequestListValue class]]; } @end @implementation AWSEC2MonitorInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceIds" : @"InstanceIds", }; } @end @implementation AWSEC2MonitorInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceMonitorings" : @"InstanceMonitorings", }; } + (NSValueTransformer *)instanceMonitoringsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceMonitoring class]]; } @end @implementation AWSEC2Monitoring + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"state" : @"State", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2MonitoringStateDisabled); } if ([value caseInsensitiveCompare:@"disabling"] == NSOrderedSame) { return @(AWSEC2MonitoringStateDisabling); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2MonitoringStateEnabled); } if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2MonitoringStatePending); } return @(AWSEC2MonitoringStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MonitoringStateDisabled: return @"disabled"; case AWSEC2MonitoringStateDisabling: return @"disabling"; case AWSEC2MonitoringStateEnabled: return @"enabled"; case AWSEC2MonitoringStatePending: return @"pending"; default: return nil; } }]; } @end @implementation AWSEC2MoveAddressToVpcRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"publicIp" : @"PublicIp", }; } @end @implementation AWSEC2MoveAddressToVpcResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationId" : @"AllocationId", @"status" : @"Status", }; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"MoveInProgress"] == NSOrderedSame) { return @(AWSEC2StatusMoveInProgress); } if ([value caseInsensitiveCompare:@"InVpc"] == NSOrderedSame) { return @(AWSEC2StatusInVpc); } if ([value caseInsensitiveCompare:@"InClassic"] == NSOrderedSame) { return @(AWSEC2StatusInClassic); } return @(AWSEC2StatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2StatusMoveInProgress: return @"MoveInProgress"; case AWSEC2StatusInVpc: return @"InVpc"; case AWSEC2StatusInClassic: return @"InClassic"; default: return nil; } }]; } @end @implementation AWSEC2MoveByoipCidrToIpamRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"dryRun" : @"DryRun", @"ipamPoolId" : @"IpamPoolId", @"ipamPoolOwner" : @"IpamPoolOwner", }; } @end @implementation AWSEC2MoveByoipCidrToIpamResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"byoipCidr" : @"ByoipCidr", }; } + (NSValueTransformer *)byoipCidrJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ByoipCidr class]]; } @end @implementation AWSEC2MovingAddressStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"moveStatus" : @"MoveStatus", @"publicIp" : @"PublicIp", }; } + (NSValueTransformer *)moveStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"movingToVpc"] == NSOrderedSame) { return @(AWSEC2MoveStatusMovingToVpc); } if ([value caseInsensitiveCompare:@"restoringToClassic"] == NSOrderedSame) { return @(AWSEC2MoveStatusRestoringToClassic); } return @(AWSEC2MoveStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MoveStatusMovingToVpc: return @"movingToVpc"; case AWSEC2MoveStatusRestoringToClassic: return @"restoringToClassic"; default: return nil; } }]; } @end @implementation AWSEC2NatGateway + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"connectivityType" : @"ConnectivityType", @"createTime" : @"CreateTime", @"deleteTime" : @"DeleteTime", @"failureCode" : @"FailureCode", @"failureMessage" : @"FailureMessage", @"natGatewayAddresses" : @"NatGatewayAddresses", @"natGatewayId" : @"NatGatewayId", @"provisionedBandwidth" : @"ProvisionedBandwidth", @"state" : @"State", @"subnetId" : @"SubnetId", @"tags" : @"Tags", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)connectivityTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"private"] == NSOrderedSame) { return @(AWSEC2ConnectivityTypePrivate); } if ([value caseInsensitiveCompare:@"public"] == NSOrderedSame) { return @(AWSEC2ConnectivityTypePublic); } return @(AWSEC2ConnectivityTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ConnectivityTypePrivate: return @"private"; case AWSEC2ConnectivityTypePublic: return @"public"; default: return nil; } }]; } + (NSValueTransformer *)createTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)deleteTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)natGatewayAddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NatGatewayAddress class]]; } + (NSValueTransformer *)provisionedBandwidthJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ProvisionedBandwidth class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2NatGatewayStatePending); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2NatGatewayStateFailed); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2NatGatewayStateAvailable); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2NatGatewayStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2NatGatewayStateDeleted); } return @(AWSEC2NatGatewayStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2NatGatewayStatePending: return @"pending"; case AWSEC2NatGatewayStateFailed: return @"failed"; case AWSEC2NatGatewayStateAvailable: return @"available"; case AWSEC2NatGatewayStateDeleting: return @"deleting"; case AWSEC2NatGatewayStateDeleted: return @"deleted"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2NatGatewayAddress + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationId" : @"AllocationId", @"associationId" : @"AssociationId", @"failureMessage" : @"FailureMessage", @"isPrimary" : @"IsPrimary", @"networkInterfaceId" : @"NetworkInterfaceId", @"privateIp" : @"PrivateIp", @"publicIp" : @"PublicIp", @"status" : @"Status", }; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"assigning"] == NSOrderedSame) { return @(AWSEC2NatGatewayAddressStatusAssigning); } if ([value caseInsensitiveCompare:@"unassigning"] == NSOrderedSame) { return @(AWSEC2NatGatewayAddressStatusUnassigning); } if ([value caseInsensitiveCompare:@"associating"] == NSOrderedSame) { return @(AWSEC2NatGatewayAddressStatusAssociating); } if ([value caseInsensitiveCompare:@"disassociating"] == NSOrderedSame) { return @(AWSEC2NatGatewayAddressStatusDisassociating); } if ([value caseInsensitiveCompare:@"succeeded"] == NSOrderedSame) { return @(AWSEC2NatGatewayAddressStatusSucceeded); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2NatGatewayAddressStatusFailed); } return @(AWSEC2NatGatewayAddressStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2NatGatewayAddressStatusAssigning: return @"assigning"; case AWSEC2NatGatewayAddressStatusUnassigning: return @"unassigning"; case AWSEC2NatGatewayAddressStatusAssociating: return @"associating"; case AWSEC2NatGatewayAddressStatusDisassociating: return @"disassociating"; case AWSEC2NatGatewayAddressStatusSucceeded: return @"succeeded"; case AWSEC2NatGatewayAddressStatusFailed: return @"failed"; default: return nil; } }]; } @end @implementation AWSEC2NetworkAcl + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associations" : @"Associations", @"entries" : @"Entries", @"isDefault" : @"IsDefault", @"networkAclId" : @"NetworkAclId", @"ownerId" : @"OwnerId", @"tags" : @"Tags", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)associationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NetworkAclAssociation class]]; } + (NSValueTransformer *)entriesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NetworkAclEntry class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2NetworkAclAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkAclAssociationId" : @"NetworkAclAssociationId", @"networkAclId" : @"NetworkAclId", @"subnetId" : @"SubnetId", }; } @end @implementation AWSEC2NetworkAclEntry + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrBlock" : @"CidrBlock", @"egress" : @"Egress", @"icmpTypeCode" : @"IcmpTypeCode", @"ipv6CidrBlock" : @"Ipv6CidrBlock", @"portRange" : @"PortRange", @"protocols" : @"Protocol", @"ruleAction" : @"RuleAction", @"ruleNumber" : @"RuleNumber", }; } + (NSValueTransformer *)icmpTypeCodeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IcmpTypeCode class]]; } + (NSValueTransformer *)portRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PortRange class]]; } + (NSValueTransformer *)ruleActionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"allow"] == NSOrderedSame) { return @(AWSEC2RuleActionAllow); } if ([value caseInsensitiveCompare:@"deny"] == NSOrderedSame) { return @(AWSEC2RuleActionDeny); } return @(AWSEC2RuleActionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2RuleActionAllow: return @"allow"; case AWSEC2RuleActionDeny: return @"deny"; default: return nil; } }]; } @end @implementation AWSEC2NetworkBandwidthGbps + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2NetworkBandwidthGbpsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2NetworkCardInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"baselineBandwidthInGbps" : @"BaselineBandwidthInGbps", @"maximumNetworkInterfaces" : @"MaximumNetworkInterfaces", @"networkCardIndex" : @"NetworkCardIndex", @"networkPerformance" : @"NetworkPerformance", @"peakBandwidthInGbps" : @"PeakBandwidthInGbps", }; } @end @implementation AWSEC2NetworkInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"defaultNetworkCardIndex" : @"DefaultNetworkCardIndex", @"efaInfo" : @"EfaInfo", @"efaSupported" : @"EfaSupported", @"enaSrdSupported" : @"EnaSrdSupported", @"enaSupport" : @"EnaSupport", @"encryptionInTransitSupported" : @"EncryptionInTransitSupported", @"ipv4AddressesPerInterface" : @"Ipv4AddressesPerInterface", @"ipv6AddressesPerInterface" : @"Ipv6AddressesPerInterface", @"ipv6Supported" : @"Ipv6Supported", @"maximumNetworkCards" : @"MaximumNetworkCards", @"maximumNetworkInterfaces" : @"MaximumNetworkInterfaces", @"networkCards" : @"NetworkCards", @"networkPerformance" : @"NetworkPerformance", }; } + (NSValueTransformer *)efaInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EfaInfo class]]; } + (NSValueTransformer *)enaSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"unsupported"] == NSOrderedSame) { return @(AWSEC2EnaSupportUnsupported); } if ([value caseInsensitiveCompare:@"supported"] == NSOrderedSame) { return @(AWSEC2EnaSupportSupported); } if ([value caseInsensitiveCompare:@"required"] == NSOrderedSame) { return @(AWSEC2EnaSupportRequired); } return @(AWSEC2EnaSupportUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2EnaSupportUnsupported: return @"unsupported"; case AWSEC2EnaSupportSupported: return @"supported"; case AWSEC2EnaSupportRequired: return @"required"; default: return nil; } }]; } + (NSValueTransformer *)networkCardsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NetworkCardInfo class]]; } @end @implementation AWSEC2NetworkInsightsAccessScope + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"createdDate" : @"CreatedDate", @"networkInsightsAccessScopeArn" : @"NetworkInsightsAccessScopeArn", @"networkInsightsAccessScopeId" : @"NetworkInsightsAccessScopeId", @"tags" : @"Tags", @"updatedDate" : @"UpdatedDate", }; } + (NSValueTransformer *)createdDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)updatedDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2NetworkInsightsAccessScopeAnalysis + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"analyzedEniCount" : @"AnalyzedEniCount", @"endDate" : @"EndDate", @"findingsFound" : @"FindingsFound", @"networkInsightsAccessScopeAnalysisArn" : @"NetworkInsightsAccessScopeAnalysisArn", @"networkInsightsAccessScopeAnalysisId" : @"NetworkInsightsAccessScopeAnalysisId", @"networkInsightsAccessScopeId" : @"NetworkInsightsAccessScopeId", @"startDate" : @"StartDate", @"status" : @"Status", @"statusMessage" : @"StatusMessage", @"tags" : @"Tags", @"warningMessage" : @"WarningMessage", }; } + (NSValueTransformer *)endDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)findingsFoundJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"true"] == NSOrderedSame) { return @(AWSEC2FindingsFoundTrue); } if ([value caseInsensitiveCompare:@"false"] == NSOrderedSame) { return @(AWSEC2FindingsFoundFalse); } if ([value caseInsensitiveCompare:@"unknown"] == NSOrderedSame) { return @(AWSEC2FindingsFoundUnknown); } return @(AWSEC2FindingsFoundUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FindingsFoundTrue: return @"true"; case AWSEC2FindingsFoundFalse: return @"false"; case AWSEC2FindingsFoundUnknown: return @"unknown"; default: return nil; } }]; } + (NSValueTransformer *)startDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"running"] == NSOrderedSame) { return @(AWSEC2AnalysisStatusRunning); } if ([value caseInsensitiveCompare:@"succeeded"] == NSOrderedSame) { return @(AWSEC2AnalysisStatusSucceeded); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2AnalysisStatusFailed); } return @(AWSEC2AnalysisStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AnalysisStatusRunning: return @"running"; case AWSEC2AnalysisStatusSucceeded: return @"succeeded"; case AWSEC2AnalysisStatusFailed: return @"failed"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2NetworkInsightsAccessScopeContent + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"excludePaths" : @"ExcludePaths", @"matchPaths" : @"MatchPaths", @"networkInsightsAccessScopeId" : @"NetworkInsightsAccessScopeId", }; } + (NSValueTransformer *)excludePathsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AccessScopePath class]]; } + (NSValueTransformer *)matchPathsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AccessScopePath class]]; } @end @implementation AWSEC2NetworkInsightsAnalysis + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"additionalAccounts" : @"AdditionalAccounts", @"alternatePathHints" : @"AlternatePathHints", @"explanations" : @"Explanations", @"filterInArns" : @"FilterInArns", @"forwardPathComponents" : @"ForwardPathComponents", @"networkInsightsAnalysisArn" : @"NetworkInsightsAnalysisArn", @"networkInsightsAnalysisId" : @"NetworkInsightsAnalysisId", @"networkInsightsPathId" : @"NetworkInsightsPathId", @"networkPathFound" : @"NetworkPathFound", @"returnPathComponents" : @"ReturnPathComponents", @"startDate" : @"StartDate", @"status" : @"Status", @"statusMessage" : @"StatusMessage", @"suggestedAccounts" : @"SuggestedAccounts", @"tags" : @"Tags", @"warningMessage" : @"WarningMessage", }; } + (NSValueTransformer *)alternatePathHintsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AlternatePathHint class]]; } + (NSValueTransformer *)explanationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Explanation class]]; } + (NSValueTransformer *)forwardPathComponentsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PathComponent class]]; } + (NSValueTransformer *)returnPathComponentsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PathComponent class]]; } + (NSValueTransformer *)startDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"running"] == NSOrderedSame) { return @(AWSEC2AnalysisStatusRunning); } if ([value caseInsensitiveCompare:@"succeeded"] == NSOrderedSame) { return @(AWSEC2AnalysisStatusSucceeded); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2AnalysisStatusFailed); } return @(AWSEC2AnalysisStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AnalysisStatusRunning: return @"running"; case AWSEC2AnalysisStatusSucceeded: return @"succeeded"; case AWSEC2AnalysisStatusFailed: return @"failed"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2NetworkInsightsPath + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"createdDate" : @"CreatedDate", @"destination" : @"Destination", @"destinationArn" : @"DestinationArn", @"destinationIp" : @"DestinationIp", @"destinationPort" : @"DestinationPort", @"filterAtDestination" : @"FilterAtDestination", @"filterAtSource" : @"FilterAtSource", @"networkInsightsPathArn" : @"NetworkInsightsPathArn", @"networkInsightsPathId" : @"NetworkInsightsPathId", @"protocols" : @"Protocol", @"source" : @"Source", @"sourceArn" : @"SourceArn", @"sourceIp" : @"SourceIp", @"tags" : @"Tags", }; } + (NSValueTransformer *)createdDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)filterAtDestinationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PathFilter class]]; } + (NSValueTransformer *)filterAtSourceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PathFilter class]]; } + (NSValueTransformer *)protocolsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"tcp"] == NSOrderedSame) { return @(AWSEC2ProtocolsTcp); } if ([value caseInsensitiveCompare:@"udp"] == NSOrderedSame) { return @(AWSEC2ProtocolsUdp); } return @(AWSEC2ProtocolsUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ProtocolsTcp: return @"tcp"; case AWSEC2ProtocolsUdp: return @"udp"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2NetworkInterface + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"association" : @"Association", @"attachment" : @"Attachment", @"availabilityZone" : @"AvailabilityZone", @"denyAllIgwTraffic" : @"DenyAllIgwTraffic", @"detail" : @"Description", @"groups" : @"Groups", @"interfaceType" : @"InterfaceType", @"ipv4Prefixes" : @"Ipv4Prefixes", @"ipv6Address" : @"Ipv6Address", @"ipv6Addresses" : @"Ipv6Addresses", @"ipv6Native" : @"Ipv6Native", @"ipv6Prefixes" : @"Ipv6Prefixes", @"macAddress" : @"MacAddress", @"networkInterfaceId" : @"NetworkInterfaceId", @"outpostArn" : @"OutpostArn", @"ownerId" : @"OwnerId", @"privateDnsName" : @"PrivateDnsName", @"privateIpAddress" : @"PrivateIpAddress", @"privateIpAddresses" : @"PrivateIpAddresses", @"requesterId" : @"RequesterId", @"requesterManaged" : @"RequesterManaged", @"sourceDestCheck" : @"SourceDestCheck", @"status" : @"Status", @"subnetId" : @"SubnetId", @"tagSet" : @"TagSet", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)associationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInterfaceAssociation class]]; } + (NSValueTransformer *)attachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInterfaceAttachment class]]; } + (NSValueTransformer *)groupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2GroupIdentifier class]]; } + (NSValueTransformer *)interfaceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"interface"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeInterface); } if ([value caseInsensitiveCompare:@"natGateway"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeNatGateway); } if ([value caseInsensitiveCompare:@"efa"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeEfa); } if ([value caseInsensitiveCompare:@"trunk"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeTrunk); } if ([value caseInsensitiveCompare:@"load_balancer"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeLoadBalancer); } if ([value caseInsensitiveCompare:@"network_load_balancer"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeNetworkLoadBalancer); } if ([value caseInsensitiveCompare:@"vpc_endpoint"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeVpcEndpoint); } if ([value caseInsensitiveCompare:@"branch"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeBranch); } if ([value caseInsensitiveCompare:@"transit_gateway"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeTransitGateway); } if ([value caseInsensitiveCompare:@"lambda"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeLambda); } if ([value caseInsensitiveCompare:@"quicksight"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeQuicksight); } if ([value caseInsensitiveCompare:@"global_accelerator_managed"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeGlobalAcceleratorManaged); } if ([value caseInsensitiveCompare:@"api_gateway_managed"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeApiGatewayManaged); } if ([value caseInsensitiveCompare:@"gateway_load_balancer"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeGatewayLoadBalancer); } if ([value caseInsensitiveCompare:@"gateway_load_balancer_endpoint"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeGatewayLoadBalancerEndpoint); } if ([value caseInsensitiveCompare:@"iot_rules_managed"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeIotRulesManaged); } if ([value caseInsensitiveCompare:@"aws_codestar_connections_managed"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceTypeAwsCodestarConnectionsManaged); } return @(AWSEC2NetworkInterfaceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2NetworkInterfaceTypeInterface: return @"interface"; case AWSEC2NetworkInterfaceTypeNatGateway: return @"natGateway"; case AWSEC2NetworkInterfaceTypeEfa: return @"efa"; case AWSEC2NetworkInterfaceTypeTrunk: return @"trunk"; case AWSEC2NetworkInterfaceTypeLoadBalancer: return @"load_balancer"; case AWSEC2NetworkInterfaceTypeNetworkLoadBalancer: return @"network_load_balancer"; case AWSEC2NetworkInterfaceTypeVpcEndpoint: return @"vpc_endpoint"; case AWSEC2NetworkInterfaceTypeBranch: return @"branch"; case AWSEC2NetworkInterfaceTypeTransitGateway: return @"transit_gateway"; case AWSEC2NetworkInterfaceTypeLambda: return @"lambda"; case AWSEC2NetworkInterfaceTypeQuicksight: return @"quicksight"; case AWSEC2NetworkInterfaceTypeGlobalAcceleratorManaged: return @"global_accelerator_managed"; case AWSEC2NetworkInterfaceTypeApiGatewayManaged: return @"api_gateway_managed"; case AWSEC2NetworkInterfaceTypeGatewayLoadBalancer: return @"gateway_load_balancer"; case AWSEC2NetworkInterfaceTypeGatewayLoadBalancerEndpoint: return @"gateway_load_balancer_endpoint"; case AWSEC2NetworkInterfaceTypeIotRulesManaged: return @"iot_rules_managed"; case AWSEC2NetworkInterfaceTypeAwsCodestarConnectionsManaged: return @"aws_codestar_connections_managed"; default: return nil; } }]; } + (NSValueTransformer *)ipv4PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv4PrefixSpecification class]]; } + (NSValueTransformer *)ipv6AddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NetworkInterfaceIpv6Address class]]; } + (NSValueTransformer *)ipv6PrefixesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv6PrefixSpecification class]]; } + (NSValueTransformer *)privateIpAddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NetworkInterfacePrivateIpAddress class]]; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceStatusAvailable); } if ([value caseInsensitiveCompare:@"associated"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceStatusAssociated); } if ([value caseInsensitiveCompare:@"attaching"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceStatusAttaching); } if ([value caseInsensitiveCompare:@"in-use"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceStatusInUse); } if ([value caseInsensitiveCompare:@"detaching"] == NSOrderedSame) { return @(AWSEC2NetworkInterfaceStatusDetaching); } return @(AWSEC2NetworkInterfaceStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2NetworkInterfaceStatusAvailable: return @"available"; case AWSEC2NetworkInterfaceStatusAssociated: return @"associated"; case AWSEC2NetworkInterfaceStatusAttaching: return @"attaching"; case AWSEC2NetworkInterfaceStatusInUse: return @"in-use"; case AWSEC2NetworkInterfaceStatusDetaching: return @"detaching"; default: return nil; } }]; } + (NSValueTransformer *)tagSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2NetworkInterfaceAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationId" : @"AllocationId", @"associationId" : @"AssociationId", @"carrierIp" : @"CarrierIp", @"customerOwnedIp" : @"CustomerOwnedIp", @"ipOwnerId" : @"IpOwnerId", @"publicDnsName" : @"PublicDnsName", @"publicIp" : @"PublicIp", }; } @end @implementation AWSEC2NetworkInterfaceAttachment + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attachTime" : @"AttachTime", @"attachmentId" : @"AttachmentId", @"deleteOnTermination" : @"DeleteOnTermination", @"deviceIndex" : @"DeviceIndex", @"enaSrdSpecification" : @"EnaSrdSpecification", @"instanceId" : @"InstanceId", @"instanceOwnerId" : @"InstanceOwnerId", @"networkCardIndex" : @"NetworkCardIndex", @"status" : @"Status", }; } + (NSValueTransformer *)attachTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)enaSrdSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AttachmentEnaSrdSpecification class]]; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"attaching"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusAttaching); } if ([value caseInsensitiveCompare:@"attached"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusAttached); } if ([value caseInsensitiveCompare:@"detaching"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusDetaching); } if ([value caseInsensitiveCompare:@"detached"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusDetached); } return @(AWSEC2AttachmentStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AttachmentStatusAttaching: return @"attaching"; case AWSEC2AttachmentStatusAttached: return @"attached"; case AWSEC2AttachmentStatusDetaching: return @"detaching"; case AWSEC2AttachmentStatusDetached: return @"detached"; default: return nil; } }]; } @end @implementation AWSEC2NetworkInterfaceAttachmentChanges + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attachmentId" : @"AttachmentId", @"deleteOnTermination" : @"DeleteOnTermination", }; } @end @implementation AWSEC2NetworkInterfaceCount + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2NetworkInterfaceCountRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2NetworkInterfaceIpv6Address + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6Address" : @"Ipv6Address", }; } @end @implementation AWSEC2NetworkInterfacePermission + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"awsAccountId" : @"AwsAccountId", @"awsService" : @"AwsService", @"networkInterfaceId" : @"NetworkInterfaceId", @"networkInterfacePermissionId" : @"NetworkInterfacePermissionId", @"permission" : @"Permission", @"permissionState" : @"PermissionState", }; } + (NSValueTransformer *)permissionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"INSTANCE-ATTACH"] == NSOrderedSame) { return @(AWSEC2InterfacePermissionTypeInstanceAttach); } if ([value caseInsensitiveCompare:@"EIP-ASSOCIATE"] == NSOrderedSame) { return @(AWSEC2InterfacePermissionTypeEipAssociate); } return @(AWSEC2InterfacePermissionTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InterfacePermissionTypeInstanceAttach: return @"INSTANCE-ATTACH"; case AWSEC2InterfacePermissionTypeEipAssociate: return @"EIP-ASSOCIATE"; default: return nil; } }]; } + (NSValueTransformer *)permissionStateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInterfacePermissionState class]]; } @end @implementation AWSEC2NetworkInterfacePermissionState + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"state" : @"State", @"statusMessage" : @"StatusMessage", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2NetworkInterfacePermissionStateCodePending); } if ([value caseInsensitiveCompare:@"granted"] == NSOrderedSame) { return @(AWSEC2NetworkInterfacePermissionStateCodeGranted); } if ([value caseInsensitiveCompare:@"revoking"] == NSOrderedSame) { return @(AWSEC2NetworkInterfacePermissionStateCodeRevoking); } if ([value caseInsensitiveCompare:@"revoked"] == NSOrderedSame) { return @(AWSEC2NetworkInterfacePermissionStateCodeRevoked); } return @(AWSEC2NetworkInterfacePermissionStateCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2NetworkInterfacePermissionStateCodePending: return @"pending"; case AWSEC2NetworkInterfacePermissionStateCodeGranted: return @"granted"; case AWSEC2NetworkInterfacePermissionStateCodeRevoking: return @"revoking"; case AWSEC2NetworkInterfacePermissionStateCodeRevoked: return @"revoked"; default: return nil; } }]; } @end @implementation AWSEC2NetworkInterfacePrivateIpAddress + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"association" : @"Association", @"primary" : @"Primary", @"privateDnsName" : @"PrivateDnsName", @"privateIpAddress" : @"PrivateIpAddress", }; } + (NSValueTransformer *)associationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInterfaceAssociation class]]; } @end @implementation AWSEC2LatestDhcpConfiguration + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"key" : @"Key", @"values" : @"Values", }; } @end @implementation AWSEC2NitroTpmInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"supportedVersions" : @"SupportedVersions", }; } @end @implementation AWSEC2OidcOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"authorizationEndpoint" : @"AuthorizationEndpoint", @"clientId" : @"ClientId", @"clientSecret" : @"ClientSecret", @"issuer" : @"Issuer", @"scope" : @"Scope", @"tokenEndpoint" : @"TokenEndpoint", @"userInfoEndpoint" : @"UserInfoEndpoint", }; } @end @implementation AWSEC2OnDemandOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationStrategy" : @"AllocationStrategy", @"capacityReservationOptions" : @"CapacityReservationOptions", @"maxTotalPrice" : @"MaxTotalPrice", @"minTargetCapacity" : @"MinTargetCapacity", @"singleAvailabilityZone" : @"SingleAvailabilityZone", @"singleInstanceType" : @"SingleInstanceType", }; } + (NSValueTransformer *)allocationStrategyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"lowest-price"] == NSOrderedSame) { return @(AWSEC2FleetOnDemandAllocationStrategyLowestPrice); } if ([value caseInsensitiveCompare:@"prioritized"] == NSOrderedSame) { return @(AWSEC2FleetOnDemandAllocationStrategyPrioritized); } return @(AWSEC2FleetOnDemandAllocationStrategyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetOnDemandAllocationStrategyLowestPrice: return @"lowest-price"; case AWSEC2FleetOnDemandAllocationStrategyPrioritized: return @"prioritized"; default: return nil; } }]; } + (NSValueTransformer *)capacityReservationOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CapacityReservationOptions class]]; } @end @implementation AWSEC2OnDemandOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationStrategy" : @"AllocationStrategy", @"capacityReservationOptions" : @"CapacityReservationOptions", @"maxTotalPrice" : @"MaxTotalPrice", @"minTargetCapacity" : @"MinTargetCapacity", @"singleAvailabilityZone" : @"SingleAvailabilityZone", @"singleInstanceType" : @"SingleInstanceType", }; } + (NSValueTransformer *)allocationStrategyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"lowest-price"] == NSOrderedSame) { return @(AWSEC2FleetOnDemandAllocationStrategyLowestPrice); } if ([value caseInsensitiveCompare:@"prioritized"] == NSOrderedSame) { return @(AWSEC2FleetOnDemandAllocationStrategyPrioritized); } return @(AWSEC2FleetOnDemandAllocationStrategyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetOnDemandAllocationStrategyLowestPrice: return @"lowest-price"; case AWSEC2FleetOnDemandAllocationStrategyPrioritized: return @"prioritized"; default: return nil; } }]; } + (NSValueTransformer *)capacityReservationOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CapacityReservationOptionsRequest class]]; } @end @implementation AWSEC2PacketHeaderStatement + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationAddresses" : @"DestinationAddresses", @"destinationPorts" : @"DestinationPorts", @"destinationPrefixLists" : @"DestinationPrefixLists", @"protocols" : @"Protocols", @"sourceAddresses" : @"SourceAddresses", @"sourcePorts" : @"SourcePorts", @"sourcePrefixLists" : @"SourcePrefixLists", }; } @end @implementation AWSEC2PacketHeaderStatementRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationAddresses" : @"DestinationAddresses", @"destinationPorts" : @"DestinationPorts", @"destinationPrefixLists" : @"DestinationPrefixLists", @"protocols" : @"Protocols", @"sourceAddresses" : @"SourceAddresses", @"sourcePorts" : @"SourcePorts", @"sourcePrefixLists" : @"SourcePrefixLists", }; } @end @implementation AWSEC2PathComponent + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"aclRule" : @"AclRule", @"additionalDetails" : @"AdditionalDetails", @"attachedTo" : @"AttachedTo", @"component" : @"Component", @"destinationVpc" : @"DestinationVpc", @"elasticLoadBalancerListener" : @"ElasticLoadBalancerListener", @"explanations" : @"Explanations", @"firewallStatefulRule" : @"FirewallStatefulRule", @"firewallStatelessRule" : @"FirewallStatelessRule", @"inboundHeader" : @"InboundHeader", @"outboundHeader" : @"OutboundHeader", @"routeTableRoute" : @"RouteTableRoute", @"securityGroupRule" : @"SecurityGroupRule", @"sequenceNumber" : @"SequenceNumber", @"serviceName" : @"ServiceName", @"sourceVpc" : @"SourceVpc", @"subnet" : @"Subnet", @"transitGateway" : @"TransitGateway", @"transitGatewayRouteTableRoute" : @"TransitGatewayRouteTableRoute", @"vpc" : @"Vpc", }; } + (NSValueTransformer *)aclRuleJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisAclRule class]]; } + (NSValueTransformer *)additionalDetailsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2AdditionalDetail class]]; } + (NSValueTransformer *)attachedToJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)componentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)destinationVpcJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)elasticLoadBalancerListenerJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)explanationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Explanation class]]; } + (NSValueTransformer *)firewallStatefulRuleJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FirewallStatefulRule class]]; } + (NSValueTransformer *)firewallStatelessRuleJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FirewallStatelessRule class]]; } + (NSValueTransformer *)inboundHeaderJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisPacketHeader class]]; } + (NSValueTransformer *)outboundHeaderJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisPacketHeader class]]; } + (NSValueTransformer *)routeTableRouteJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisRouteTableRoute class]]; } + (NSValueTransformer *)securityGroupRuleJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisSecurityGroupRule class]]; } + (NSValueTransformer *)sourceVpcJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)subnetJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)transitGatewayJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } + (NSValueTransformer *)transitGatewayRouteTableRouteJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayRouteTableRoute class]]; } + (NSValueTransformer *)vpcJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AnalysisComponent class]]; } @end @implementation AWSEC2PathFilter + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationAddress" : @"DestinationAddress", @"destinationPortRange" : @"DestinationPortRange", @"sourceAddress" : @"SourceAddress", @"sourcePortRange" : @"SourcePortRange", }; } + (NSValueTransformer *)destinationPortRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FilterPortRange class]]; } + (NSValueTransformer *)sourcePortRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FilterPortRange class]]; } @end @implementation AWSEC2PathRequestFilter + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationAddress" : @"DestinationAddress", @"destinationPortRange" : @"DestinationPortRange", @"sourceAddress" : @"SourceAddress", @"sourcePortRange" : @"SourcePortRange", }; } + (NSValueTransformer *)destinationPortRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2RequestFilterPortRange class]]; } + (NSValueTransformer *)sourcePortRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2RequestFilterPortRange class]]; } @end @implementation AWSEC2PathStatement + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"packetHeaderStatement" : @"PacketHeaderStatement", @"resourceStatement" : @"ResourceStatement", }; } + (NSValueTransformer *)packetHeaderStatementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PacketHeaderStatement class]]; } + (NSValueTransformer *)resourceStatementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ResourceStatement class]]; } @end @implementation AWSEC2PathStatementRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"packetHeaderStatement" : @"PacketHeaderStatement", @"resourceStatement" : @"ResourceStatement", }; } + (NSValueTransformer *)packetHeaderStatementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PacketHeaderStatementRequest class]]; } + (NSValueTransformer *)resourceStatementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ResourceStatementRequest class]]; } @end @implementation AWSEC2PciId + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deviceId" : @"DeviceId", @"subsystemId" : @"SubsystemId", @"subsystemVendorId" : @"SubsystemVendorId", @"vendorId" : @"VendorId", }; } @end @implementation AWSEC2PeeringAttachmentStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } @end @implementation AWSEC2PeeringConnectionOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allowDnsResolutionFromRemoteVpc" : @"AllowDnsResolutionFromRemoteVpc", @"allowEgressFromLocalClassicLinkToRemoteVpc" : @"AllowEgressFromLocalClassicLinkToRemoteVpc", @"allowEgressFromLocalVpcToRemoteClassicLink" : @"AllowEgressFromLocalVpcToRemoteClassicLink", }; } @end @implementation AWSEC2PeeringConnectionOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allowDnsResolutionFromRemoteVpc" : @"AllowDnsResolutionFromRemoteVpc", @"allowEgressFromLocalClassicLinkToRemoteVpc" : @"AllowEgressFromLocalClassicLinkToRemoteVpc", @"allowEgressFromLocalVpcToRemoteClassicLink" : @"AllowEgressFromLocalVpcToRemoteClassicLink", }; } @end @implementation AWSEC2PeeringTgwInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"coreNetworkId" : @"CoreNetworkId", @"ownerId" : @"OwnerId", @"region" : @"Region", @"transitGatewayId" : @"TransitGatewayId", }; } @end @implementation AWSEC2Phase1DHGroupNumbersListValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2Phase1DHGroupNumbersRequestListValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2Phase1EncryptionAlgorithmsListValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2Phase1EncryptionAlgorithmsRequestListValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2Phase1IntegrityAlgorithmsListValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2Phase1IntegrityAlgorithmsRequestListValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2Phase2DHGroupNumbersListValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2Phase2DHGroupNumbersRequestListValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2Phase2EncryptionAlgorithmsListValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2Phase2EncryptionAlgorithmsRequestListValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2Phase2IntegrityAlgorithmsListValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2Phase2IntegrityAlgorithmsRequestListValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"value" : @"Value", }; } @end @implementation AWSEC2Placement + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"affinity" : @"Affinity", @"availabilityZone" : @"AvailabilityZone", @"groupId" : @"GroupId", @"groupName" : @"GroupName", @"hostId" : @"HostId", @"hostResourceGroupArn" : @"HostResourceGroupArn", @"partitionNumber" : @"PartitionNumber", @"spreadDomain" : @"SpreadDomain", @"tenancy" : @"Tenancy", }; } + (NSValueTransformer *)tenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2TenancyDefault); } if ([value caseInsensitiveCompare:@"dedicated"] == NSOrderedSame) { return @(AWSEC2TenancyDedicated); } if ([value caseInsensitiveCompare:@"host"] == NSOrderedSame) { return @(AWSEC2TenancyHost); } return @(AWSEC2TenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TenancyDefault: return @"default"; case AWSEC2TenancyDedicated: return @"dedicated"; case AWSEC2TenancyHost: return @"host"; default: return nil; } }]; } @end @implementation AWSEC2PlacementGroup + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"groupArn" : @"GroupArn", @"groupId" : @"GroupId", @"groupName" : @"GroupName", @"partitionCount" : @"PartitionCount", @"spreadLevel" : @"SpreadLevel", @"state" : @"State", @"strategy" : @"Strategy", @"tags" : @"Tags", }; } + (NSValueTransformer *)spreadLevelJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"host"] == NSOrderedSame) { return @(AWSEC2SpreadLevelHost); } if ([value caseInsensitiveCompare:@"rack"] == NSOrderedSame) { return @(AWSEC2SpreadLevelRack); } return @(AWSEC2SpreadLevelUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SpreadLevelHost: return @"host"; case AWSEC2SpreadLevelRack: return @"rack"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2PlacementGroupStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2PlacementGroupStateAvailable); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2PlacementGroupStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2PlacementGroupStateDeleted); } return @(AWSEC2PlacementGroupStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PlacementGroupStatePending: return @"pending"; case AWSEC2PlacementGroupStateAvailable: return @"available"; case AWSEC2PlacementGroupStateDeleting: return @"deleting"; case AWSEC2PlacementGroupStateDeleted: return @"deleted"; default: return nil; } }]; } + (NSValueTransformer *)strategyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"cluster"] == NSOrderedSame) { return @(AWSEC2PlacementStrategyCluster); } if ([value caseInsensitiveCompare:@"spread"] == NSOrderedSame) { return @(AWSEC2PlacementStrategySpread); } if ([value caseInsensitiveCompare:@"partition"] == NSOrderedSame) { return @(AWSEC2PlacementStrategyPartition); } return @(AWSEC2PlacementStrategyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PlacementStrategyCluster: return @"cluster"; case AWSEC2PlacementStrategySpread: return @"spread"; case AWSEC2PlacementStrategyPartition: return @"partition"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2PlacementGroupInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"supportedStrategies" : @"SupportedStrategies", }; } @end @implementation AWSEC2PlacementResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"groupName" : @"GroupName", }; } @end @implementation AWSEC2PoolCidrBlock + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", }; } @end @implementation AWSEC2PortRange + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"from" : @"From", @"to" : @"To", }; } @end @implementation AWSEC2PrefixList + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrs" : @"Cidrs", @"prefixListId" : @"PrefixListId", @"prefixListName" : @"PrefixListName", }; } @end @implementation AWSEC2PrefixListAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceId" : @"ResourceId", @"resourceOwner" : @"ResourceOwner", }; } @end @implementation AWSEC2PrefixListEntry + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"detail" : @"Description", }; } @end @implementation AWSEC2PrefixListId + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"prefixListId" : @"PrefixListId", }; } @end @implementation AWSEC2PriceSchedule + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"active" : @"Active", @"currencyCode" : @"CurrencyCode", @"price" : @"Price", @"term" : @"Term", }; } + (NSValueTransformer *)currencyCodeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"USD"] == NSOrderedSame) { return @(AWSEC2CurrencyCodeValuesUSD); } return @(AWSEC2CurrencyCodeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CurrencyCodeValuesUSD: return @"USD"; default: return nil; } }]; } @end @implementation AWSEC2PriceScheduleSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"currencyCode" : @"CurrencyCode", @"price" : @"Price", @"term" : @"Term", }; } + (NSValueTransformer *)currencyCodeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"USD"] == NSOrderedSame) { return @(AWSEC2CurrencyCodeValuesUSD); } return @(AWSEC2CurrencyCodeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CurrencyCodeValuesUSD: return @"USD"; default: return nil; } }]; } @end @implementation AWSEC2PricingDetail + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"count" : @"Count", @"price" : @"Price", }; } @end @implementation AWSEC2PrincipalIdFormat + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"arn" : @"Arn", @"statuses" : @"Statuses", }; } + (NSValueTransformer *)statusesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IdFormat class]]; } @end @implementation AWSEC2PrivateDnsDetails + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"privateDnsName" : @"PrivateDnsName", }; } @end @implementation AWSEC2PrivateDnsNameConfiguration + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"name" : @"Name", @"state" : @"State", @"types" : @"Type", @"value" : @"Value", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pendingVerification"] == NSOrderedSame) { return @(AWSEC2DnsNameStatePendingVerification); } if ([value caseInsensitiveCompare:@"verified"] == NSOrderedSame) { return @(AWSEC2DnsNameStateVerified); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2DnsNameStateFailed); } return @(AWSEC2DnsNameStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DnsNameStatePendingVerification: return @"pendingVerification"; case AWSEC2DnsNameStateVerified: return @"verified"; case AWSEC2DnsNameStateFailed: return @"failed"; default: return nil; } }]; } @end @implementation AWSEC2PrivateDnsNameOptionsOnLaunch + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enableResourceNameDnsAAAARecord" : @"EnableResourceNameDnsAAAARecord", @"enableResourceNameDnsARecord" : @"EnableResourceNameDnsARecord", @"hostnameType" : @"HostnameType", }; } + (NSValueTransformer *)hostnameTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ip-name"] == NSOrderedSame) { return @(AWSEC2HostnameTypeIpName); } if ([value caseInsensitiveCompare:@"resource-name"] == NSOrderedSame) { return @(AWSEC2HostnameTypeResourceName); } return @(AWSEC2HostnameTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HostnameTypeIpName: return @"ip-name"; case AWSEC2HostnameTypeResourceName: return @"resource-name"; default: return nil; } }]; } @end @implementation AWSEC2PrivateDnsNameOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enableResourceNameDnsAAAARecord" : @"EnableResourceNameDnsAAAARecord", @"enableResourceNameDnsARecord" : @"EnableResourceNameDnsARecord", @"hostnameType" : @"HostnameType", }; } + (NSValueTransformer *)hostnameTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ip-name"] == NSOrderedSame) { return @(AWSEC2HostnameTypeIpName); } if ([value caseInsensitiveCompare:@"resource-name"] == NSOrderedSame) { return @(AWSEC2HostnameTypeResourceName); } return @(AWSEC2HostnameTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HostnameTypeIpName: return @"ip-name"; case AWSEC2HostnameTypeResourceName: return @"resource-name"; default: return nil; } }]; } @end @implementation AWSEC2PrivateDnsNameOptionsResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enableResourceNameDnsAAAARecord" : @"EnableResourceNameDnsAAAARecord", @"enableResourceNameDnsARecord" : @"EnableResourceNameDnsARecord", @"hostnameType" : @"HostnameType", }; } + (NSValueTransformer *)hostnameTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ip-name"] == NSOrderedSame) { return @(AWSEC2HostnameTypeIpName); } if ([value caseInsensitiveCompare:@"resource-name"] == NSOrderedSame) { return @(AWSEC2HostnameTypeResourceName); } return @(AWSEC2HostnameTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2HostnameTypeIpName: return @"ip-name"; case AWSEC2HostnameTypeResourceName: return @"resource-name"; default: return nil; } }]; } @end @implementation AWSEC2PrivateIpAddressSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"primary" : @"Primary", @"privateIpAddress" : @"PrivateIpAddress", }; } @end @implementation AWSEC2ProcessorInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"supportedArchitectures" : @"SupportedArchitectures", @"supportedFeatures" : @"SupportedFeatures", @"sustainedClockSpeedInGhz" : @"SustainedClockSpeedInGhz", }; } @end @implementation AWSEC2ProductCode + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"productCodeId" : @"ProductCodeId", @"productCodeType" : @"ProductCodeType", }; } + (NSValueTransformer *)productCodeTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"devpay"] == NSOrderedSame) { return @(AWSEC2ProductCodeValuesDevpay); } if ([value caseInsensitiveCompare:@"marketplace"] == NSOrderedSame) { return @(AWSEC2ProductCodeValuesMarketplace); } return @(AWSEC2ProductCodeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ProductCodeValuesDevpay: return @"devpay"; case AWSEC2ProductCodeValuesMarketplace: return @"marketplace"; default: return nil; } }]; } @end @implementation AWSEC2PropagatingVgw + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"gatewayId" : @"GatewayId", }; } @end @implementation AWSEC2ProvisionByoipCidrRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"cidrAuthorizationContext" : @"CidrAuthorizationContext", @"detail" : @"Description", @"dryRun" : @"DryRun", @"multiRegion" : @"MultiRegion", @"poolTagSpecifications" : @"PoolTagSpecifications", @"publiclyAdvertisable" : @"PubliclyAdvertisable", }; } + (NSValueTransformer *)cidrAuthorizationContextJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CidrAuthorizationContext class]]; } + (NSValueTransformer *)poolTagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2ProvisionByoipCidrResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"byoipCidr" : @"ByoipCidr", }; } + (NSValueTransformer *)byoipCidrJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ByoipCidr class]]; } @end @implementation AWSEC2ProvisionIpamPoolCidrRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"cidrAuthorizationContext" : @"CidrAuthorizationContext", @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"ipamPoolId" : @"IpamPoolId", @"netmaskLength" : @"NetmaskLength", }; } + (NSValueTransformer *)cidrAuthorizationContextJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamCidrAuthorizationContext class]]; } @end @implementation AWSEC2ProvisionIpamPoolCidrResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipamPoolCidr" : @"IpamPoolCidr", }; } + (NSValueTransformer *)ipamPoolCidrJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IpamPoolCidr class]]; } @end @implementation AWSEC2ProvisionPublicIpv4PoolCidrRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"ipamPoolId" : @"IpamPoolId", @"netmaskLength" : @"NetmaskLength", @"poolId" : @"PoolId", }; } @end @implementation AWSEC2ProvisionPublicIpv4PoolCidrResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"poolAddressRange" : @"PoolAddressRange", @"poolId" : @"PoolId", }; } + (NSValueTransformer *)poolAddressRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PublicIpv4PoolRange class]]; } @end @implementation AWSEC2ProvisionedBandwidth + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"provisionTime" : @"ProvisionTime", @"provisioned" : @"Provisioned", @"requestTime" : @"RequestTime", @"requested" : @"Requested", @"status" : @"Status", }; } + (NSValueTransformer *)provisionTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)requestTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2PtrUpdateStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"reason" : @"Reason", @"status" : @"Status", @"value" : @"Value", }; } @end @implementation AWSEC2PublicIpv4Pool + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"networkBorderGroup" : @"NetworkBorderGroup", @"poolAddressRanges" : @"PoolAddressRanges", @"poolId" : @"PoolId", @"tags" : @"Tags", @"totalAddressCount" : @"TotalAddressCount", @"totalAvailableAddressCount" : @"TotalAvailableAddressCount", }; } + (NSValueTransformer *)poolAddressRangesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PublicIpv4PoolRange class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2PublicIpv4PoolRange + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addressCount" : @"AddressCount", @"availableAddressCount" : @"AvailableAddressCount", @"firstAddress" : @"FirstAddress", @"lastAddress" : @"LastAddress", }; } @end @implementation AWSEC2Purchase + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"currencyCode" : @"CurrencyCode", @"duration" : @"Duration", @"hostIdSet" : @"HostIdSet", @"hostReservationId" : @"HostReservationId", @"hourlyPrice" : @"HourlyPrice", @"instanceFamily" : @"InstanceFamily", @"paymentOption" : @"PaymentOption", @"upfrontPrice" : @"UpfrontPrice", }; } + (NSValueTransformer *)currencyCodeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"USD"] == NSOrderedSame) { return @(AWSEC2CurrencyCodeValuesUSD); } return @(AWSEC2CurrencyCodeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CurrencyCodeValuesUSD: return @"USD"; default: return nil; } }]; } + (NSValueTransformer *)paymentOptionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"AllUpfront"] == NSOrderedSame) { return @(AWSEC2PaymentOptionAllUpfront); } if ([value caseInsensitiveCompare:@"PartialUpfront"] == NSOrderedSame) { return @(AWSEC2PaymentOptionPartialUpfront); } if ([value caseInsensitiveCompare:@"NoUpfront"] == NSOrderedSame) { return @(AWSEC2PaymentOptionNoUpfront); } return @(AWSEC2PaymentOptionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PaymentOptionAllUpfront: return @"AllUpfront"; case AWSEC2PaymentOptionPartialUpfront: return @"PartialUpfront"; case AWSEC2PaymentOptionNoUpfront: return @"NoUpfront"; default: return nil; } }]; } @end @implementation AWSEC2PurchaseHostReservationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"currencyCode" : @"CurrencyCode", @"hostIdSet" : @"HostIdSet", @"limitPrice" : @"LimitPrice", @"offeringId" : @"OfferingId", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)currencyCodeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"USD"] == NSOrderedSame) { return @(AWSEC2CurrencyCodeValuesUSD); } return @(AWSEC2CurrencyCodeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CurrencyCodeValuesUSD: return @"USD"; default: return nil; } }]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2PurchaseHostReservationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"currencyCode" : @"CurrencyCode", @"purchase" : @"Purchase", @"totalHourlyPrice" : @"TotalHourlyPrice", @"totalUpfrontPrice" : @"TotalUpfrontPrice", }; } + (NSValueTransformer *)currencyCodeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"USD"] == NSOrderedSame) { return @(AWSEC2CurrencyCodeValuesUSD); } return @(AWSEC2CurrencyCodeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CurrencyCodeValuesUSD: return @"USD"; default: return nil; } }]; } + (NSValueTransformer *)purchaseJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Purchase class]]; } @end @implementation AWSEC2PurchaseRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceCount" : @"InstanceCount", @"purchaseToken" : @"PurchaseToken", }; } @end @implementation AWSEC2PurchaseReservedInstancesOfferingRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceCount" : @"InstanceCount", @"limitPrice" : @"LimitPrice", @"purchaseTime" : @"PurchaseTime", @"reservedInstancesOfferingId" : @"ReservedInstancesOfferingId", }; } + (NSValueTransformer *)limitPriceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ReservedInstanceLimitPrice class]]; } + (NSValueTransformer *)purchaseTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2PurchaseReservedInstancesOfferingResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"reservedInstancesId" : @"ReservedInstancesId", }; } @end @implementation AWSEC2PurchaseScheduledInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"purchaseRequests" : @"PurchaseRequests", }; } + (NSValueTransformer *)purchaseRequestsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PurchaseRequest class]]; } @end @implementation AWSEC2PurchaseScheduledInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"scheduledInstanceSet" : @"ScheduledInstanceSet", }; } + (NSValueTransformer *)scheduledInstanceSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ScheduledInstance class]]; } @end @implementation AWSEC2RebootInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceIds" : @"InstanceIds", }; } @end @implementation AWSEC2RecurringCharge + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"amount" : @"Amount", @"frequency" : @"Frequency", }; } + (NSValueTransformer *)frequencyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Hourly"] == NSOrderedSame) { return @(AWSEC2RecurringChargeFrequencyHourly); } return @(AWSEC2RecurringChargeFrequencyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2RecurringChargeFrequencyHourly: return @"Hourly"; default: return nil; } }]; } @end @implementation AWSEC2ReferencedSecurityGroup + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"groupId" : @"GroupId", @"peeringStatus" : @"PeeringStatus", @"userId" : @"UserId", @"vpcId" : @"VpcId", @"vpcPeeringConnectionId" : @"VpcPeeringConnectionId", }; } @end @implementation AWSEC2Region + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"endpoint" : @"Endpoint", @"optInStatus" : @"OptInStatus", @"regionName" : @"RegionName", }; } @end @implementation AWSEC2RegisterImageRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"architecture" : @"Architecture", @"billingProducts" : @"BillingProducts", @"blockDeviceMappings" : @"BlockDeviceMappings", @"bootMode" : @"BootMode", @"detail" : @"Description", @"dryRun" : @"DryRun", @"enaSupport" : @"EnaSupport", @"imageLocation" : @"ImageLocation", @"imdsSupport" : @"ImdsSupport", @"kernelId" : @"KernelId", @"name" : @"Name", @"ramdiskId" : @"RamdiskId", @"rootDeviceName" : @"RootDeviceName", @"sriovNetSupport" : @"SriovNetSupport", @"tpmSupport" : @"TpmSupport", @"uefiData" : @"UefiData", @"virtualizationType" : @"VirtualizationType", }; } + (NSValueTransformer *)architectureJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"i386"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesI386); } if ([value caseInsensitiveCompare:@"x86_64"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesX86_64); } if ([value caseInsensitiveCompare:@"arm64"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesArm64); } if ([value caseInsensitiveCompare:@"x86_64_mac"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesX8664Mac); } if ([value caseInsensitiveCompare:@"arm64_mac"] == NSOrderedSame) { return @(AWSEC2ArchitectureValuesArm64Mac); } return @(AWSEC2ArchitectureValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ArchitectureValuesI386: return @"i386"; case AWSEC2ArchitectureValuesX86_64: return @"x86_64"; case AWSEC2ArchitectureValuesArm64: return @"arm64"; case AWSEC2ArchitectureValuesX8664Mac: return @"x86_64_mac"; case AWSEC2ArchitectureValuesArm64Mac: return @"arm64_mac"; default: return nil; } }]; } + (NSValueTransformer *)blockDeviceMappingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2BlockDeviceMapping class]]; } + (NSValueTransformer *)bootModeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"legacy-bios"] == NSOrderedSame) { return @(AWSEC2BootModeValuesLegacyBios); } if ([value caseInsensitiveCompare:@"uefi"] == NSOrderedSame) { return @(AWSEC2BootModeValuesUefi); } if ([value caseInsensitiveCompare:@"uefi-preferred"] == NSOrderedSame) { return @(AWSEC2BootModeValuesUefiPreferred); } return @(AWSEC2BootModeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2BootModeValuesLegacyBios: return @"legacy-bios"; case AWSEC2BootModeValuesUefi: return @"uefi"; case AWSEC2BootModeValuesUefiPreferred: return @"uefi-preferred"; default: return nil; } }]; } + (NSValueTransformer *)imdsSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"v2.0"] == NSOrderedSame) { return @(AWSEC2ImdsSupportValuesV20); } return @(AWSEC2ImdsSupportValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ImdsSupportValuesV20: return @"v2.0"; default: return nil; } }]; } + (NSValueTransformer *)tpmSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"v2.0"] == NSOrderedSame) { return @(AWSEC2TpmSupportValuesV20); } return @(AWSEC2TpmSupportValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TpmSupportValuesV20: return @"v2.0"; default: return nil; } }]; } @end @implementation AWSEC2RegisterImageResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"imageId" : @"ImageId", }; } @end @implementation AWSEC2RegisterInstanceEventNotificationAttributesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceTagAttribute" : @"InstanceTagAttribute", }; } + (NSValueTransformer *)instanceTagAttributeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2RegisterInstanceTagAttributeRequest class]]; } @end @implementation AWSEC2RegisterInstanceEventNotificationAttributesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceTagAttribute" : @"InstanceTagAttribute", }; } + (NSValueTransformer *)instanceTagAttributeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceTagNotificationAttribute class]]; } @end @implementation AWSEC2RegisterInstanceTagAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"includeAllTagsOfInstance" : @"IncludeAllTagsOfInstance", @"instanceTagKeys" : @"InstanceTagKeys", }; } @end @implementation AWSEC2RegisterTransitGatewayMulticastGroupMembersRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"groupIpAddress" : @"GroupIpAddress", @"networkInterfaceIds" : @"NetworkInterfaceIds", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } @end @implementation AWSEC2RegisterTransitGatewayMulticastGroupMembersResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"registeredMulticastGroupMembers" : @"RegisteredMulticastGroupMembers", }; } + (NSValueTransformer *)registeredMulticastGroupMembersJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayMulticastRegisteredGroupMembers class]]; } @end @implementation AWSEC2RegisterTransitGatewayMulticastGroupSourcesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"groupIpAddress" : @"GroupIpAddress", @"networkInterfaceIds" : @"NetworkInterfaceIds", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } @end @implementation AWSEC2RegisterTransitGatewayMulticastGroupSourcesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"registeredMulticastGroupSources" : @"RegisteredMulticastGroupSources", }; } + (NSValueTransformer *)registeredMulticastGroupSourcesJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayMulticastRegisteredGroupSources class]]; } @end @implementation AWSEC2RejectTransitGatewayMulticastDomainAssociationsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"subnetIds" : @"SubnetIds", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } @end @implementation AWSEC2RejectTransitGatewayMulticastDomainAssociationsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associations" : @"Associations", }; } + (NSValueTransformer *)associationsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayMulticastDomainAssociations class]]; } @end @implementation AWSEC2RejectTransitGatewayPeeringAttachmentRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } @end @implementation AWSEC2RejectTransitGatewayPeeringAttachmentResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayPeeringAttachment" : @"TransitGatewayPeeringAttachment", }; } + (NSValueTransformer *)transitGatewayPeeringAttachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPeeringAttachment class]]; } @end @implementation AWSEC2RejectTransitGatewayVpcAttachmentRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } @end @implementation AWSEC2RejectTransitGatewayVpcAttachmentResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"transitGatewayVpcAttachment" : @"TransitGatewayVpcAttachment", }; } + (NSValueTransformer *)transitGatewayVpcAttachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayVpcAttachment class]]; } @end @implementation AWSEC2RejectVpcEndpointConnectionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"serviceId" : @"ServiceId", @"vpcEndpointIds" : @"VpcEndpointIds", }; } @end @implementation AWSEC2RejectVpcEndpointConnectionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"unsuccessful" : @"Unsuccessful", }; } + (NSValueTransformer *)unsuccessfulJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2UnsuccessfulItem class]]; } @end @implementation AWSEC2RejectVpcPeeringConnectionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"vpcPeeringConnectionId" : @"VpcPeeringConnectionId", }; } @end @implementation AWSEC2RejectVpcPeeringConnectionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ReleaseAddressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationId" : @"AllocationId", @"dryRun" : @"DryRun", @"networkBorderGroup" : @"NetworkBorderGroup", @"publicIp" : @"PublicIp", }; } @end @implementation AWSEC2ReleaseHostsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"hostIds" : @"HostIds", }; } @end @implementation AWSEC2ReleaseHostsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"successful" : @"Successful", @"unsuccessful" : @"Unsuccessful", }; } + (NSValueTransformer *)unsuccessfulJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2UnsuccessfulItem class]]; } @end @implementation AWSEC2ReleaseIpamPoolAllocationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"dryRun" : @"DryRun", @"ipamPoolAllocationId" : @"IpamPoolAllocationId", @"ipamPoolId" : @"IpamPoolId", }; } @end @implementation AWSEC2ReleaseIpamPoolAllocationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"success" : @"Success", }; } @end @implementation AWSEC2RemoveIpamOperatingRegion + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"regionName" : @"RegionName", }; } @end @implementation AWSEC2RemovePrefixListEntry + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", }; } @end @implementation AWSEC2ReplaceIamInstanceProfileAssociationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"iamInstanceProfile" : @"IamInstanceProfile", }; } + (NSValueTransformer *)iamInstanceProfileJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IamInstanceProfileSpecification class]]; } @end @implementation AWSEC2ReplaceIamInstanceProfileAssociationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"iamInstanceProfileAssociation" : @"IamInstanceProfileAssociation", }; } + (NSValueTransformer *)iamInstanceProfileAssociationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IamInstanceProfileAssociation class]]; } @end @implementation AWSEC2ReplaceNetworkAclAssociationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"dryRun" : @"DryRun", @"networkAclId" : @"NetworkAclId", }; } @end @implementation AWSEC2ReplaceNetworkAclAssociationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"latestAssociationId" : @"NewAssociationId", }; } @end @implementation AWSEC2ReplaceNetworkAclEntryRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrBlock" : @"CidrBlock", @"dryRun" : @"DryRun", @"egress" : @"Egress", @"icmpTypeCode" : @"IcmpTypeCode", @"ipv6CidrBlock" : @"Ipv6CidrBlock", @"networkAclId" : @"NetworkAclId", @"portRange" : @"PortRange", @"protocols" : @"Protocol", @"ruleAction" : @"RuleAction", @"ruleNumber" : @"RuleNumber", }; } + (NSValueTransformer *)icmpTypeCodeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IcmpTypeCode class]]; } + (NSValueTransformer *)portRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PortRange class]]; } + (NSValueTransformer *)ruleActionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"allow"] == NSOrderedSame) { return @(AWSEC2RuleActionAllow); } if ([value caseInsensitiveCompare:@"deny"] == NSOrderedSame) { return @(AWSEC2RuleActionDeny); } return @(AWSEC2RuleActionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2RuleActionAllow: return @"allow"; case AWSEC2RuleActionDeny: return @"deny"; default: return nil; } }]; } @end @implementation AWSEC2ReplaceRootVolumeTask + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"completeTime" : @"CompleteTime", @"deleteReplacedRootVolume" : @"DeleteReplacedRootVolume", @"imageId" : @"ImageId", @"instanceId" : @"InstanceId", @"replaceRootVolumeTaskId" : @"ReplaceRootVolumeTaskId", @"snapshotId" : @"SnapshotId", @"startTime" : @"StartTime", @"tags" : @"Tags", @"taskState" : @"TaskState", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)taskStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2ReplaceRootVolumeTaskStatePending); } if ([value caseInsensitiveCompare:@"in-progress"] == NSOrderedSame) { return @(AWSEC2ReplaceRootVolumeTaskStateInProgress); } if ([value caseInsensitiveCompare:@"failing"] == NSOrderedSame) { return @(AWSEC2ReplaceRootVolumeTaskStateFailing); } if ([value caseInsensitiveCompare:@"succeeded"] == NSOrderedSame) { return @(AWSEC2ReplaceRootVolumeTaskStateSucceeded); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2ReplaceRootVolumeTaskStateFailed); } if ([value caseInsensitiveCompare:@"failed-detached"] == NSOrderedSame) { return @(AWSEC2ReplaceRootVolumeTaskStateFailedDetached); } return @(AWSEC2ReplaceRootVolumeTaskStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ReplaceRootVolumeTaskStatePending: return @"pending"; case AWSEC2ReplaceRootVolumeTaskStateInProgress: return @"in-progress"; case AWSEC2ReplaceRootVolumeTaskStateFailing: return @"failing"; case AWSEC2ReplaceRootVolumeTaskStateSucceeded: return @"succeeded"; case AWSEC2ReplaceRootVolumeTaskStateFailed: return @"failed"; case AWSEC2ReplaceRootVolumeTaskStateFailedDetached: return @"failed-detached"; default: return nil; } }]; } @end @implementation AWSEC2ReplaceRouteRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"carrierGatewayId" : @"CarrierGatewayId", @"coreNetworkArn" : @"CoreNetworkArn", @"destinationCidrBlock" : @"DestinationCidrBlock", @"destinationIpv6CidrBlock" : @"DestinationIpv6CidrBlock", @"destinationPrefixListId" : @"DestinationPrefixListId", @"dryRun" : @"DryRun", @"egressOnlyInternetGatewayId" : @"EgressOnlyInternetGatewayId", @"gatewayId" : @"GatewayId", @"instanceId" : @"InstanceId", @"localGatewayId" : @"LocalGatewayId", @"localTarget" : @"LocalTarget", @"natGatewayId" : @"NatGatewayId", @"networkInterfaceId" : @"NetworkInterfaceId", @"routeTableId" : @"RouteTableId", @"transitGatewayId" : @"TransitGatewayId", @"vpcEndpointId" : @"VpcEndpointId", @"vpcPeeringConnectionId" : @"VpcPeeringConnectionId", }; } @end @implementation AWSEC2ReplaceRouteTableAssociationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"dryRun" : @"DryRun", @"routeTableId" : @"RouteTableId", }; } @end @implementation AWSEC2ReplaceRouteTableAssociationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationState" : @"AssociationState", @"latestAssociationId" : @"NewAssociationId", }; } + (NSValueTransformer *)associationStateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2RouteTableAssociationState class]]; } @end @implementation AWSEC2ReplaceTransitGatewayRouteRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blackhole" : @"Blackhole", @"destinationCidrBlock" : @"DestinationCidrBlock", @"dryRun" : @"DryRun", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } @end @implementation AWSEC2ReplaceTransitGatewayRouteResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"route" : @"Route", }; } + (NSValueTransformer *)routeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayRoute class]]; } @end @implementation AWSEC2ReplaceVpnTunnelRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"applyPendingMaintenance" : @"ApplyPendingMaintenance", @"dryRun" : @"DryRun", @"vpnConnectionId" : @"VpnConnectionId", @"vpnTunnelOutsideIpAddress" : @"VpnTunnelOutsideIpAddress", }; } @end @implementation AWSEC2ReplaceVpnTunnelResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ReportInstanceStatusRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"dryRun" : @"DryRun", @"endTime" : @"EndTime", @"instances" : @"Instances", @"reasonCodes" : @"ReasonCodes", @"startTime" : @"StartTime", @"status" : @"Status", }; } + (NSValueTransformer *)endTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)startTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ok"] == NSOrderedSame) { return @(AWSEC2ReportStatusTypeOK); } if ([value caseInsensitiveCompare:@"impaired"] == NSOrderedSame) { return @(AWSEC2ReportStatusTypeImpaired); } return @(AWSEC2ReportStatusTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ReportStatusTypeOK: return @"ok"; case AWSEC2ReportStatusTypeImpaired: return @"impaired"; default: return nil; } }]; } @end @implementation AWSEC2RequestFilterPortRange + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fromPort" : @"FromPort", @"toPort" : @"ToPort", }; } @end @implementation AWSEC2RequestIpamResourceTag + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"key" : @"Key", @"value" : @"Value", }; } @end @implementation AWSEC2RequestLaunchTemplateData + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blockDeviceMappings" : @"BlockDeviceMappings", @"capacityReservationSpecification" : @"CapacityReservationSpecification", @"cpuOptions" : @"CpuOptions", @"creditSpecification" : @"CreditSpecification", @"disableApiStop" : @"DisableApiStop", @"disableApiTermination" : @"DisableApiTermination", @"ebsOptimized" : @"EbsOptimized", @"elasticGpuSpecifications" : @"ElasticGpuSpecifications", @"elasticInferenceAccelerators" : @"ElasticInferenceAccelerators", @"enclaveOptions" : @"EnclaveOptions", @"hibernationOptions" : @"HibernationOptions", @"iamInstanceProfile" : @"IamInstanceProfile", @"imageId" : @"ImageId", @"instanceInitiatedShutdownBehavior" : @"InstanceInitiatedShutdownBehavior", @"instanceMarketOptions" : @"InstanceMarketOptions", @"instanceRequirements" : @"InstanceRequirements", @"instanceType" : @"InstanceType", @"kernelId" : @"KernelId", @"keyName" : @"KeyName", @"licenseSpecifications" : @"LicenseSpecifications", @"maintenanceOptions" : @"MaintenanceOptions", @"metadataOptions" : @"MetadataOptions", @"monitoring" : @"Monitoring", @"networkInterfaces" : @"NetworkInterfaces", @"placement" : @"Placement", @"privateDnsNameOptions" : @"PrivateDnsNameOptions", @"ramDiskId" : @"RamDiskId", @"securityGroupIds" : @"SecurityGroupIds", @"securityGroups" : @"SecurityGroups", @"tagSpecifications" : @"TagSpecifications", @"userData" : @"UserData", }; } + (NSValueTransformer *)blockDeviceMappingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchTemplateBlockDeviceMappingRequest class]]; } + (NSValueTransformer *)capacityReservationSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateCapacityReservationSpecificationRequest class]]; } + (NSValueTransformer *)cpuOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateCpuOptionsRequest class]]; } + (NSValueTransformer *)creditSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CreditSpecificationRequest class]]; } + (NSValueTransformer *)elasticGpuSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ElasticGpuSpecification class]]; } + (NSValueTransformer *)elasticInferenceAcceleratorsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchTemplateElasticInferenceAccelerator class]]; } + (NSValueTransformer *)enclaveOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateEnclaveOptionsRequest class]]; } + (NSValueTransformer *)hibernationOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateHibernationOptionsRequest class]]; } + (NSValueTransformer *)iamInstanceProfileJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateIamInstanceProfileSpecificationRequest class]]; } + (NSValueTransformer *)instanceInitiatedShutdownBehaviorJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"stop"] == NSOrderedSame) { return @(AWSEC2ShutdownBehaviorStop); } if ([value caseInsensitiveCompare:@"terminate"] == NSOrderedSame) { return @(AWSEC2ShutdownBehaviorTerminate); } return @(AWSEC2ShutdownBehaviorUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ShutdownBehaviorStop: return @"stop"; case AWSEC2ShutdownBehaviorTerminate: return @"terminate"; default: return nil; } }]; } + (NSValueTransformer *)instanceMarketOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateInstanceMarketOptionsRequest class]]; } + (NSValueTransformer *)instanceRequirementsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceRequirementsRequest class]]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)licenseSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchTemplateLicenseConfigurationRequest class]]; } + (NSValueTransformer *)maintenanceOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateInstanceMaintenanceOptionsRequest class]]; } + (NSValueTransformer *)metadataOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateInstanceMetadataOptionsRequest class]]; } + (NSValueTransformer *)monitoringJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplatesMonitoringRequest class]]; } + (NSValueTransformer *)networkInterfacesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchTemplateInstanceNetworkInterfaceSpecificationRequest class]]; } + (NSValueTransformer *)placementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplatePlacementRequest class]]; } + (NSValueTransformer *)privateDnsNameOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplatePrivateDnsNameOptionsRequest class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchTemplateTagSpecificationRequest class]]; } @end @implementation AWSEC2RequestSpotFleetRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"spotFleetRequestConfig" : @"SpotFleetRequestConfig", }; } + (NSValueTransformer *)spotFleetRequestConfigJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotFleetRequestConfigData class]]; } @end @implementation AWSEC2RequestSpotFleetResponse + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"spotFleetRequestId" : @"SpotFleetRequestId", }; } @end @implementation AWSEC2RequestSpotInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZoneGroup" : @"AvailabilityZoneGroup", @"blockDurationMinutes" : @"BlockDurationMinutes", @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"instanceCount" : @"InstanceCount", @"instanceInterruptionBehavior" : @"InstanceInterruptionBehavior", @"launchGroup" : @"LaunchGroup", @"launchSpecification" : @"LaunchSpecification", @"spotPrice" : @"SpotPrice", @"tagSpecifications" : @"TagSpecifications", @"types" : @"Type", @"validFrom" : @"ValidFrom", @"validUntil" : @"ValidUntil", }; } + (NSValueTransformer *)instanceInterruptionBehaviorJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"hibernate"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorHibernate); } if ([value caseInsensitiveCompare:@"stop"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorStop); } if ([value caseInsensitiveCompare:@"terminate"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorTerminate); } return @(AWSEC2InstanceInterruptionBehaviorUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceInterruptionBehaviorHibernate: return @"hibernate"; case AWSEC2InstanceInterruptionBehaviorStop: return @"stop"; case AWSEC2InstanceInterruptionBehaviorTerminate: return @"terminate"; default: return nil; } }]; } + (NSValueTransformer *)launchSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2RequestSpotLaunchSpecification class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"one-time"] == NSOrderedSame) { return @(AWSEC2SpotInstanceTypeOneTime); } if ([value caseInsensitiveCompare:@"persistent"] == NSOrderedSame) { return @(AWSEC2SpotInstanceTypePersistent); } return @(AWSEC2SpotInstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SpotInstanceTypeOneTime: return @"one-time"; case AWSEC2SpotInstanceTypePersistent: return @"persistent"; default: return nil; } }]; } + (NSValueTransformer *)validFromJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)validUntilJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2RequestSpotInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"spotInstanceRequests" : @"SpotInstanceRequests", }; } + (NSValueTransformer *)spotInstanceRequestsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SpotInstanceRequest class]]; } @end @implementation AWSEC2RequestSpotLaunchSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addressingType" : @"AddressingType", @"blockDeviceMappings" : @"BlockDeviceMappings", @"ebsOptimized" : @"EbsOptimized", @"iamInstanceProfile" : @"IamInstanceProfile", @"imageId" : @"ImageId", @"instanceType" : @"InstanceType", @"kernelId" : @"KernelId", @"keyName" : @"KeyName", @"monitoring" : @"Monitoring", @"networkInterfaces" : @"NetworkInterfaces", @"placement" : @"Placement", @"ramdiskId" : @"RamdiskId", @"securityGroupIds" : @"SecurityGroupIds", @"securityGroups" : @"SecurityGroups", @"subnetId" : @"SubnetId", @"userData" : @"UserData", }; } + (NSValueTransformer *)blockDeviceMappingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2BlockDeviceMapping class]]; } + (NSValueTransformer *)iamInstanceProfileJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IamInstanceProfileSpecification class]]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)monitoringJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2RunInstancesMonitoringEnabled class]]; } + (NSValueTransformer *)networkInterfacesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceNetworkInterfaceSpecification class]]; } + (NSValueTransformer *)placementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotPlacement class]]; } @end @implementation AWSEC2Reservation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"groups" : @"Groups", @"instances" : @"Instances", @"ownerId" : @"OwnerId", @"requesterId" : @"RequesterId", @"reservationId" : @"ReservationId", }; } + (NSValueTransformer *)groupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2GroupIdentifier class]]; } + (NSValueTransformer *)instancesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Instance class]]; } @end @implementation AWSEC2ReservationFleetInstanceSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"availabilityZoneId" : @"AvailabilityZoneId", @"ebsOptimized" : @"EbsOptimized", @"instancePlatform" : @"InstancePlatform", @"instanceType" : @"InstanceType", @"priority" : @"Priority", @"weight" : @"Weight", }; } + (NSValueTransformer *)instancePlatformJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Linux/UNIX"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxUNIX); } if ([value caseInsensitiveCompare:@"Red Hat Enterprise Linux"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRedHatEnterpriseLinux); } if ([value caseInsensitiveCompare:@"SUSE Linux"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformSUSELinux); } if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindows); } if ([value caseInsensitiveCompare:@"Windows with SQL Server"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServer); } if ([value caseInsensitiveCompare:@"Windows with SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerEnterprise); } if ([value caseInsensitiveCompare:@"Windows with SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerStandard); } if ([value caseInsensitiveCompare:@"Windows with SQL Server Web"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerWeb); } if ([value caseInsensitiveCompare:@"Linux with SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerStandard); } if ([value caseInsensitiveCompare:@"Linux with SQL Server Web"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerWeb); } if ([value caseInsensitiveCompare:@"Linux with SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerEnterprise); } if ([value caseInsensitiveCompare:@"RHEL with SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerStandard); } if ([value caseInsensitiveCompare:@"RHEL with SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerEnterprise); } if ([value caseInsensitiveCompare:@"RHEL with SQL Server Web"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerWeb); } if ([value caseInsensitiveCompare:@"RHEL with HA"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHA); } if ([value caseInsensitiveCompare:@"RHEL with HA and SQL Server Standard"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerStandard); } if ([value caseInsensitiveCompare:@"RHEL with HA and SQL Server Enterprise"] == NSOrderedSame) { return @(AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise); } return @(AWSEC2CapacityReservationInstancePlatformUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CapacityReservationInstancePlatformLinuxUNIX: return @"Linux/UNIX"; case AWSEC2CapacityReservationInstancePlatformRedHatEnterpriseLinux: return @"Red Hat Enterprise Linux"; case AWSEC2CapacityReservationInstancePlatformSUSELinux: return @"SUSE Linux"; case AWSEC2CapacityReservationInstancePlatformWindows: return @"Windows"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServer: return @"Windows with SQL Server"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerEnterprise: return @"Windows with SQL Server Enterprise"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerStandard: return @"Windows with SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformWindowsWithSQLServerWeb: return @"Windows with SQL Server Web"; case AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerStandard: return @"Linux with SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerWeb: return @"Linux with SQL Server Web"; case AWSEC2CapacityReservationInstancePlatformLinuxWithSQLServerEnterprise: return @"Linux with SQL Server Enterprise"; case AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerStandard: return @"RHEL with SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerEnterprise: return @"RHEL with SQL Server Enterprise"; case AWSEC2CapacityReservationInstancePlatformRHELWithSQLServerWeb: return @"RHEL with SQL Server Web"; case AWSEC2CapacityReservationInstancePlatformRHELWithHA: return @"RHEL with HA"; case AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerStandard: return @"RHEL with HA and SQL Server Standard"; case AWSEC2CapacityReservationInstancePlatformRHELWithHAAndSQLServerEnterprise: return @"RHEL with HA and SQL Server Enterprise"; default: return nil; } }]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } @end @implementation AWSEC2ReservationValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"hourlyPrice" : @"HourlyPrice", @"remainingTotalValue" : @"RemainingTotalValue", @"remainingUpfrontValue" : @"RemainingUpfrontValue", }; } @end @implementation AWSEC2ReservedInstanceLimitPrice + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"amount" : @"Amount", @"currencyCode" : @"CurrencyCode", }; } + (NSValueTransformer *)currencyCodeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"USD"] == NSOrderedSame) { return @(AWSEC2CurrencyCodeValuesUSD); } return @(AWSEC2CurrencyCodeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CurrencyCodeValuesUSD: return @"USD"; default: return nil; } }]; } @end @implementation AWSEC2ReservedInstanceReservationValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"reservationValue" : @"ReservationValue", @"reservedInstanceId" : @"ReservedInstanceId", }; } + (NSValueTransformer *)reservationValueJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ReservationValue class]]; } @end @implementation AWSEC2ReservedInstances + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"currencyCode" : @"CurrencyCode", @"duration" : @"Duration", @"end" : @"End", @"fixedPrice" : @"FixedPrice", @"instanceCount" : @"InstanceCount", @"instanceTenancy" : @"InstanceTenancy", @"instanceType" : @"InstanceType", @"offeringClass" : @"OfferingClass", @"offeringType" : @"OfferingType", @"productDescription" : @"ProductDescription", @"recurringCharges" : @"RecurringCharges", @"reservedInstancesId" : @"ReservedInstancesId", @"scope" : @"Scope", @"start" : @"Start", @"state" : @"State", @"tags" : @"Tags", @"usagePrice" : @"UsagePrice", }; } + (NSValueTransformer *)currencyCodeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"USD"] == NSOrderedSame) { return @(AWSEC2CurrencyCodeValuesUSD); } return @(AWSEC2CurrencyCodeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CurrencyCodeValuesUSD: return @"USD"; default: return nil; } }]; } + (NSValueTransformer *)endJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)instanceTenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2TenancyDefault); } if ([value caseInsensitiveCompare:@"dedicated"] == NSOrderedSame) { return @(AWSEC2TenancyDedicated); } if ([value caseInsensitiveCompare:@"host"] == NSOrderedSame) { return @(AWSEC2TenancyHost); } return @(AWSEC2TenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TenancyDefault: return @"default"; case AWSEC2TenancyDedicated: return @"dedicated"; case AWSEC2TenancyHost: return @"host"; default: return nil; } }]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)offeringClassJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2OfferingClassTypeStandard); } if ([value caseInsensitiveCompare:@"convertible"] == NSOrderedSame) { return @(AWSEC2OfferingClassTypeConvertible); } return @(AWSEC2OfferingClassTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2OfferingClassTypeStandard: return @"standard"; case AWSEC2OfferingClassTypeConvertible: return @"convertible"; default: return nil; } }]; } + (NSValueTransformer *)offeringTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Heavy Utilization"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesHeavyUtilization); } if ([value caseInsensitiveCompare:@"Medium Utilization"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesMediumUtilization); } if ([value caseInsensitiveCompare:@"Light Utilization"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesLightUtilization); } if ([value caseInsensitiveCompare:@"No Upfront"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesNoUpfront); } if ([value caseInsensitiveCompare:@"Partial Upfront"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesPartialUpfront); } if ([value caseInsensitiveCompare:@"All Upfront"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesAllUpfront); } return @(AWSEC2OfferingTypeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2OfferingTypeValuesHeavyUtilization: return @"Heavy Utilization"; case AWSEC2OfferingTypeValuesMediumUtilization: return @"Medium Utilization"; case AWSEC2OfferingTypeValuesLightUtilization: return @"Light Utilization"; case AWSEC2OfferingTypeValuesNoUpfront: return @"No Upfront"; case AWSEC2OfferingTypeValuesPartialUpfront: return @"Partial Upfront"; case AWSEC2OfferingTypeValuesAllUpfront: return @"All Upfront"; default: return nil; } }]; } + (NSValueTransformer *)productDescriptionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Linux/UNIX"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionLinuxUNIX); } if ([value caseInsensitiveCompare:@"Linux/UNIX (Amazon VPC)"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionLinuxUNIXAmazonVPC); } if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionWindows); } if ([value caseInsensitiveCompare:@"Windows (Amazon VPC)"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionWindowsAmazonVPC); } return @(AWSEC2RIProductDescriptionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2RIProductDescriptionLinuxUNIX: return @"Linux/UNIX"; case AWSEC2RIProductDescriptionLinuxUNIXAmazonVPC: return @"Linux/UNIX (Amazon VPC)"; case AWSEC2RIProductDescriptionWindows: return @"Windows"; case AWSEC2RIProductDescriptionWindowsAmazonVPC: return @"Windows (Amazon VPC)"; default: return nil; } }]; } + (NSValueTransformer *)recurringChargesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2RecurringCharge class]]; } + (NSValueTransformer *)scopeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Availability Zone"] == NSOrderedSame) { return @(AWSEC2scopeAvailabilityZone); } if ([value caseInsensitiveCompare:@"Region"] == NSOrderedSame) { return @(AWSEC2scopeRegion); } return @(AWSEC2scopeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2scopeAvailabilityZone: return @"Availability Zone"; case AWSEC2scopeRegion: return @"Region"; default: return nil; } }]; } + (NSValueTransformer *)startJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"payment-pending"] == NSOrderedSame) { return @(AWSEC2ReservedInstanceStatePaymentPending); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2ReservedInstanceStateActive); } if ([value caseInsensitiveCompare:@"payment-failed"] == NSOrderedSame) { return @(AWSEC2ReservedInstanceStatePaymentFailed); } if ([value caseInsensitiveCompare:@"retired"] == NSOrderedSame) { return @(AWSEC2ReservedInstanceStateRetired); } if ([value caseInsensitiveCompare:@"queued"] == NSOrderedSame) { return @(AWSEC2ReservedInstanceStateQueued); } if ([value caseInsensitiveCompare:@"queued-deleted"] == NSOrderedSame) { return @(AWSEC2ReservedInstanceStateQueuedDeleted); } return @(AWSEC2ReservedInstanceStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ReservedInstanceStatePaymentPending: return @"payment-pending"; case AWSEC2ReservedInstanceStateActive: return @"active"; case AWSEC2ReservedInstanceStatePaymentFailed: return @"payment-failed"; case AWSEC2ReservedInstanceStateRetired: return @"retired"; case AWSEC2ReservedInstanceStateQueued: return @"queued"; case AWSEC2ReservedInstanceStateQueuedDeleted: return @"queued-deleted"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ReservedInstancesConfiguration + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"instanceCount" : @"InstanceCount", @"instanceType" : @"InstanceType", @"platform" : @"Platform", @"scope" : @"Scope", }; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)scopeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Availability Zone"] == NSOrderedSame) { return @(AWSEC2scopeAvailabilityZone); } if ([value caseInsensitiveCompare:@"Region"] == NSOrderedSame) { return @(AWSEC2scopeRegion); } return @(AWSEC2scopeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2scopeAvailabilityZone: return @"Availability Zone"; case AWSEC2scopeRegion: return @"Region"; default: return nil; } }]; } @end @implementation AWSEC2ReservedInstancesId + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"reservedInstancesId" : @"ReservedInstancesId", }; } @end @implementation AWSEC2ReservedInstancesListing + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"createDate" : @"CreateDate", @"instanceCounts" : @"InstanceCounts", @"priceSchedules" : @"PriceSchedules", @"reservedInstancesId" : @"ReservedInstancesId", @"reservedInstancesListingId" : @"ReservedInstancesListingId", @"status" : @"Status", @"statusMessage" : @"StatusMessage", @"tags" : @"Tags", @"updateDate" : @"UpdateDate", }; } + (NSValueTransformer *)createDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)instanceCountsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceCount class]]; } + (NSValueTransformer *)priceSchedulesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PriceSchedule class]]; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2ListingStatusActive); } if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2ListingStatusPending); } if ([value caseInsensitiveCompare:@"cancelled"] == NSOrderedSame) { return @(AWSEC2ListingStatusCancelled); } if ([value caseInsensitiveCompare:@"closed"] == NSOrderedSame) { return @(AWSEC2ListingStatusClosed); } return @(AWSEC2ListingStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ListingStatusActive: return @"active"; case AWSEC2ListingStatusPending: return @"pending"; case AWSEC2ListingStatusCancelled: return @"cancelled"; case AWSEC2ListingStatusClosed: return @"closed"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)updateDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2ReservedInstancesModification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"createDate" : @"CreateDate", @"effectiveDate" : @"EffectiveDate", @"modificationResults" : @"ModificationResults", @"reservedInstancesIds" : @"ReservedInstancesIds", @"reservedInstancesModificationId" : @"ReservedInstancesModificationId", @"status" : @"Status", @"statusMessage" : @"StatusMessage", @"updateDate" : @"UpdateDate", }; } + (NSValueTransformer *)createDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)effectiveDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)modificationResultsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ReservedInstancesModificationResult class]]; } + (NSValueTransformer *)reservedInstancesIdsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ReservedInstancesId class]]; } + (NSValueTransformer *)updateDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2ReservedInstancesModificationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"reservedInstancesId" : @"ReservedInstancesId", @"targetConfiguration" : @"TargetConfiguration", }; } + (NSValueTransformer *)targetConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ReservedInstancesConfiguration class]]; } @end @implementation AWSEC2ReservedInstancesOffering + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"currencyCode" : @"CurrencyCode", @"duration" : @"Duration", @"fixedPrice" : @"FixedPrice", @"instanceTenancy" : @"InstanceTenancy", @"instanceType" : @"InstanceType", @"marketplace" : @"Marketplace", @"offeringClass" : @"OfferingClass", @"offeringType" : @"OfferingType", @"pricingDetails" : @"PricingDetails", @"productDescription" : @"ProductDescription", @"recurringCharges" : @"RecurringCharges", @"reservedInstancesOfferingId" : @"ReservedInstancesOfferingId", @"scope" : @"Scope", @"usagePrice" : @"UsagePrice", }; } + (NSValueTransformer *)currencyCodeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"USD"] == NSOrderedSame) { return @(AWSEC2CurrencyCodeValuesUSD); } return @(AWSEC2CurrencyCodeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2CurrencyCodeValuesUSD: return @"USD"; default: return nil; } }]; } + (NSValueTransformer *)instanceTenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2TenancyDefault); } if ([value caseInsensitiveCompare:@"dedicated"] == NSOrderedSame) { return @(AWSEC2TenancyDedicated); } if ([value caseInsensitiveCompare:@"host"] == NSOrderedSame) { return @(AWSEC2TenancyHost); } return @(AWSEC2TenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TenancyDefault: return @"default"; case AWSEC2TenancyDedicated: return @"dedicated"; case AWSEC2TenancyHost: return @"host"; default: return nil; } }]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)offeringClassJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2OfferingClassTypeStandard); } if ([value caseInsensitiveCompare:@"convertible"] == NSOrderedSame) { return @(AWSEC2OfferingClassTypeConvertible); } return @(AWSEC2OfferingClassTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2OfferingClassTypeStandard: return @"standard"; case AWSEC2OfferingClassTypeConvertible: return @"convertible"; default: return nil; } }]; } + (NSValueTransformer *)offeringTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Heavy Utilization"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesHeavyUtilization); } if ([value caseInsensitiveCompare:@"Medium Utilization"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesMediumUtilization); } if ([value caseInsensitiveCompare:@"Light Utilization"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesLightUtilization); } if ([value caseInsensitiveCompare:@"No Upfront"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesNoUpfront); } if ([value caseInsensitiveCompare:@"Partial Upfront"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesPartialUpfront); } if ([value caseInsensitiveCompare:@"All Upfront"] == NSOrderedSame) { return @(AWSEC2OfferingTypeValuesAllUpfront); } return @(AWSEC2OfferingTypeValuesUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2OfferingTypeValuesHeavyUtilization: return @"Heavy Utilization"; case AWSEC2OfferingTypeValuesMediumUtilization: return @"Medium Utilization"; case AWSEC2OfferingTypeValuesLightUtilization: return @"Light Utilization"; case AWSEC2OfferingTypeValuesNoUpfront: return @"No Upfront"; case AWSEC2OfferingTypeValuesPartialUpfront: return @"Partial Upfront"; case AWSEC2OfferingTypeValuesAllUpfront: return @"All Upfront"; default: return nil; } }]; } + (NSValueTransformer *)pricingDetailsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PricingDetail class]]; } + (NSValueTransformer *)productDescriptionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Linux/UNIX"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionLinuxUNIX); } if ([value caseInsensitiveCompare:@"Linux/UNIX (Amazon VPC)"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionLinuxUNIXAmazonVPC); } if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionWindows); } if ([value caseInsensitiveCompare:@"Windows (Amazon VPC)"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionWindowsAmazonVPC); } return @(AWSEC2RIProductDescriptionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2RIProductDescriptionLinuxUNIX: return @"Linux/UNIX"; case AWSEC2RIProductDescriptionLinuxUNIXAmazonVPC: return @"Linux/UNIX (Amazon VPC)"; case AWSEC2RIProductDescriptionWindows: return @"Windows"; case AWSEC2RIProductDescriptionWindowsAmazonVPC: return @"Windows (Amazon VPC)"; default: return nil; } }]; } + (NSValueTransformer *)recurringChargesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2RecurringCharge class]]; } + (NSValueTransformer *)scopeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Availability Zone"] == NSOrderedSame) { return @(AWSEC2scopeAvailabilityZone); } if ([value caseInsensitiveCompare:@"Region"] == NSOrderedSame) { return @(AWSEC2scopeRegion); } return @(AWSEC2scopeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2scopeAvailabilityZone: return @"Availability Zone"; case AWSEC2scopeRegion: return @"Region"; default: return nil; } }]; } @end @implementation AWSEC2ResetAddressAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationId" : @"AllocationId", @"attribute" : @"Attribute", @"dryRun" : @"DryRun", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"domain-name"] == NSOrderedSame) { return @(AWSEC2AddressAttributeNameDomainName); } return @(AWSEC2AddressAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AddressAttributeNameDomainName: return @"domain-name"; default: return nil; } }]; } @end @implementation AWSEC2ResetAddressAttributeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"address" : @"Address", }; } + (NSValueTransformer *)addressJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AddressAttribute class]]; } @end @implementation AWSEC2ResetEbsDefaultKmsKeyIdRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2ResetEbsDefaultKmsKeyIdResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"kmsKeyId" : @"KmsKeyId", }; } @end @implementation AWSEC2ResetFpgaImageAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attribute" : @"Attribute", @"dryRun" : @"DryRun", @"fpgaImageId" : @"FpgaImageId", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"loadPermission"] == NSOrderedSame) { return @(AWSEC2ResetFpgaImageAttributeNameLoadPermission); } return @(AWSEC2ResetFpgaImageAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ResetFpgaImageAttributeNameLoadPermission: return @"loadPermission"; default: return nil; } }]; } @end @implementation AWSEC2ResetFpgaImageAttributeResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2ResetImageAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attribute" : @"Attribute", @"dryRun" : @"DryRun", @"imageId" : @"ImageId", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"launchPermission"] == NSOrderedSame) { return @(AWSEC2ResetImageAttributeNameLaunchPermission); } return @(AWSEC2ResetImageAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ResetImageAttributeNameLaunchPermission: return @"launchPermission"; default: return nil; } }]; } @end @implementation AWSEC2ResetInstanceAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attribute" : @"Attribute", @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"instanceType"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameInstanceType); } if ([value caseInsensitiveCompare:@"kernel"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameKernel); } if ([value caseInsensitiveCompare:@"ramdisk"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameRAMDisk); } if ([value caseInsensitiveCompare:@"userData"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameUserData); } if ([value caseInsensitiveCompare:@"disableApiTermination"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameDisableApiTermination); } if ([value caseInsensitiveCompare:@"instanceInitiatedShutdownBehavior"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameInstanceInitiatedShutdownBehavior); } if ([value caseInsensitiveCompare:@"rootDeviceName"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameRootDeviceName); } if ([value caseInsensitiveCompare:@"blockDeviceMapping"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameBlockDeviceMapping); } if ([value caseInsensitiveCompare:@"productCodes"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameProductCodes); } if ([value caseInsensitiveCompare:@"sourceDestCheck"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameSourceDestCheck); } if ([value caseInsensitiveCompare:@"groupSet"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameGroupSet); } if ([value caseInsensitiveCompare:@"ebsOptimized"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameEBSOptimized); } if ([value caseInsensitiveCompare:@"sriovNetSupport"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameSriovNetSupport); } if ([value caseInsensitiveCompare:@"enaSupport"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameEnaSupport); } if ([value caseInsensitiveCompare:@"enclaveOptions"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameEnclaveOptions); } if ([value caseInsensitiveCompare:@"disableApiStop"] == NSOrderedSame) { return @(AWSEC2InstanceAttributeNameDisableApiStop); } return @(AWSEC2InstanceAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceAttributeNameInstanceType: return @"instanceType"; case AWSEC2InstanceAttributeNameKernel: return @"kernel"; case AWSEC2InstanceAttributeNameRAMDisk: return @"ramdisk"; case AWSEC2InstanceAttributeNameUserData: return @"userData"; case AWSEC2InstanceAttributeNameDisableApiTermination: return @"disableApiTermination"; case AWSEC2InstanceAttributeNameInstanceInitiatedShutdownBehavior: return @"instanceInitiatedShutdownBehavior"; case AWSEC2InstanceAttributeNameRootDeviceName: return @"rootDeviceName"; case AWSEC2InstanceAttributeNameBlockDeviceMapping: return @"blockDeviceMapping"; case AWSEC2InstanceAttributeNameProductCodes: return @"productCodes"; case AWSEC2InstanceAttributeNameSourceDestCheck: return @"sourceDestCheck"; case AWSEC2InstanceAttributeNameGroupSet: return @"groupSet"; case AWSEC2InstanceAttributeNameEBSOptimized: return @"ebsOptimized"; case AWSEC2InstanceAttributeNameSriovNetSupport: return @"sriovNetSupport"; case AWSEC2InstanceAttributeNameEnaSupport: return @"enaSupport"; case AWSEC2InstanceAttributeNameEnclaveOptions: return @"enclaveOptions"; case AWSEC2InstanceAttributeNameDisableApiStop: return @"disableApiStop"; default: return nil; } }]; } @end @implementation AWSEC2ResetNetworkInterfaceAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"networkInterfaceId" : @"NetworkInterfaceId", @"sourceDestCheck" : @"SourceDestCheck", }; } @end @implementation AWSEC2ResetSnapshotAttributeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attribute" : @"Attribute", @"dryRun" : @"DryRun", @"snapshotId" : @"SnapshotId", }; } + (NSValueTransformer *)attributeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"productCodes"] == NSOrderedSame) { return @(AWSEC2SnapshotAttributeNameProductCodes); } if ([value caseInsensitiveCompare:@"createVolumePermission"] == NSOrderedSame) { return @(AWSEC2SnapshotAttributeNameCreateVolumePermission); } return @(AWSEC2SnapshotAttributeNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SnapshotAttributeNameProductCodes: return @"productCodes"; case AWSEC2SnapshotAttributeNameCreateVolumePermission: return @"createVolumePermission"; default: return nil; } }]; } @end @implementation AWSEC2ResourceStatement + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceTypes" : @"ResourceTypes", @"resources" : @"Resources", }; } @end @implementation AWSEC2ResourceStatementRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceTypes" : @"ResourceTypes", @"resources" : @"Resources", }; } @end @implementation AWSEC2ResponseError + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"launchTemplateIdDoesNotExist"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist); } if ([value caseInsensitiveCompare:@"launchTemplateIdMalformed"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateErrorCodeLaunchTemplateIdMalformed); } if ([value caseInsensitiveCompare:@"launchTemplateNameDoesNotExist"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist); } if ([value caseInsensitiveCompare:@"launchTemplateNameMalformed"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateErrorCodeLaunchTemplateNameMalformed); } if ([value caseInsensitiveCompare:@"launchTemplateVersionDoesNotExist"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist); } if ([value caseInsensitiveCompare:@"unexpectedError"] == NSOrderedSame) { return @(AWSEC2LaunchTemplateErrorCodeUnexpectedError); } return @(AWSEC2LaunchTemplateErrorCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2LaunchTemplateErrorCodeLaunchTemplateIdDoesNotExist: return @"launchTemplateIdDoesNotExist"; case AWSEC2LaunchTemplateErrorCodeLaunchTemplateIdMalformed: return @"launchTemplateIdMalformed"; case AWSEC2LaunchTemplateErrorCodeLaunchTemplateNameDoesNotExist: return @"launchTemplateNameDoesNotExist"; case AWSEC2LaunchTemplateErrorCodeLaunchTemplateNameMalformed: return @"launchTemplateNameMalformed"; case AWSEC2LaunchTemplateErrorCodeLaunchTemplateVersionDoesNotExist: return @"launchTemplateVersionDoesNotExist"; case AWSEC2LaunchTemplateErrorCodeUnexpectedError: return @"unexpectedError"; default: return nil; } }]; } @end @implementation AWSEC2ResponseLaunchTemplateData + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blockDeviceMappings" : @"BlockDeviceMappings", @"capacityReservationSpecification" : @"CapacityReservationSpecification", @"cpuOptions" : @"CpuOptions", @"creditSpecification" : @"CreditSpecification", @"disableApiStop" : @"DisableApiStop", @"disableApiTermination" : @"DisableApiTermination", @"ebsOptimized" : @"EbsOptimized", @"elasticGpuSpecifications" : @"ElasticGpuSpecifications", @"elasticInferenceAccelerators" : @"ElasticInferenceAccelerators", @"enclaveOptions" : @"EnclaveOptions", @"hibernationOptions" : @"HibernationOptions", @"iamInstanceProfile" : @"IamInstanceProfile", @"imageId" : @"ImageId", @"instanceInitiatedShutdownBehavior" : @"InstanceInitiatedShutdownBehavior", @"instanceMarketOptions" : @"InstanceMarketOptions", @"instanceRequirements" : @"InstanceRequirements", @"instanceType" : @"InstanceType", @"kernelId" : @"KernelId", @"keyName" : @"KeyName", @"licenseSpecifications" : @"LicenseSpecifications", @"maintenanceOptions" : @"MaintenanceOptions", @"metadataOptions" : @"MetadataOptions", @"monitoring" : @"Monitoring", @"networkInterfaces" : @"NetworkInterfaces", @"placement" : @"Placement", @"privateDnsNameOptions" : @"PrivateDnsNameOptions", @"ramDiskId" : @"RamDiskId", @"securityGroupIds" : @"SecurityGroupIds", @"securityGroups" : @"SecurityGroups", @"tagSpecifications" : @"TagSpecifications", @"userData" : @"UserData", }; } + (NSValueTransformer *)blockDeviceMappingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchTemplateBlockDeviceMapping class]]; } + (NSValueTransformer *)capacityReservationSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateCapacityReservationSpecificationResponse class]]; } + (NSValueTransformer *)cpuOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateCpuOptions class]]; } + (NSValueTransformer *)creditSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CreditSpecification class]]; } + (NSValueTransformer *)elasticGpuSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ElasticGpuSpecificationResponse class]]; } + (NSValueTransformer *)elasticInferenceAcceleratorsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchTemplateElasticInferenceAcceleratorResponse class]]; } + (NSValueTransformer *)enclaveOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateEnclaveOptions class]]; } + (NSValueTransformer *)hibernationOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateHibernationOptions class]]; } + (NSValueTransformer *)iamInstanceProfileJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateIamInstanceProfileSpecification class]]; } + (NSValueTransformer *)instanceInitiatedShutdownBehaviorJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"stop"] == NSOrderedSame) { return @(AWSEC2ShutdownBehaviorStop); } if ([value caseInsensitiveCompare:@"terminate"] == NSOrderedSame) { return @(AWSEC2ShutdownBehaviorTerminate); } return @(AWSEC2ShutdownBehaviorUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ShutdownBehaviorStop: return @"stop"; case AWSEC2ShutdownBehaviorTerminate: return @"terminate"; default: return nil; } }]; } + (NSValueTransformer *)instanceMarketOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateInstanceMarketOptions class]]; } + (NSValueTransformer *)instanceRequirementsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceRequirements class]]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)licenseSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchTemplateLicenseConfiguration class]]; } + (NSValueTransformer *)maintenanceOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateInstanceMaintenanceOptions class]]; } + (NSValueTransformer *)metadataOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateInstanceMetadataOptions class]]; } + (NSValueTransformer *)monitoringJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplatesMonitoring class]]; } + (NSValueTransformer *)networkInterfacesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchTemplateInstanceNetworkInterfaceSpecification class]]; } + (NSValueTransformer *)placementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplatePlacement class]]; } + (NSValueTransformer *)privateDnsNameOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplatePrivateDnsNameOptions class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchTemplateTagSpecification class]]; } @end @implementation AWSEC2RestoreAddressToClassicRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"publicIp" : @"PublicIp", }; } @end @implementation AWSEC2RestoreAddressToClassicResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"publicIp" : @"PublicIp", @"status" : @"Status", }; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"MoveInProgress"] == NSOrderedSame) { return @(AWSEC2StatusMoveInProgress); } if ([value caseInsensitiveCompare:@"InVpc"] == NSOrderedSame) { return @(AWSEC2StatusInVpc); } if ([value caseInsensitiveCompare:@"InClassic"] == NSOrderedSame) { return @(AWSEC2StatusInClassic); } return @(AWSEC2StatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2StatusMoveInProgress: return @"MoveInProgress"; case AWSEC2StatusInVpc: return @"InVpc"; case AWSEC2StatusInClassic: return @"InClassic"; default: return nil; } }]; } @end @implementation AWSEC2RestoreImageFromRecycleBinRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"imageId" : @"ImageId", }; } @end @implementation AWSEC2RestoreImageFromRecycleBinResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2RestoreManagedPrefixListVersionRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"currentVersion" : @"CurrentVersion", @"dryRun" : @"DryRun", @"prefixListId" : @"PrefixListId", @"previousVersion" : @"PreviousVersion", }; } @end @implementation AWSEC2RestoreManagedPrefixListVersionResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"prefixList" : @"PrefixList", }; } + (NSValueTransformer *)prefixListJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ManagedPrefixList class]]; } @end @implementation AWSEC2RestoreSnapshotFromRecycleBinRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"snapshotId" : @"SnapshotId", }; } @end @implementation AWSEC2RestoreSnapshotFromRecycleBinResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"encrypted" : @"Encrypted", @"outpostArn" : @"OutpostArn", @"ownerId" : @"OwnerId", @"progress" : @"Progress", @"snapshotId" : @"SnapshotId", @"startTime" : @"StartTime", @"state" : @"State", @"volumeId" : @"VolumeId", @"volumeSize" : @"VolumeSize", }; } + (NSValueTransformer *)startTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2SnapshotStatePending); } if ([value caseInsensitiveCompare:@"completed"] == NSOrderedSame) { return @(AWSEC2SnapshotStateCompleted); } if ([value caseInsensitiveCompare:@"error"] == NSOrderedSame) { return @(AWSEC2SnapshotStateError); } if ([value caseInsensitiveCompare:@"recoverable"] == NSOrderedSame) { return @(AWSEC2SnapshotStateRecoverable); } if ([value caseInsensitiveCompare:@"recovering"] == NSOrderedSame) { return @(AWSEC2SnapshotStateRecovering); } return @(AWSEC2SnapshotStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SnapshotStatePending: return @"pending"; case AWSEC2SnapshotStateCompleted: return @"completed"; case AWSEC2SnapshotStateError: return @"error"; case AWSEC2SnapshotStateRecoverable: return @"recoverable"; case AWSEC2SnapshotStateRecovering: return @"recovering"; default: return nil; } }]; } @end @implementation AWSEC2RestoreSnapshotTierRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"permanentRestore" : @"PermanentRestore", @"snapshotId" : @"SnapshotId", @"temporaryRestoreDays" : @"TemporaryRestoreDays", }; } @end @implementation AWSEC2RestoreSnapshotTierResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"isPermanentRestore" : @"IsPermanentRestore", @"restoreDuration" : @"RestoreDuration", @"restoreStartTime" : @"RestoreStartTime", @"snapshotId" : @"SnapshotId", }; } + (NSValueTransformer *)restoreStartTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2RevokeClientVpnIngressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"accessGroupId" : @"AccessGroupId", @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"dryRun" : @"DryRun", @"revokeAllGroups" : @"RevokeAllGroups", @"targetNetworkCidr" : @"TargetNetworkCidr", }; } @end @implementation AWSEC2RevokeClientVpnIngressResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"status" : @"Status", }; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientVpnAuthorizationRuleStatus class]]; } @end @implementation AWSEC2RevokeSecurityGroupEgressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrIp" : @"CidrIp", @"dryRun" : @"DryRun", @"fromPort" : @"FromPort", @"groupId" : @"GroupId", @"ipPermissions" : @"IpPermissions", @"ipProtocol" : @"IpProtocol", @"securityGroupRuleIds" : @"SecurityGroupRuleIds", @"sourceSecurityGroupName" : @"SourceSecurityGroupName", @"sourceSecurityGroupOwnerId" : @"SourceSecurityGroupOwnerId", @"toPort" : @"ToPort", }; } + (NSValueTransformer *)ipPermissionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpPermission class]]; } @end @implementation AWSEC2RevokeSecurityGroupEgressResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", @"unknownIpPermissions" : @"UnknownIpPermissions", }; } + (NSValueTransformer *)unknownIpPermissionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpPermission class]]; } @end @implementation AWSEC2RevokeSecurityGroupIngressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrIp" : @"CidrIp", @"dryRun" : @"DryRun", @"fromPort" : @"FromPort", @"groupId" : @"GroupId", @"groupName" : @"GroupName", @"ipPermissions" : @"IpPermissions", @"ipProtocol" : @"IpProtocol", @"securityGroupRuleIds" : @"SecurityGroupRuleIds", @"sourceSecurityGroupName" : @"SourceSecurityGroupName", @"sourceSecurityGroupOwnerId" : @"SourceSecurityGroupOwnerId", @"toPort" : @"ToPort", }; } + (NSValueTransformer *)ipPermissionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpPermission class]]; } @end @implementation AWSEC2RevokeSecurityGroupIngressResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", @"unknownIpPermissions" : @"UnknownIpPermissions", }; } + (NSValueTransformer *)unknownIpPermissionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpPermission class]]; } @end @implementation AWSEC2Route + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"carrierGatewayId" : @"CarrierGatewayId", @"coreNetworkArn" : @"CoreNetworkArn", @"destinationCidrBlock" : @"DestinationCidrBlock", @"destinationIpv6CidrBlock" : @"DestinationIpv6CidrBlock", @"destinationPrefixListId" : @"DestinationPrefixListId", @"egressOnlyInternetGatewayId" : @"EgressOnlyInternetGatewayId", @"gatewayId" : @"GatewayId", @"instanceId" : @"InstanceId", @"instanceOwnerId" : @"InstanceOwnerId", @"localGatewayId" : @"LocalGatewayId", @"natGatewayId" : @"NatGatewayId", @"networkInterfaceId" : @"NetworkInterfaceId", @"origin" : @"Origin", @"state" : @"State", @"transitGatewayId" : @"TransitGatewayId", @"vpcPeeringConnectionId" : @"VpcPeeringConnectionId", }; } + (NSValueTransformer *)originJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"CreateRouteTable"] == NSOrderedSame) { return @(AWSEC2RouteOriginCreateRouteTable); } if ([value caseInsensitiveCompare:@"CreateRoute"] == NSOrderedSame) { return @(AWSEC2RouteOriginCreateRoute); } if ([value caseInsensitiveCompare:@"EnableVgwRoutePropagation"] == NSOrderedSame) { return @(AWSEC2RouteOriginEnableVgwRoutePropagation); } return @(AWSEC2RouteOriginUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2RouteOriginCreateRouteTable: return @"CreateRouteTable"; case AWSEC2RouteOriginCreateRoute: return @"CreateRoute"; case AWSEC2RouteOriginEnableVgwRoutePropagation: return @"EnableVgwRoutePropagation"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2RouteStateActive); } if ([value caseInsensitiveCompare:@"blackhole"] == NSOrderedSame) { return @(AWSEC2RouteStateBlackhole); } return @(AWSEC2RouteStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2RouteStateActive: return @"active"; case AWSEC2RouteStateBlackhole: return @"blackhole"; default: return nil; } }]; } @end @implementation AWSEC2RouteTable + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associations" : @"Associations", @"ownerId" : @"OwnerId", @"propagatingVgws" : @"PropagatingVgws", @"routeTableId" : @"RouteTableId", @"routes" : @"Routes", @"tags" : @"Tags", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)associationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2RouteTableAssociation class]]; } + (NSValueTransformer *)propagatingVgwsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PropagatingVgw class]]; } + (NSValueTransformer *)routesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Route class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2RouteTableAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationState" : @"AssociationState", @"gatewayId" : @"GatewayId", @"main" : @"Main", @"routeTableAssociationId" : @"RouteTableAssociationId", @"routeTableId" : @"RouteTableId", @"subnetId" : @"SubnetId", }; } + (NSValueTransformer *)associationStateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2RouteTableAssociationState class]]; } @end @implementation AWSEC2RouteTableAssociationState + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"state" : @"State", @"statusMessage" : @"StatusMessage", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"associating"] == NSOrderedSame) { return @(AWSEC2RouteTableAssociationStateCodeAssociating); } if ([value caseInsensitiveCompare:@"associated"] == NSOrderedSame) { return @(AWSEC2RouteTableAssociationStateCodeAssociated); } if ([value caseInsensitiveCompare:@"disassociating"] == NSOrderedSame) { return @(AWSEC2RouteTableAssociationStateCodeDisassociating); } if ([value caseInsensitiveCompare:@"disassociated"] == NSOrderedSame) { return @(AWSEC2RouteTableAssociationStateCodeDisassociated); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2RouteTableAssociationStateCodeFailed); } return @(AWSEC2RouteTableAssociationStateCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2RouteTableAssociationStateCodeAssociating: return @"associating"; case AWSEC2RouteTableAssociationStateCodeAssociated: return @"associated"; case AWSEC2RouteTableAssociationStateCodeDisassociating: return @"disassociating"; case AWSEC2RouteTableAssociationStateCodeDisassociated: return @"disassociated"; case AWSEC2RouteTableAssociationStateCodeFailed: return @"failed"; default: return nil; } }]; } @end @implementation AWSEC2RuleGroupRuleOptionsPair + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ruleGroupArn" : @"RuleGroupArn", @"ruleOptions" : @"RuleOptions", }; } + (NSValueTransformer *)ruleOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2RuleOption class]]; } @end @implementation AWSEC2RuleGroupTypePair + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ruleGroupArn" : @"RuleGroupArn", @"ruleGroupType" : @"RuleGroupType", }; } @end @implementation AWSEC2RuleOption + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"keyword" : @"Keyword", @"settings" : @"Settings", }; } @end @implementation AWSEC2RunInstancesMonitoringEnabled + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enabled" : @"Enabled", }; } @end @implementation AWSEC2RunInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"additionalInfo" : @"AdditionalInfo", @"blockDeviceMappings" : @"BlockDeviceMappings", @"capacityReservationSpecification" : @"CapacityReservationSpecification", @"clientToken" : @"ClientToken", @"cpuOptions" : @"CpuOptions", @"creditSpecification" : @"CreditSpecification", @"disableApiStop" : @"DisableApiStop", @"disableApiTermination" : @"DisableApiTermination", @"dryRun" : @"DryRun", @"ebsOptimized" : @"EbsOptimized", @"elasticGpuSpecification" : @"ElasticGpuSpecification", @"elasticInferenceAccelerators" : @"ElasticInferenceAccelerators", @"enclaveOptions" : @"EnclaveOptions", @"hibernationOptions" : @"HibernationOptions", @"iamInstanceProfile" : @"IamInstanceProfile", @"imageId" : @"ImageId", @"instanceInitiatedShutdownBehavior" : @"InstanceInitiatedShutdownBehavior", @"instanceMarketOptions" : @"InstanceMarketOptions", @"instanceType" : @"InstanceType", @"ipv6AddressCount" : @"Ipv6AddressCount", @"ipv6Addresses" : @"Ipv6Addresses", @"kernelId" : @"KernelId", @"keyName" : @"KeyName", @"launchTemplate" : @"LaunchTemplate", @"licenseSpecifications" : @"LicenseSpecifications", @"maintenanceOptions" : @"MaintenanceOptions", @"maxCount" : @"MaxCount", @"metadataOptions" : @"MetadataOptions", @"minCount" : @"MinCount", @"monitoring" : @"Monitoring", @"networkInterfaces" : @"NetworkInterfaces", @"placement" : @"Placement", @"privateDnsNameOptions" : @"PrivateDnsNameOptions", @"privateIpAddress" : @"PrivateIpAddress", @"ramdiskId" : @"RamdiskId", @"securityGroupIds" : @"SecurityGroupIds", @"securityGroups" : @"SecurityGroups", @"subnetId" : @"SubnetId", @"tagSpecifications" : @"TagSpecifications", @"userData" : @"UserData", }; } + (NSValueTransformer *)blockDeviceMappingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2BlockDeviceMapping class]]; } + (NSValueTransformer *)capacityReservationSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CapacityReservationSpecification class]]; } + (NSValueTransformer *)cpuOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CpuOptionsRequest class]]; } + (NSValueTransformer *)creditSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CreditSpecificationRequest class]]; } + (NSValueTransformer *)elasticGpuSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ElasticGpuSpecification class]]; } + (NSValueTransformer *)elasticInferenceAcceleratorsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ElasticInferenceAccelerator class]]; } + (NSValueTransformer *)enclaveOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2EnclaveOptionsRequest class]]; } + (NSValueTransformer *)hibernationOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2HibernationOptionsRequest class]]; } + (NSValueTransformer *)iamInstanceProfileJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IamInstanceProfileSpecification class]]; } + (NSValueTransformer *)instanceInitiatedShutdownBehaviorJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"stop"] == NSOrderedSame) { return @(AWSEC2ShutdownBehaviorStop); } if ([value caseInsensitiveCompare:@"terminate"] == NSOrderedSame) { return @(AWSEC2ShutdownBehaviorTerminate); } return @(AWSEC2ShutdownBehaviorUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ShutdownBehaviorStop: return @"stop"; case AWSEC2ShutdownBehaviorTerminate: return @"terminate"; default: return nil; } }]; } + (NSValueTransformer *)instanceMarketOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceMarketOptionsRequest class]]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)ipv6AddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceIpv6Address class]]; } + (NSValueTransformer *)launchTemplateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchTemplateSpecification class]]; } + (NSValueTransformer *)licenseSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LicenseConfigurationRequest class]]; } + (NSValueTransformer *)maintenanceOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceMaintenanceOptionsRequest class]]; } + (NSValueTransformer *)metadataOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceMetadataOptionsRequest class]]; } + (NSValueTransformer *)monitoringJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2RunInstancesMonitoringEnabled class]]; } + (NSValueTransformer *)networkInterfacesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceNetworkInterfaceSpecification class]]; } + (NSValueTransformer *)placementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2Placement class]]; } + (NSValueTransformer *)privateDnsNameOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PrivateDnsNameOptionsRequest class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2RunScheduledInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"instanceCount" : @"InstanceCount", @"launchSpecification" : @"LaunchSpecification", @"scheduledInstanceId" : @"ScheduledInstanceId", }; } + (NSValueTransformer *)launchSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ScheduledInstancesLaunchSpecification class]]; } @end @implementation AWSEC2RunScheduledInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceIdSet" : @"InstanceIdSet", }; } @end @implementation AWSEC2S3ObjectTag + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"key" : @"Key", @"value" : @"Value", }; } @end @implementation AWSEC2S3Storage + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"AWSAccessKeyId" : @"AWSAccessKeyId", @"bucket" : @"Bucket", @"prefix" : @"Prefix", @"uploadPolicy" : @"UploadPolicy", @"uploadPolicySignature" : @"UploadPolicySignature", }; } @end @implementation AWSEC2ScheduledInstance + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"createDate" : @"CreateDate", @"hourlyPrice" : @"HourlyPrice", @"instanceCount" : @"InstanceCount", @"instanceType" : @"InstanceType", @"networkPlatform" : @"NetworkPlatform", @"nextSlotStartTime" : @"NextSlotStartTime", @"platform" : @"Platform", @"previousSlotEndTime" : @"PreviousSlotEndTime", @"recurrence" : @"Recurrence", @"scheduledInstanceId" : @"ScheduledInstanceId", @"slotDurationInHours" : @"SlotDurationInHours", @"termEndDate" : @"TermEndDate", @"termStartDate" : @"TermStartDate", @"totalScheduledInstanceHours" : @"TotalScheduledInstanceHours", }; } + (NSValueTransformer *)createDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)nextSlotStartTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)previousSlotEndTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)recurrenceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ScheduledInstanceRecurrence class]]; } + (NSValueTransformer *)termEndDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)termStartDateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2ScheduledInstanceAvailability + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"availableInstanceCount" : @"AvailableInstanceCount", @"firstSlotStartTime" : @"FirstSlotStartTime", @"hourlyPrice" : @"HourlyPrice", @"instanceType" : @"InstanceType", @"maxTermDurationInDays" : @"MaxTermDurationInDays", @"minTermDurationInDays" : @"MinTermDurationInDays", @"networkPlatform" : @"NetworkPlatform", @"platform" : @"Platform", @"purchaseToken" : @"PurchaseToken", @"recurrence" : @"Recurrence", @"slotDurationInHours" : @"SlotDurationInHours", @"totalScheduledInstanceHours" : @"TotalScheduledInstanceHours", }; } + (NSValueTransformer *)firstSlotStartTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)recurrenceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ScheduledInstanceRecurrence class]]; } @end @implementation AWSEC2ScheduledInstanceRecurrence + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"frequency" : @"Frequency", @"interval" : @"Interval", @"occurrenceDaySet" : @"OccurrenceDaySet", @"occurrenceRelativeToEnd" : @"OccurrenceRelativeToEnd", @"occurrenceUnit" : @"OccurrenceUnit", }; } @end @implementation AWSEC2ScheduledInstanceRecurrenceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"frequency" : @"Frequency", @"interval" : @"Interval", @"occurrenceDays" : @"OccurrenceDays", @"occurrenceRelativeToEnd" : @"OccurrenceRelativeToEnd", @"occurrenceUnit" : @"OccurrenceUnit", }; } @end @implementation AWSEC2ScheduledInstancesBlockDeviceMapping + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deviceName" : @"DeviceName", @"ebs" : @"Ebs", @"noDevice" : @"NoDevice", @"virtualName" : @"VirtualName", }; } + (NSValueTransformer *)ebsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ScheduledInstancesEbs class]]; } @end @implementation AWSEC2ScheduledInstancesEbs + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deleteOnTermination" : @"DeleteOnTermination", @"encrypted" : @"Encrypted", @"iops" : @"Iops", @"snapshotId" : @"SnapshotId", @"volumeSize" : @"VolumeSize", @"volumeType" : @"VolumeType", }; } @end @implementation AWSEC2ScheduledInstancesIamInstanceProfile + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"arn" : @"Arn", @"name" : @"Name", }; } @end @implementation AWSEC2ScheduledInstancesIpv6Address + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6Address" : @"Ipv6Address", }; } @end @implementation AWSEC2ScheduledInstancesLaunchSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blockDeviceMappings" : @"BlockDeviceMappings", @"ebsOptimized" : @"EbsOptimized", @"iamInstanceProfile" : @"IamInstanceProfile", @"imageId" : @"ImageId", @"instanceType" : @"InstanceType", @"kernelId" : @"KernelId", @"keyName" : @"KeyName", @"monitoring" : @"Monitoring", @"networkInterfaces" : @"NetworkInterfaces", @"placement" : @"Placement", @"ramdiskId" : @"RamdiskId", @"securityGroupIds" : @"SecurityGroupIds", @"subnetId" : @"SubnetId", @"userData" : @"UserData", }; } + (NSValueTransformer *)blockDeviceMappingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ScheduledInstancesBlockDeviceMapping class]]; } + (NSValueTransformer *)iamInstanceProfileJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ScheduledInstancesIamInstanceProfile class]]; } + (NSValueTransformer *)monitoringJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ScheduledInstancesMonitoring class]]; } + (NSValueTransformer *)networkInterfacesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ScheduledInstancesNetworkInterface class]]; } + (NSValueTransformer *)placementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ScheduledInstancesPlacement class]]; } @end @implementation AWSEC2ScheduledInstancesMonitoring + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enabled" : @"Enabled", }; } @end @implementation AWSEC2ScheduledInstancesNetworkInterface + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associatePublicIpAddress" : @"AssociatePublicIpAddress", @"deleteOnTermination" : @"DeleteOnTermination", @"detail" : @"Description", @"deviceIndex" : @"DeviceIndex", @"groups" : @"Groups", @"ipv6AddressCount" : @"Ipv6AddressCount", @"ipv6Addresses" : @"Ipv6Addresses", @"networkInterfaceId" : @"NetworkInterfaceId", @"privateIpAddress" : @"PrivateIpAddress", @"privateIpAddressConfigs" : @"PrivateIpAddressConfigs", @"secondaryPrivateIpAddressCount" : @"SecondaryPrivateIpAddressCount", @"subnetId" : @"SubnetId", }; } + (NSValueTransformer *)ipv6AddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ScheduledInstancesIpv6Address class]]; } + (NSValueTransformer *)privateIpAddressConfigsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ScheduledInstancesPrivateIpAddressConfig class]]; } @end @implementation AWSEC2ScheduledInstancesPlacement + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"groupName" : @"GroupName", }; } @end @implementation AWSEC2ScheduledInstancesPrivateIpAddressConfig + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"primary" : @"Primary", @"privateIpAddress" : @"PrivateIpAddress", }; } @end @implementation AWSEC2SearchLocalGatewayRoutesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"localGatewayRouteTableId" : @"LocalGatewayRouteTableId", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2SearchLocalGatewayRoutesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"nextToken" : @"NextToken", @"routes" : @"Routes", }; } + (NSValueTransformer *)routesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LocalGatewayRoute class]]; } @end @implementation AWSEC2SearchTransitGatewayMulticastGroupsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"nextToken" : @"NextToken", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2SearchTransitGatewayMulticastGroupsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"multicastGroups" : @"MulticastGroups", @"nextToken" : @"NextToken", }; } + (NSValueTransformer *)multicastGroupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayMulticastGroup class]]; } @end @implementation AWSEC2SearchTransitGatewayRoutesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"filters" : @"Filters", @"maxResults" : @"MaxResults", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } + (NSValueTransformer *)filtersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Filter class]]; } @end @implementation AWSEC2SearchTransitGatewayRoutesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"additionalRoutesAvailable" : @"AdditionalRoutesAvailable", @"routes" : @"Routes", }; } + (NSValueTransformer *)routesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayRoute class]]; } @end @implementation AWSEC2SecurityGroup + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"groupId" : @"GroupId", @"groupName" : @"GroupName", @"ipPermissions" : @"IpPermissions", @"ipPermissionsEgress" : @"IpPermissionsEgress", @"ownerId" : @"OwnerId", @"tags" : @"Tags", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)ipPermissionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpPermission class]]; } + (NSValueTransformer *)ipPermissionsEgressJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpPermission class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2SecurityGroupIdentifier + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"groupId" : @"GroupId", @"groupName" : @"GroupName", }; } @end @implementation AWSEC2SecurityGroupReference + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"groupId" : @"GroupId", @"referencingVpcId" : @"ReferencingVpcId", @"vpcPeeringConnectionId" : @"VpcPeeringConnectionId", }; } @end @implementation AWSEC2SecurityGroupRule + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrIpv4" : @"CidrIpv4", @"cidrIpv6" : @"CidrIpv6", @"detail" : @"Description", @"fromPort" : @"FromPort", @"groupId" : @"GroupId", @"groupOwnerId" : @"GroupOwnerId", @"ipProtocol" : @"IpProtocol", @"isEgress" : @"IsEgress", @"prefixListId" : @"PrefixListId", @"referencedGroupInfo" : @"ReferencedGroupInfo", @"securityGroupRuleId" : @"SecurityGroupRuleId", @"tags" : @"Tags", @"toPort" : @"ToPort", }; } + (NSValueTransformer *)referencedGroupInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ReferencedSecurityGroup class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2SecurityGroupRuleDescription + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"securityGroupRuleId" : @"SecurityGroupRuleId", }; } @end @implementation AWSEC2SecurityGroupRuleRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrIpv4" : @"CidrIpv4", @"cidrIpv6" : @"CidrIpv6", @"detail" : @"Description", @"fromPort" : @"FromPort", @"ipProtocol" : @"IpProtocol", @"prefixListId" : @"PrefixListId", @"referencedGroupId" : @"ReferencedGroupId", @"toPort" : @"ToPort", }; } @end @implementation AWSEC2SecurityGroupRuleUpdate + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"securityGroupRule" : @"SecurityGroupRule", @"securityGroupRuleId" : @"SecurityGroupRuleId", }; } + (NSValueTransformer *)securityGroupRuleJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SecurityGroupRuleRequest class]]; } @end @implementation AWSEC2SendDiagnosticInterruptRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceId" : @"InstanceId", }; } @end @implementation AWSEC2ServiceConfiguration + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"acceptanceRequired" : @"AcceptanceRequired", @"availabilityZones" : @"AvailabilityZones", @"baseEndpointDnsNames" : @"BaseEndpointDnsNames", @"gatewayLoadBalancerArns" : @"GatewayLoadBalancerArns", @"managesVpcEndpoints" : @"ManagesVpcEndpoints", @"networkLoadBalancerArns" : @"NetworkLoadBalancerArns", @"payerResponsibility" : @"PayerResponsibility", @"privateDnsName" : @"PrivateDnsName", @"privateDnsNameConfiguration" : @"PrivateDnsNameConfiguration", @"serviceId" : @"ServiceId", @"serviceName" : @"ServiceName", @"serviceState" : @"ServiceState", @"serviceType" : @"ServiceType", @"supportedIpAddressTypes" : @"SupportedIpAddressTypes", @"tags" : @"Tags", }; } + (NSValueTransformer *)payerResponsibilityJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ServiceOwner"] == NSOrderedSame) { return @(AWSEC2PayerResponsibilityServiceOwner); } return @(AWSEC2PayerResponsibilityUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PayerResponsibilityServiceOwner: return @"ServiceOwner"; default: return nil; } }]; } + (NSValueTransformer *)privateDnsNameConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PrivateDnsNameConfiguration class]]; } + (NSValueTransformer *)serviceStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Pending"] == NSOrderedSame) { return @(AWSEC2ServiceStatePending); } if ([value caseInsensitiveCompare:@"Available"] == NSOrderedSame) { return @(AWSEC2ServiceStateAvailable); } if ([value caseInsensitiveCompare:@"Deleting"] == NSOrderedSame) { return @(AWSEC2ServiceStateDeleting); } if ([value caseInsensitiveCompare:@"Deleted"] == NSOrderedSame) { return @(AWSEC2ServiceStateDeleted); } if ([value caseInsensitiveCompare:@"Failed"] == NSOrderedSame) { return @(AWSEC2ServiceStateFailed); } return @(AWSEC2ServiceStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ServiceStatePending: return @"Pending"; case AWSEC2ServiceStateAvailable: return @"Available"; case AWSEC2ServiceStateDeleting: return @"Deleting"; case AWSEC2ServiceStateDeleted: return @"Deleted"; case AWSEC2ServiceStateFailed: return @"Failed"; default: return nil; } }]; } + (NSValueTransformer *)serviceTypeJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ServiceTypeDetail class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ServiceDetail + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"acceptanceRequired" : @"AcceptanceRequired", @"availabilityZones" : @"AvailabilityZones", @"baseEndpointDnsNames" : @"BaseEndpointDnsNames", @"managesVpcEndpoints" : @"ManagesVpcEndpoints", @"owner" : @"Owner", @"payerResponsibility" : @"PayerResponsibility", @"privateDnsName" : @"PrivateDnsName", @"privateDnsNameVerificationState" : @"PrivateDnsNameVerificationState", @"privateDnsNames" : @"PrivateDnsNames", @"serviceId" : @"ServiceId", @"serviceName" : @"ServiceName", @"serviceType" : @"ServiceType", @"supportedIpAddressTypes" : @"SupportedIpAddressTypes", @"tags" : @"Tags", @"vpcEndpointPolicySupported" : @"VpcEndpointPolicySupported", }; } + (NSValueTransformer *)payerResponsibilityJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ServiceOwner"] == NSOrderedSame) { return @(AWSEC2PayerResponsibilityServiceOwner); } return @(AWSEC2PayerResponsibilityUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PayerResponsibilityServiceOwner: return @"ServiceOwner"; default: return nil; } }]; } + (NSValueTransformer *)privateDnsNameVerificationStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pendingVerification"] == NSOrderedSame) { return @(AWSEC2DnsNameStatePendingVerification); } if ([value caseInsensitiveCompare:@"verified"] == NSOrderedSame) { return @(AWSEC2DnsNameStateVerified); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2DnsNameStateFailed); } return @(AWSEC2DnsNameStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DnsNameStatePendingVerification: return @"pendingVerification"; case AWSEC2DnsNameStateVerified: return @"verified"; case AWSEC2DnsNameStateFailed: return @"failed"; default: return nil; } }]; } + (NSValueTransformer *)privateDnsNamesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2PrivateDnsDetails class]]; } + (NSValueTransformer *)serviceTypeJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ServiceTypeDetail class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2ServiceTypeDetail + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"serviceType" : @"ServiceType", }; } + (NSValueTransformer *)serviceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Interface"] == NSOrderedSame) { return @(AWSEC2ServiceTypeInterface); } if ([value caseInsensitiveCompare:@"Gateway"] == NSOrderedSame) { return @(AWSEC2ServiceTypeGateway); } if ([value caseInsensitiveCompare:@"GatewayLoadBalancer"] == NSOrderedSame) { return @(AWSEC2ServiceTypeGatewayLoadBalancer); } return @(AWSEC2ServiceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ServiceTypeInterface: return @"Interface"; case AWSEC2ServiceTypeGateway: return @"Gateway"; case AWSEC2ServiceTypeGatewayLoadBalancer: return @"GatewayLoadBalancer"; default: return nil; } }]; } @end @implementation AWSEC2SlotDateTimeRangeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"earliestTime" : @"EarliestTime", @"latestTime" : @"LatestTime", }; } + (NSValueTransformer *)earliestTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)latestTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2SlotStartTimeRangeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"earliestTime" : @"EarliestTime", @"latestTime" : @"LatestTime", }; } + (NSValueTransformer *)earliestTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)latestTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2Snapshot + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dataEncryptionKeyId" : @"DataEncryptionKeyId", @"detail" : @"Description", @"encrypted" : @"Encrypted", @"kmsKeyId" : @"KmsKeyId", @"outpostArn" : @"OutpostArn", @"ownerAlias" : @"OwnerAlias", @"ownerId" : @"OwnerId", @"progress" : @"Progress", @"restoreExpiryTime" : @"RestoreExpiryTime", @"snapshotId" : @"SnapshotId", @"startTime" : @"StartTime", @"state" : @"State", @"stateMessage" : @"StateMessage", @"storageTier" : @"StorageTier", @"tags" : @"Tags", @"volumeId" : @"VolumeId", @"volumeSize" : @"VolumeSize", }; } + (NSValueTransformer *)restoreExpiryTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)startTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2SnapshotStatePending); } if ([value caseInsensitiveCompare:@"completed"] == NSOrderedSame) { return @(AWSEC2SnapshotStateCompleted); } if ([value caseInsensitiveCompare:@"error"] == NSOrderedSame) { return @(AWSEC2SnapshotStateError); } if ([value caseInsensitiveCompare:@"recoverable"] == NSOrderedSame) { return @(AWSEC2SnapshotStateRecoverable); } if ([value caseInsensitiveCompare:@"recovering"] == NSOrderedSame) { return @(AWSEC2SnapshotStateRecovering); } return @(AWSEC2SnapshotStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SnapshotStatePending: return @"pending"; case AWSEC2SnapshotStateCompleted: return @"completed"; case AWSEC2SnapshotStateError: return @"error"; case AWSEC2SnapshotStateRecoverable: return @"recoverable"; case AWSEC2SnapshotStateRecovering: return @"recovering"; default: return nil; } }]; } + (NSValueTransformer *)storageTierJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"archive"] == NSOrderedSame) { return @(AWSEC2StorageTierArchive); } if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2StorageTierStandard); } return @(AWSEC2StorageTierUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2StorageTierArchive: return @"archive"; case AWSEC2StorageTierStandard: return @"standard"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2SnapshotDetail + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"deviceName" : @"DeviceName", @"diskImageSize" : @"DiskImageSize", @"format" : @"Format", @"progress" : @"Progress", @"snapshotId" : @"SnapshotId", @"status" : @"Status", @"statusMessage" : @"StatusMessage", @"url" : @"Url", @"userBucket" : @"UserBucket", }; } + (NSValueTransformer *)userBucketJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2UserBucketDetails class]]; } @end @implementation AWSEC2SnapshotDiskContainer + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"format" : @"Format", @"url" : @"Url", @"userBucket" : @"UserBucket", }; } + (NSValueTransformer *)userBucketJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2UserBucket class]]; } @end @implementation AWSEC2SnapshotInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"encrypted" : @"Encrypted", @"outpostArn" : @"OutpostArn", @"ownerId" : @"OwnerId", @"progress" : @"Progress", @"snapshotId" : @"SnapshotId", @"startTime" : @"StartTime", @"state" : @"State", @"tags" : @"Tags", @"volumeId" : @"VolumeId", @"volumeSize" : @"VolumeSize", }; } + (NSValueTransformer *)startTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2SnapshotStatePending); } if ([value caseInsensitiveCompare:@"completed"] == NSOrderedSame) { return @(AWSEC2SnapshotStateCompleted); } if ([value caseInsensitiveCompare:@"error"] == NSOrderedSame) { return @(AWSEC2SnapshotStateError); } if ([value caseInsensitiveCompare:@"recoverable"] == NSOrderedSame) { return @(AWSEC2SnapshotStateRecoverable); } if ([value caseInsensitiveCompare:@"recovering"] == NSOrderedSame) { return @(AWSEC2SnapshotStateRecovering); } return @(AWSEC2SnapshotStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SnapshotStatePending: return @"pending"; case AWSEC2SnapshotStateCompleted: return @"completed"; case AWSEC2SnapshotStateError: return @"error"; case AWSEC2SnapshotStateRecoverable: return @"recoverable"; case AWSEC2SnapshotStateRecovering: return @"recovering"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2SnapshotRecycleBinInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"recycleBinEnterTime" : @"RecycleBinEnterTime", @"recycleBinExitTime" : @"RecycleBinExitTime", @"snapshotId" : @"SnapshotId", @"volumeId" : @"VolumeId", }; } + (NSValueTransformer *)recycleBinEnterTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)recycleBinExitTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2SnapshotTaskDetail + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"diskImageSize" : @"DiskImageSize", @"encrypted" : @"Encrypted", @"format" : @"Format", @"kmsKeyId" : @"KmsKeyId", @"progress" : @"Progress", @"snapshotId" : @"SnapshotId", @"status" : @"Status", @"statusMessage" : @"StatusMessage", @"url" : @"Url", @"userBucket" : @"UserBucket", }; } + (NSValueTransformer *)userBucketJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2UserBucketDetails class]]; } @end @implementation AWSEC2SnapshotTierStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"archivalCompleteTime" : @"ArchivalCompleteTime", @"lastTieringOperationStatus" : @"LastTieringOperationStatus", @"lastTieringOperationStatusDetail" : @"LastTieringOperationStatusDetail", @"lastTieringProgress" : @"LastTieringProgress", @"lastTieringStartTime" : @"LastTieringStartTime", @"ownerId" : @"OwnerId", @"restoreExpiryTime" : @"RestoreExpiryTime", @"snapshotId" : @"SnapshotId", @"status" : @"Status", @"storageTier" : @"StorageTier", @"tags" : @"Tags", @"volumeId" : @"VolumeId", }; } + (NSValueTransformer *)archivalCompleteTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)lastTieringOperationStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"archival-in-progress"] == NSOrderedSame) { return @(AWSEC2TieringOperationStatusArchivalInProgress); } if ([value caseInsensitiveCompare:@"archival-completed"] == NSOrderedSame) { return @(AWSEC2TieringOperationStatusArchivalCompleted); } if ([value caseInsensitiveCompare:@"archival-failed"] == NSOrderedSame) { return @(AWSEC2TieringOperationStatusArchivalFailed); } if ([value caseInsensitiveCompare:@"temporary-restore-in-progress"] == NSOrderedSame) { return @(AWSEC2TieringOperationStatusTemporaryRestoreInProgress); } if ([value caseInsensitiveCompare:@"temporary-restore-completed"] == NSOrderedSame) { return @(AWSEC2TieringOperationStatusTemporaryRestoreCompleted); } if ([value caseInsensitiveCompare:@"temporary-restore-failed"] == NSOrderedSame) { return @(AWSEC2TieringOperationStatusTemporaryRestoreFailed); } if ([value caseInsensitiveCompare:@"permanent-restore-in-progress"] == NSOrderedSame) { return @(AWSEC2TieringOperationStatusPermanentRestoreInProgress); } if ([value caseInsensitiveCompare:@"permanent-restore-completed"] == NSOrderedSame) { return @(AWSEC2TieringOperationStatusPermanentRestoreCompleted); } if ([value caseInsensitiveCompare:@"permanent-restore-failed"] == NSOrderedSame) { return @(AWSEC2TieringOperationStatusPermanentRestoreFailed); } return @(AWSEC2TieringOperationStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TieringOperationStatusArchivalInProgress: return @"archival-in-progress"; case AWSEC2TieringOperationStatusArchivalCompleted: return @"archival-completed"; case AWSEC2TieringOperationStatusArchivalFailed: return @"archival-failed"; case AWSEC2TieringOperationStatusTemporaryRestoreInProgress: return @"temporary-restore-in-progress"; case AWSEC2TieringOperationStatusTemporaryRestoreCompleted: return @"temporary-restore-completed"; case AWSEC2TieringOperationStatusTemporaryRestoreFailed: return @"temporary-restore-failed"; case AWSEC2TieringOperationStatusPermanentRestoreInProgress: return @"permanent-restore-in-progress"; case AWSEC2TieringOperationStatusPermanentRestoreCompleted: return @"permanent-restore-completed"; case AWSEC2TieringOperationStatusPermanentRestoreFailed: return @"permanent-restore-failed"; default: return nil; } }]; } + (NSValueTransformer *)lastTieringStartTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)restoreExpiryTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2SnapshotStatePending); } if ([value caseInsensitiveCompare:@"completed"] == NSOrderedSame) { return @(AWSEC2SnapshotStateCompleted); } if ([value caseInsensitiveCompare:@"error"] == NSOrderedSame) { return @(AWSEC2SnapshotStateError); } if ([value caseInsensitiveCompare:@"recoverable"] == NSOrderedSame) { return @(AWSEC2SnapshotStateRecoverable); } if ([value caseInsensitiveCompare:@"recovering"] == NSOrderedSame) { return @(AWSEC2SnapshotStateRecovering); } return @(AWSEC2SnapshotStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SnapshotStatePending: return @"pending"; case AWSEC2SnapshotStateCompleted: return @"completed"; case AWSEC2SnapshotStateError: return @"error"; case AWSEC2SnapshotStateRecoverable: return @"recoverable"; case AWSEC2SnapshotStateRecovering: return @"recovering"; default: return nil; } }]; } + (NSValueTransformer *)storageTierJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"archive"] == NSOrderedSame) { return @(AWSEC2StorageTierArchive); } if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2StorageTierStandard); } return @(AWSEC2StorageTierUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2StorageTierArchive: return @"archive"; case AWSEC2StorageTierStandard: return @"standard"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2SpotCapacityRebalance + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"replacementStrategy" : @"ReplacementStrategy", @"terminationDelay" : @"TerminationDelay", }; } + (NSValueTransformer *)replacementStrategyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"launch"] == NSOrderedSame) { return @(AWSEC2ReplacementStrategyLaunch); } if ([value caseInsensitiveCompare:@"launch-before-terminate"] == NSOrderedSame) { return @(AWSEC2ReplacementStrategyLaunchBeforeTerminate); } return @(AWSEC2ReplacementStrategyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ReplacementStrategyLaunch: return @"launch"; case AWSEC2ReplacementStrategyLaunchBeforeTerminate: return @"launch-before-terminate"; default: return nil; } }]; } @end @implementation AWSEC2SpotDatafeedSubscription + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bucket" : @"Bucket", @"fault" : @"Fault", @"ownerId" : @"OwnerId", @"prefix" : @"Prefix", @"state" : @"State", }; } + (NSValueTransformer *)faultJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotInstanceStateFault class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Active"] == NSOrderedSame) { return @(AWSEC2DatafeedSubscriptionStateActive); } if ([value caseInsensitiveCompare:@"Inactive"] == NSOrderedSame) { return @(AWSEC2DatafeedSubscriptionStateInactive); } return @(AWSEC2DatafeedSubscriptionStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DatafeedSubscriptionStateActive: return @"Active"; case AWSEC2DatafeedSubscriptionStateInactive: return @"Inactive"; default: return nil; } }]; } @end @implementation AWSEC2SpotFleetLaunchSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"addressingType" : @"AddressingType", @"blockDeviceMappings" : @"BlockDeviceMappings", @"ebsOptimized" : @"EbsOptimized", @"iamInstanceProfile" : @"IamInstanceProfile", @"imageId" : @"ImageId", @"instanceRequirements" : @"InstanceRequirements", @"instanceType" : @"InstanceType", @"kernelId" : @"KernelId", @"keyName" : @"KeyName", @"monitoring" : @"Monitoring", @"networkInterfaces" : @"NetworkInterfaces", @"placement" : @"Placement", @"ramdiskId" : @"RamdiskId", @"securityGroups" : @"SecurityGroups", @"spotPrice" : @"SpotPrice", @"subnetId" : @"SubnetId", @"tagSpecifications" : @"TagSpecifications", @"userData" : @"UserData", @"weightedCapacity" : @"WeightedCapacity", }; } + (NSValueTransformer *)blockDeviceMappingsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2BlockDeviceMapping class]]; } + (NSValueTransformer *)iamInstanceProfileJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2IamInstanceProfileSpecification class]]; } + (NSValueTransformer *)instanceRequirementsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2InstanceRequirements class]]; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)monitoringJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotFleetMonitoring class]]; } + (NSValueTransformer *)networkInterfacesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceNetworkInterfaceSpecification class]]; } + (NSValueTransformer *)placementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotPlacement class]]; } + (NSValueTransformer *)securityGroupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2GroupIdentifier class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SpotFleetTagSpecification class]]; } @end @implementation AWSEC2SpotFleetMonitoring + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enabled" : @"Enabled", }; } @end @implementation AWSEC2SpotFleetRequestConfig + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"activityStatus" : @"ActivityStatus", @"createTime" : @"CreateTime", @"spotFleetRequestConfig" : @"SpotFleetRequestConfig", @"spotFleetRequestId" : @"SpotFleetRequestId", @"spotFleetRequestState" : @"SpotFleetRequestState", @"tags" : @"Tags", }; } + (NSValueTransformer *)activityStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"error"] == NSOrderedSame) { return @(AWSEC2ActivityStatusError); } if ([value caseInsensitiveCompare:@"pending_fulfillment"] == NSOrderedSame) { return @(AWSEC2ActivityStatusPendingFulfillment); } if ([value caseInsensitiveCompare:@"pending_termination"] == NSOrderedSame) { return @(AWSEC2ActivityStatusPendingTermination); } if ([value caseInsensitiveCompare:@"fulfilled"] == NSOrderedSame) { return @(AWSEC2ActivityStatusFulfilled); } return @(AWSEC2ActivityStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ActivityStatusError: return @"error"; case AWSEC2ActivityStatusPendingFulfillment: return @"pending_fulfillment"; case AWSEC2ActivityStatusPendingTermination: return @"pending_termination"; case AWSEC2ActivityStatusFulfilled: return @"fulfilled"; default: return nil; } }]; } + (NSValueTransformer *)createTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)spotFleetRequestConfigJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotFleetRequestConfigData class]]; } + (NSValueTransformer *)spotFleetRequestStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"submitted"] == NSOrderedSame) { return @(AWSEC2BatchStateSubmitted); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2BatchStateActive); } if ([value caseInsensitiveCompare:@"cancelled"] == NSOrderedSame) { return @(AWSEC2BatchStateCancelled); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2BatchStateFailed); } if ([value caseInsensitiveCompare:@"cancelled_running"] == NSOrderedSame) { return @(AWSEC2BatchStateCancelledRunning); } if ([value caseInsensitiveCompare:@"cancelled_terminating"] == NSOrderedSame) { return @(AWSEC2BatchStateCancelledTerminating); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2BatchStateModifying); } return @(AWSEC2BatchStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2BatchStateSubmitted: return @"submitted"; case AWSEC2BatchStateActive: return @"active"; case AWSEC2BatchStateCancelled: return @"cancelled"; case AWSEC2BatchStateFailed: return @"failed"; case AWSEC2BatchStateCancelledRunning: return @"cancelled_running"; case AWSEC2BatchStateCancelledTerminating: return @"cancelled_terminating"; case AWSEC2BatchStateModifying: return @"modifying"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2SpotFleetRequestConfigData + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationStrategy" : @"AllocationStrategy", @"clientToken" : @"ClientToken", @"context" : @"Context", @"excessCapacityTerminationPolicy" : @"ExcessCapacityTerminationPolicy", @"fulfilledCapacity" : @"FulfilledCapacity", @"iamFleetRole" : @"IamFleetRole", @"instanceInterruptionBehavior" : @"InstanceInterruptionBehavior", @"instancePoolsToUseCount" : @"InstancePoolsToUseCount", @"launchSpecifications" : @"LaunchSpecifications", @"launchTemplateConfigs" : @"LaunchTemplateConfigs", @"loadBalancersConfig" : @"LoadBalancersConfig", @"onDemandAllocationStrategy" : @"OnDemandAllocationStrategy", @"onDemandFulfilledCapacity" : @"OnDemandFulfilledCapacity", @"onDemandMaxTotalPrice" : @"OnDemandMaxTotalPrice", @"onDemandTargetCapacity" : @"OnDemandTargetCapacity", @"replaceUnhealthyInstances" : @"ReplaceUnhealthyInstances", @"spotMaintenanceStrategies" : @"SpotMaintenanceStrategies", @"spotMaxTotalPrice" : @"SpotMaxTotalPrice", @"spotPrice" : @"SpotPrice", @"tagSpecifications" : @"TagSpecifications", @"targetCapacity" : @"TargetCapacity", @"targetCapacityUnitType" : @"TargetCapacityUnitType", @"terminateInstancesWithExpiration" : @"TerminateInstancesWithExpiration", @"types" : @"Type", @"validFrom" : @"ValidFrom", @"validUntil" : @"ValidUntil", }; } + (NSValueTransformer *)allocationStrategyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"lowestPrice"] == NSOrderedSame) { return @(AWSEC2AllocationStrategyLowestPrice); } if ([value caseInsensitiveCompare:@"diversified"] == NSOrderedSame) { return @(AWSEC2AllocationStrategyDiversified); } if ([value caseInsensitiveCompare:@"capacityOptimized"] == NSOrderedSame) { return @(AWSEC2AllocationStrategyCapacityOptimized); } if ([value caseInsensitiveCompare:@"capacityOptimizedPrioritized"] == NSOrderedSame) { return @(AWSEC2AllocationStrategyCapacityOptimizedPrioritized); } if ([value caseInsensitiveCompare:@"priceCapacityOptimized"] == NSOrderedSame) { return @(AWSEC2AllocationStrategyPriceCapacityOptimized); } return @(AWSEC2AllocationStrategyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AllocationStrategyLowestPrice: return @"lowestPrice"; case AWSEC2AllocationStrategyDiversified: return @"diversified"; case AWSEC2AllocationStrategyCapacityOptimized: return @"capacityOptimized"; case AWSEC2AllocationStrategyCapacityOptimizedPrioritized: return @"capacityOptimizedPrioritized"; case AWSEC2AllocationStrategyPriceCapacityOptimized: return @"priceCapacityOptimized"; default: return nil; } }]; } + (NSValueTransformer *)excessCapacityTerminationPolicyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"noTermination"] == NSOrderedSame) { return @(AWSEC2ExcessCapacityTerminationPolicyNoTermination); } if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2ExcessCapacityTerminationPolicyDefault); } return @(AWSEC2ExcessCapacityTerminationPolicyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ExcessCapacityTerminationPolicyNoTermination: return @"noTermination"; case AWSEC2ExcessCapacityTerminationPolicyDefault: return @"default"; default: return nil; } }]; } + (NSValueTransformer *)instanceInterruptionBehaviorJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"hibernate"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorHibernate); } if ([value caseInsensitiveCompare:@"stop"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorStop); } if ([value caseInsensitiveCompare:@"terminate"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorTerminate); } return @(AWSEC2InstanceInterruptionBehaviorUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceInterruptionBehaviorHibernate: return @"hibernate"; case AWSEC2InstanceInterruptionBehaviorStop: return @"stop"; case AWSEC2InstanceInterruptionBehaviorTerminate: return @"terminate"; default: return nil; } }]; } + (NSValueTransformer *)launchSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SpotFleetLaunchSpecification class]]; } + (NSValueTransformer *)launchTemplateConfigsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2LaunchTemplateConfig class]]; } + (NSValueTransformer *)loadBalancersConfigJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LoadBalancersConfig class]]; } + (NSValueTransformer *)onDemandAllocationStrategyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"lowestPrice"] == NSOrderedSame) { return @(AWSEC2OnDemandAllocationStrategyLowestPrice); } if ([value caseInsensitiveCompare:@"prioritized"] == NSOrderedSame) { return @(AWSEC2OnDemandAllocationStrategyPrioritized); } return @(AWSEC2OnDemandAllocationStrategyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2OnDemandAllocationStrategyLowestPrice: return @"lowestPrice"; case AWSEC2OnDemandAllocationStrategyPrioritized: return @"prioritized"; default: return nil; } }]; } + (NSValueTransformer *)spotMaintenanceStrategiesJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotMaintenanceStrategies class]]; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } + (NSValueTransformer *)targetCapacityUnitTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vcpu"] == NSOrderedSame) { return @(AWSEC2TargetCapacityUnitTypeVcpu); } if ([value caseInsensitiveCompare:@"memory-mib"] == NSOrderedSame) { return @(AWSEC2TargetCapacityUnitTypeMemoryMib); } if ([value caseInsensitiveCompare:@"units"] == NSOrderedSame) { return @(AWSEC2TargetCapacityUnitTypeUnits); } return @(AWSEC2TargetCapacityUnitTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TargetCapacityUnitTypeVcpu: return @"vcpu"; case AWSEC2TargetCapacityUnitTypeMemoryMib: return @"memory-mib"; case AWSEC2TargetCapacityUnitTypeUnits: return @"units"; default: return nil; } }]; } + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"request"] == NSOrderedSame) { return @(AWSEC2FleetTypeRequest); } if ([value caseInsensitiveCompare:@"maintain"] == NSOrderedSame) { return @(AWSEC2FleetTypeMaintain); } if ([value caseInsensitiveCompare:@"instant"] == NSOrderedSame) { return @(AWSEC2FleetTypeInstant); } return @(AWSEC2FleetTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2FleetTypeRequest: return @"request"; case AWSEC2FleetTypeMaintain: return @"maintain"; case AWSEC2FleetTypeInstant: return @"instant"; default: return nil; } }]; } + (NSValueTransformer *)validFromJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)validUntilJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2SpotFleetTagSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceType" : @"ResourceType", @"tags" : @"Tags", }; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"capacity-reservation"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCapacityReservation); } if ([value caseInsensitiveCompare:@"client-vpn-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeClientVpnEndpoint); } if ([value caseInsensitiveCompare:@"customer-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCustomerGateway); } if ([value caseInsensitiveCompare:@"carrier-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCarrierGateway); } if ([value caseInsensitiveCompare:@"coip-pool"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCoipPool); } if ([value caseInsensitiveCompare:@"dedicated-host"] == NSOrderedSame) { return @(AWSEC2ResourceTypeDedicatedHost); } if ([value caseInsensitiveCompare:@"dhcp-options"] == NSOrderedSame) { return @(AWSEC2ResourceTypeDHCPOptions); } if ([value caseInsensitiveCompare:@"egress-only-internet-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeEgressOnlyInternetGateway); } if ([value caseInsensitiveCompare:@"elastic-ip"] == NSOrderedSame) { return @(AWSEC2ResourceTypeElasticIp); } if ([value caseInsensitiveCompare:@"elastic-gpu"] == NSOrderedSame) { return @(AWSEC2ResourceTypeElasticGpu); } if ([value caseInsensitiveCompare:@"export-image-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeExportImageTask); } if ([value caseInsensitiveCompare:@"export-instance-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeExportInstanceTask); } if ([value caseInsensitiveCompare:@"fleet"] == NSOrderedSame) { return @(AWSEC2ResourceTypeFleet); } if ([value caseInsensitiveCompare:@"fpga-image"] == NSOrderedSame) { return @(AWSEC2ResourceTypeFpgaImage); } if ([value caseInsensitiveCompare:@"host-reservation"] == NSOrderedSame) { return @(AWSEC2ResourceTypeHostReservation); } if ([value caseInsensitiveCompare:@"image"] == NSOrderedSame) { return @(AWSEC2ResourceTypeImage); } if ([value caseInsensitiveCompare:@"import-image-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeImportImageTask); } if ([value caseInsensitiveCompare:@"import-snapshot-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeImportSnapshotTask); } if ([value caseInsensitiveCompare:@"instance"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInstance); } if ([value caseInsensitiveCompare:@"instance-event-window"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInstanceEventWindow); } if ([value caseInsensitiveCompare:@"internet-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInternetGateway); } if ([value caseInsensitiveCompare:@"ipam"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpam); } if ([value caseInsensitiveCompare:@"ipam-pool"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamPool); } if ([value caseInsensitiveCompare:@"ipam-scope"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamScope); } if ([value caseInsensitiveCompare:@"ipv4pool-ec2"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpv4poolEc2); } if ([value caseInsensitiveCompare:@"ipv6pool-ec2"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpv6poolEc2); } if ([value caseInsensitiveCompare:@"key-pair"] == NSOrderedSame) { return @(AWSEC2ResourceTypeKeyPair); } if ([value caseInsensitiveCompare:@"launch-template"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLaunchTemplate); } if ([value caseInsensitiveCompare:@"local-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGateway); } if ([value caseInsensitiveCompare:@"local-gateway-route-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayRouteTable); } if ([value caseInsensitiveCompare:@"local-gateway-virtual-interface"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayVirtualInterface); } if ([value caseInsensitiveCompare:@"local-gateway-virtual-interface-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayVirtualInterfaceGroup); } if ([value caseInsensitiveCompare:@"local-gateway-route-table-vpc-association"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayRouteTableVpcAssociation); } if ([value caseInsensitiveCompare:@"local-gateway-route-table-virtual-interface-group-association"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayRouteTableVirtualInterfaceGroupAssociation); } if ([value caseInsensitiveCompare:@"natgateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNatgateway); } if ([value caseInsensitiveCompare:@"network-acl"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkACL); } if ([value caseInsensitiveCompare:@"network-interface"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInterface); } if ([value caseInsensitiveCompare:@"network-insights-analysis"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsAnalysis); } if ([value caseInsensitiveCompare:@"network-insights-path"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsPath); } if ([value caseInsensitiveCompare:@"network-insights-access-scope"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsAccessScope); } if ([value caseInsensitiveCompare:@"network-insights-access-scope-analysis"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsAccessScopeAnalysis); } if ([value caseInsensitiveCompare:@"placement-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypePlacementGroup); } if ([value caseInsensitiveCompare:@"prefix-list"] == NSOrderedSame) { return @(AWSEC2ResourceTypePrefixList); } if ([value caseInsensitiveCompare:@"replace-root-volume-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeReplaceRootVolumeTask); } if ([value caseInsensitiveCompare:@"reserved-instances"] == NSOrderedSame) { return @(AWSEC2ResourceTypeReservedInstances); } if ([value caseInsensitiveCompare:@"route-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeRouteTable); } if ([value caseInsensitiveCompare:@"security-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSecurityGroup); } if ([value caseInsensitiveCompare:@"security-group-rule"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSecurityGroupRule); } if ([value caseInsensitiveCompare:@"snapshot"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSnapshot); } if ([value caseInsensitiveCompare:@"spot-fleet-request"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSpotFleetRequest); } if ([value caseInsensitiveCompare:@"spot-instances-request"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSpotInstancesRequest); } if ([value caseInsensitiveCompare:@"subnet"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSubnet); } if ([value caseInsensitiveCompare:@"subnet-cidr-reservation"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSubnetCidrReservation); } if ([value caseInsensitiveCompare:@"traffic-mirror-filter"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorFilter); } if ([value caseInsensitiveCompare:@"traffic-mirror-session"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorSession); } if ([value caseInsensitiveCompare:@"traffic-mirror-target"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorTarget); } if ([value caseInsensitiveCompare:@"transit-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGateway); } if ([value caseInsensitiveCompare:@"transit-gateway-attachment"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayAttachment); } if ([value caseInsensitiveCompare:@"transit-gateway-connect-peer"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayConnectPeer); } if ([value caseInsensitiveCompare:@"transit-gateway-multicast-domain"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayMulticastDomain); } if ([value caseInsensitiveCompare:@"transit-gateway-policy-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayPolicyTable); } if ([value caseInsensitiveCompare:@"transit-gateway-route-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayRouteTable); } if ([value caseInsensitiveCompare:@"transit-gateway-route-table-announcement"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayRouteTableAnnouncement); } if ([value caseInsensitiveCompare:@"volume"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVolume); } if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpc-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpoint); } if ([value caseInsensitiveCompare:@"vpc-endpoint-connection"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointConnection); } if ([value caseInsensitiveCompare:@"vpc-endpoint-service"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointService); } if ([value caseInsensitiveCompare:@"vpc-endpoint-service-permission"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointServicePermission); } if ([value caseInsensitiveCompare:@"vpc-peering-connection"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcPeeringConnection); } if ([value caseInsensitiveCompare:@"vpn-connection"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpnConnection); } if ([value caseInsensitiveCompare:@"vpn-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpnGateway); } if ([value caseInsensitiveCompare:@"vpc-flow-log"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcFlowLog); } if ([value caseInsensitiveCompare:@"capacity-reservation-fleet"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCapacityReservationFleet); } if ([value caseInsensitiveCompare:@"traffic-mirror-filter-rule"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorFilterRule); } if ([value caseInsensitiveCompare:@"vpc-endpoint-connection-device-type"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointConnectionDeviceType); } if ([value caseInsensitiveCompare:@"verified-access-instance"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessInstance); } if ([value caseInsensitiveCompare:@"verified-access-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessGroup); } if ([value caseInsensitiveCompare:@"verified-access-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessEndpoint); } if ([value caseInsensitiveCompare:@"verified-access-policy"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessPolicy); } if ([value caseInsensitiveCompare:@"verified-access-trust-provider"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessTrustProvider); } if ([value caseInsensitiveCompare:@"vpn-connection-device-type"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpnConnectionDeviceType); } if ([value caseInsensitiveCompare:@"vpc-block-public-access-exclusion"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcBlockPublicAccessExclusion); } if ([value caseInsensitiveCompare:@"ipam-resource-discovery"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamResourceDiscovery); } if ([value caseInsensitiveCompare:@"ipam-resource-discovery-association"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamResourceDiscoveryAssociation); } if ([value caseInsensitiveCompare:@"instance-connect-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInstanceConnectEndpoint); } return @(AWSEC2ResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ResourceTypeCapacityReservation: return @"capacity-reservation"; case AWSEC2ResourceTypeClientVpnEndpoint: return @"client-vpn-endpoint"; case AWSEC2ResourceTypeCustomerGateway: return @"customer-gateway"; case AWSEC2ResourceTypeCarrierGateway: return @"carrier-gateway"; case AWSEC2ResourceTypeCoipPool: return @"coip-pool"; case AWSEC2ResourceTypeDedicatedHost: return @"dedicated-host"; case AWSEC2ResourceTypeDHCPOptions: return @"dhcp-options"; case AWSEC2ResourceTypeEgressOnlyInternetGateway: return @"egress-only-internet-gateway"; case AWSEC2ResourceTypeElasticIp: return @"elastic-ip"; case AWSEC2ResourceTypeElasticGpu: return @"elastic-gpu"; case AWSEC2ResourceTypeExportImageTask: return @"export-image-task"; case AWSEC2ResourceTypeExportInstanceTask: return @"export-instance-task"; case AWSEC2ResourceTypeFleet: return @"fleet"; case AWSEC2ResourceTypeFpgaImage: return @"fpga-image"; case AWSEC2ResourceTypeHostReservation: return @"host-reservation"; case AWSEC2ResourceTypeImage: return @"image"; case AWSEC2ResourceTypeImportImageTask: return @"import-image-task"; case AWSEC2ResourceTypeImportSnapshotTask: return @"import-snapshot-task"; case AWSEC2ResourceTypeInstance: return @"instance"; case AWSEC2ResourceTypeInstanceEventWindow: return @"instance-event-window"; case AWSEC2ResourceTypeInternetGateway: return @"internet-gateway"; case AWSEC2ResourceTypeIpam: return @"ipam"; case AWSEC2ResourceTypeIpamPool: return @"ipam-pool"; case AWSEC2ResourceTypeIpamScope: return @"ipam-scope"; case AWSEC2ResourceTypeIpv4poolEc2: return @"ipv4pool-ec2"; case AWSEC2ResourceTypeIpv6poolEc2: return @"ipv6pool-ec2"; case AWSEC2ResourceTypeKeyPair: return @"key-pair"; case AWSEC2ResourceTypeLaunchTemplate: return @"launch-template"; case AWSEC2ResourceTypeLocalGateway: return @"local-gateway"; case AWSEC2ResourceTypeLocalGatewayRouteTable: return @"local-gateway-route-table"; case AWSEC2ResourceTypeLocalGatewayVirtualInterface: return @"local-gateway-virtual-interface"; case AWSEC2ResourceTypeLocalGatewayVirtualInterfaceGroup: return @"local-gateway-virtual-interface-group"; case AWSEC2ResourceTypeLocalGatewayRouteTableVpcAssociation: return @"local-gateway-route-table-vpc-association"; case AWSEC2ResourceTypeLocalGatewayRouteTableVirtualInterfaceGroupAssociation: return @"local-gateway-route-table-virtual-interface-group-association"; case AWSEC2ResourceTypeNatgateway: return @"natgateway"; case AWSEC2ResourceTypeNetworkACL: return @"network-acl"; case AWSEC2ResourceTypeNetworkInterface: return @"network-interface"; case AWSEC2ResourceTypeNetworkInsightsAnalysis: return @"network-insights-analysis"; case AWSEC2ResourceTypeNetworkInsightsPath: return @"network-insights-path"; case AWSEC2ResourceTypeNetworkInsightsAccessScope: return @"network-insights-access-scope"; case AWSEC2ResourceTypeNetworkInsightsAccessScopeAnalysis: return @"network-insights-access-scope-analysis"; case AWSEC2ResourceTypePlacementGroup: return @"placement-group"; case AWSEC2ResourceTypePrefixList: return @"prefix-list"; case AWSEC2ResourceTypeReplaceRootVolumeTask: return @"replace-root-volume-task"; case AWSEC2ResourceTypeReservedInstances: return @"reserved-instances"; case AWSEC2ResourceTypeRouteTable: return @"route-table"; case AWSEC2ResourceTypeSecurityGroup: return @"security-group"; case AWSEC2ResourceTypeSecurityGroupRule: return @"security-group-rule"; case AWSEC2ResourceTypeSnapshot: return @"snapshot"; case AWSEC2ResourceTypeSpotFleetRequest: return @"spot-fleet-request"; case AWSEC2ResourceTypeSpotInstancesRequest: return @"spot-instances-request"; case AWSEC2ResourceTypeSubnet: return @"subnet"; case AWSEC2ResourceTypeSubnetCidrReservation: return @"subnet-cidr-reservation"; case AWSEC2ResourceTypeTrafficMirrorFilter: return @"traffic-mirror-filter"; case AWSEC2ResourceTypeTrafficMirrorSession: return @"traffic-mirror-session"; case AWSEC2ResourceTypeTrafficMirrorTarget: return @"traffic-mirror-target"; case AWSEC2ResourceTypeTransitGateway: return @"transit-gateway"; case AWSEC2ResourceTypeTransitGatewayAttachment: return @"transit-gateway-attachment"; case AWSEC2ResourceTypeTransitGatewayConnectPeer: return @"transit-gateway-connect-peer"; case AWSEC2ResourceTypeTransitGatewayMulticastDomain: return @"transit-gateway-multicast-domain"; case AWSEC2ResourceTypeTransitGatewayPolicyTable: return @"transit-gateway-policy-table"; case AWSEC2ResourceTypeTransitGatewayRouteTable: return @"transit-gateway-route-table"; case AWSEC2ResourceTypeTransitGatewayRouteTableAnnouncement: return @"transit-gateway-route-table-announcement"; case AWSEC2ResourceTypeVolume: return @"volume"; case AWSEC2ResourceTypeVPC: return @"vpc"; case AWSEC2ResourceTypeVpcEndpoint: return @"vpc-endpoint"; case AWSEC2ResourceTypeVpcEndpointConnection: return @"vpc-endpoint-connection"; case AWSEC2ResourceTypeVpcEndpointService: return @"vpc-endpoint-service"; case AWSEC2ResourceTypeVpcEndpointServicePermission: return @"vpc-endpoint-service-permission"; case AWSEC2ResourceTypeVpcPeeringConnection: return @"vpc-peering-connection"; case AWSEC2ResourceTypeVpnConnection: return @"vpn-connection"; case AWSEC2ResourceTypeVpnGateway: return @"vpn-gateway"; case AWSEC2ResourceTypeVpcFlowLog: return @"vpc-flow-log"; case AWSEC2ResourceTypeCapacityReservationFleet: return @"capacity-reservation-fleet"; case AWSEC2ResourceTypeTrafficMirrorFilterRule: return @"traffic-mirror-filter-rule"; case AWSEC2ResourceTypeVpcEndpointConnectionDeviceType: return @"vpc-endpoint-connection-device-type"; case AWSEC2ResourceTypeVerifiedAccessInstance: return @"verified-access-instance"; case AWSEC2ResourceTypeVerifiedAccessGroup: return @"verified-access-group"; case AWSEC2ResourceTypeVerifiedAccessEndpoint: return @"verified-access-endpoint"; case AWSEC2ResourceTypeVerifiedAccessPolicy: return @"verified-access-policy"; case AWSEC2ResourceTypeVerifiedAccessTrustProvider: return @"verified-access-trust-provider"; case AWSEC2ResourceTypeVpnConnectionDeviceType: return @"vpn-connection-device-type"; case AWSEC2ResourceTypeVpcBlockPublicAccessExclusion: return @"vpc-block-public-access-exclusion"; case AWSEC2ResourceTypeIpamResourceDiscovery: return @"ipam-resource-discovery"; case AWSEC2ResourceTypeIpamResourceDiscoveryAssociation: return @"ipam-resource-discovery-association"; case AWSEC2ResourceTypeInstanceConnectEndpoint: return @"instance-connect-endpoint"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2SpotInstanceRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"actualBlockHourlyPrice" : @"ActualBlockHourlyPrice", @"availabilityZoneGroup" : @"AvailabilityZoneGroup", @"blockDurationMinutes" : @"BlockDurationMinutes", @"createTime" : @"CreateTime", @"fault" : @"Fault", @"instanceId" : @"InstanceId", @"instanceInterruptionBehavior" : @"InstanceInterruptionBehavior", @"launchGroup" : @"LaunchGroup", @"launchSpecification" : @"LaunchSpecification", @"launchedAvailabilityZone" : @"LaunchedAvailabilityZone", @"productDescription" : @"ProductDescription", @"spotInstanceRequestId" : @"SpotInstanceRequestId", @"spotPrice" : @"SpotPrice", @"state" : @"State", @"status" : @"Status", @"tags" : @"Tags", @"types" : @"Type", @"validFrom" : @"ValidFrom", @"validUntil" : @"ValidUntil", }; } + (NSValueTransformer *)createTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)faultJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotInstanceStateFault class]]; } + (NSValueTransformer *)instanceInterruptionBehaviorJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"hibernate"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorHibernate); } if ([value caseInsensitiveCompare:@"stop"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorStop); } if ([value caseInsensitiveCompare:@"terminate"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorTerminate); } return @(AWSEC2InstanceInterruptionBehaviorUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceInterruptionBehaviorHibernate: return @"hibernate"; case AWSEC2InstanceInterruptionBehaviorStop: return @"stop"; case AWSEC2InstanceInterruptionBehaviorTerminate: return @"terminate"; default: return nil; } }]; } + (NSValueTransformer *)launchSpecificationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LaunchSpecification class]]; } + (NSValueTransformer *)productDescriptionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Linux/UNIX"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionLinuxUNIX); } if ([value caseInsensitiveCompare:@"Linux/UNIX (Amazon VPC)"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionLinuxUNIXAmazonVPC); } if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionWindows); } if ([value caseInsensitiveCompare:@"Windows (Amazon VPC)"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionWindowsAmazonVPC); } return @(AWSEC2RIProductDescriptionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2RIProductDescriptionLinuxUNIX: return @"Linux/UNIX"; case AWSEC2RIProductDescriptionLinuxUNIXAmazonVPC: return @"Linux/UNIX (Amazon VPC)"; case AWSEC2RIProductDescriptionWindows: return @"Windows"; case AWSEC2RIProductDescriptionWindowsAmazonVPC: return @"Windows (Amazon VPC)"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"open"] == NSOrderedSame) { return @(AWSEC2SpotInstanceStateOpen); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2SpotInstanceStateActive); } if ([value caseInsensitiveCompare:@"closed"] == NSOrderedSame) { return @(AWSEC2SpotInstanceStateClosed); } if ([value caseInsensitiveCompare:@"cancelled"] == NSOrderedSame) { return @(AWSEC2SpotInstanceStateCancelled); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2SpotInstanceStateFailed); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2SpotInstanceStateDisabled); } return @(AWSEC2SpotInstanceStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SpotInstanceStateOpen: return @"open"; case AWSEC2SpotInstanceStateActive: return @"active"; case AWSEC2SpotInstanceStateClosed: return @"closed"; case AWSEC2SpotInstanceStateCancelled: return @"cancelled"; case AWSEC2SpotInstanceStateFailed: return @"failed"; case AWSEC2SpotInstanceStateDisabled: return @"disabled"; default: return nil; } }]; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotInstanceStatus class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"one-time"] == NSOrderedSame) { return @(AWSEC2SpotInstanceTypeOneTime); } if ([value caseInsensitiveCompare:@"persistent"] == NSOrderedSame) { return @(AWSEC2SpotInstanceTypePersistent); } return @(AWSEC2SpotInstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SpotInstanceTypeOneTime: return @"one-time"; case AWSEC2SpotInstanceTypePersistent: return @"persistent"; default: return nil; } }]; } + (NSValueTransformer *)validFromJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)validUntilJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2SpotInstanceStateFault + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } @end @implementation AWSEC2SpotInstanceStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", @"updateTime" : @"UpdateTime", }; } + (NSValueTransformer *)updateTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2SpotMaintenanceStrategies + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"capacityRebalance" : @"CapacityRebalance", }; } + (NSValueTransformer *)capacityRebalanceJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SpotCapacityRebalance class]]; } @end @implementation AWSEC2SpotMarketOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blockDurationMinutes" : @"BlockDurationMinutes", @"instanceInterruptionBehavior" : @"InstanceInterruptionBehavior", @"maxPrice" : @"MaxPrice", @"spotInstanceType" : @"SpotInstanceType", @"validUntil" : @"ValidUntil", }; } + (NSValueTransformer *)instanceInterruptionBehaviorJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"hibernate"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorHibernate); } if ([value caseInsensitiveCompare:@"stop"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorStop); } if ([value caseInsensitiveCompare:@"terminate"] == NSOrderedSame) { return @(AWSEC2InstanceInterruptionBehaviorTerminate); } return @(AWSEC2InstanceInterruptionBehaviorUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceInterruptionBehaviorHibernate: return @"hibernate"; case AWSEC2InstanceInterruptionBehaviorStop: return @"stop"; case AWSEC2InstanceInterruptionBehaviorTerminate: return @"terminate"; default: return nil; } }]; } + (NSValueTransformer *)spotInstanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"one-time"] == NSOrderedSame) { return @(AWSEC2SpotInstanceTypeOneTime); } if ([value caseInsensitiveCompare:@"persistent"] == NSOrderedSame) { return @(AWSEC2SpotInstanceTypePersistent); } return @(AWSEC2SpotInstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SpotInstanceTypeOneTime: return @"one-time"; case AWSEC2SpotInstanceTypePersistent: return @"persistent"; default: return nil; } }]; } + (NSValueTransformer *)validUntilJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2SpotOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationStrategy" : @"AllocationStrategy", @"instanceInterruptionBehavior" : @"InstanceInterruptionBehavior", @"instancePoolsToUseCount" : @"InstancePoolsToUseCount", @"maintenanceStrategies" : @"MaintenanceStrategies", @"maxTotalPrice" : @"MaxTotalPrice", @"minTargetCapacity" : @"MinTargetCapacity", @"singleAvailabilityZone" : @"SingleAvailabilityZone", @"singleInstanceType" : @"SingleInstanceType", }; } + (NSValueTransformer *)allocationStrategyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"lowest-price"] == NSOrderedSame) { return @(AWSEC2SpotAllocationStrategyLowestPrice); } if ([value caseInsensitiveCompare:@"diversified"] == NSOrderedSame) { return @(AWSEC2SpotAllocationStrategyDiversified); } if ([value caseInsensitiveCompare:@"capacity-optimized"] == NSOrderedSame) { return @(AWSEC2SpotAllocationStrategyCapacityOptimized); } if ([value caseInsensitiveCompare:@"capacity-optimized-prioritized"] == NSOrderedSame) { return @(AWSEC2SpotAllocationStrategyCapacityOptimizedPrioritized); } if ([value caseInsensitiveCompare:@"price-capacity-optimized"] == NSOrderedSame) { return @(AWSEC2SpotAllocationStrategyPriceCapacityOptimized); } return @(AWSEC2SpotAllocationStrategyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SpotAllocationStrategyLowestPrice: return @"lowest-price"; case AWSEC2SpotAllocationStrategyDiversified: return @"diversified"; case AWSEC2SpotAllocationStrategyCapacityOptimized: return @"capacity-optimized"; case AWSEC2SpotAllocationStrategyCapacityOptimizedPrioritized: return @"capacity-optimized-prioritized"; case AWSEC2SpotAllocationStrategyPriceCapacityOptimized: return @"price-capacity-optimized"; default: return nil; } }]; } + (NSValueTransformer *)instanceInterruptionBehaviorJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"hibernate"] == NSOrderedSame) { return @(AWSEC2SpotInstanceInterruptionBehaviorHibernate); } if ([value caseInsensitiveCompare:@"stop"] == NSOrderedSame) { return @(AWSEC2SpotInstanceInterruptionBehaviorStop); } if ([value caseInsensitiveCompare:@"terminate"] == NSOrderedSame) { return @(AWSEC2SpotInstanceInterruptionBehaviorTerminate); } return @(AWSEC2SpotInstanceInterruptionBehaviorUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SpotInstanceInterruptionBehaviorHibernate: return @"hibernate"; case AWSEC2SpotInstanceInterruptionBehaviorStop: return @"stop"; case AWSEC2SpotInstanceInterruptionBehaviorTerminate: return @"terminate"; default: return nil; } }]; } + (NSValueTransformer *)maintenanceStrategiesJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FleetSpotMaintenanceStrategies class]]; } @end @implementation AWSEC2SpotOptionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allocationStrategy" : @"AllocationStrategy", @"instanceInterruptionBehavior" : @"InstanceInterruptionBehavior", @"instancePoolsToUseCount" : @"InstancePoolsToUseCount", @"maintenanceStrategies" : @"MaintenanceStrategies", @"maxTotalPrice" : @"MaxTotalPrice", @"minTargetCapacity" : @"MinTargetCapacity", @"singleAvailabilityZone" : @"SingleAvailabilityZone", @"singleInstanceType" : @"SingleInstanceType", }; } + (NSValueTransformer *)allocationStrategyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"lowest-price"] == NSOrderedSame) { return @(AWSEC2SpotAllocationStrategyLowestPrice); } if ([value caseInsensitiveCompare:@"diversified"] == NSOrderedSame) { return @(AWSEC2SpotAllocationStrategyDiversified); } if ([value caseInsensitiveCompare:@"capacity-optimized"] == NSOrderedSame) { return @(AWSEC2SpotAllocationStrategyCapacityOptimized); } if ([value caseInsensitiveCompare:@"capacity-optimized-prioritized"] == NSOrderedSame) { return @(AWSEC2SpotAllocationStrategyCapacityOptimizedPrioritized); } if ([value caseInsensitiveCompare:@"price-capacity-optimized"] == NSOrderedSame) { return @(AWSEC2SpotAllocationStrategyPriceCapacityOptimized); } return @(AWSEC2SpotAllocationStrategyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SpotAllocationStrategyLowestPrice: return @"lowest-price"; case AWSEC2SpotAllocationStrategyDiversified: return @"diversified"; case AWSEC2SpotAllocationStrategyCapacityOptimized: return @"capacity-optimized"; case AWSEC2SpotAllocationStrategyCapacityOptimizedPrioritized: return @"capacity-optimized-prioritized"; case AWSEC2SpotAllocationStrategyPriceCapacityOptimized: return @"price-capacity-optimized"; default: return nil; } }]; } + (NSValueTransformer *)instanceInterruptionBehaviorJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"hibernate"] == NSOrderedSame) { return @(AWSEC2SpotInstanceInterruptionBehaviorHibernate); } if ([value caseInsensitiveCompare:@"stop"] == NSOrderedSame) { return @(AWSEC2SpotInstanceInterruptionBehaviorStop); } if ([value caseInsensitiveCompare:@"terminate"] == NSOrderedSame) { return @(AWSEC2SpotInstanceInterruptionBehaviorTerminate); } return @(AWSEC2SpotInstanceInterruptionBehaviorUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SpotInstanceInterruptionBehaviorHibernate: return @"hibernate"; case AWSEC2SpotInstanceInterruptionBehaviorStop: return @"stop"; case AWSEC2SpotInstanceInterruptionBehaviorTerminate: return @"terminate"; default: return nil; } }]; } + (NSValueTransformer *)maintenanceStrategiesJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2FleetSpotMaintenanceStrategiesRequest class]]; } @end @implementation AWSEC2SpotPlacement + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"groupName" : @"GroupName", @"tenancy" : @"Tenancy", }; } + (NSValueTransformer *)tenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2TenancyDefault); } if ([value caseInsensitiveCompare:@"dedicated"] == NSOrderedSame) { return @(AWSEC2TenancyDedicated); } if ([value caseInsensitiveCompare:@"host"] == NSOrderedSame) { return @(AWSEC2TenancyHost); } return @(AWSEC2TenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TenancyDefault: return @"default"; case AWSEC2TenancyDedicated: return @"dedicated"; case AWSEC2TenancyHost: return @"host"; default: return nil; } }]; } @end @implementation AWSEC2SpotPlacementScore + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZoneId" : @"AvailabilityZoneId", @"region" : @"Region", @"score" : @"Score", }; } @end @implementation AWSEC2SpotPrice + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"availabilityZone" : @"AvailabilityZone", @"instanceType" : @"InstanceType", @"productDescription" : @"ProductDescription", @"spotPrice" : @"SpotPrice", @"timestamp" : @"Timestamp", }; } + (NSValueTransformer *)instanceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"a1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_medium); } if ([value caseInsensitiveCompare:@"a1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_large); } if ([value caseInsensitiveCompare:@"a1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_xlarge); } if ([value caseInsensitiveCompare:@"a1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_2xlarge); } if ([value caseInsensitiveCompare:@"a1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_4xlarge); } if ([value caseInsensitiveCompare:@"a1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeA1_metal); } if ([value caseInsensitiveCompare:@"c1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_medium); } if ([value caseInsensitiveCompare:@"c1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC1_xlarge); } if ([value caseInsensitiveCompare:@"c3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_large); } if ([value caseInsensitiveCompare:@"c3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_xlarge); } if ([value caseInsensitiveCompare:@"c3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_2xlarge); } if ([value caseInsensitiveCompare:@"c3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_4xlarge); } if ([value caseInsensitiveCompare:@"c3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC3_8xlarge); } if ([value caseInsensitiveCompare:@"c4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_large); } if ([value caseInsensitiveCompare:@"c4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_xlarge); } if ([value caseInsensitiveCompare:@"c4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_2xlarge); } if ([value caseInsensitiveCompare:@"c4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_4xlarge); } if ([value caseInsensitiveCompare:@"c4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC4_8xlarge); } if ([value caseInsensitiveCompare:@"c5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_large); } if ([value caseInsensitiveCompare:@"c5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_xlarge); } if ([value caseInsensitiveCompare:@"c5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_2xlarge); } if ([value caseInsensitiveCompare:@"c5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_4xlarge); } if ([value caseInsensitiveCompare:@"c5.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_9xlarge); } if ([value caseInsensitiveCompare:@"c5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_12xlarge); } if ([value caseInsensitiveCompare:@"c5.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_18xlarge); } if ([value caseInsensitiveCompare:@"c5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_24xlarge); } if ([value caseInsensitiveCompare:@"c5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5_metal); } if ([value caseInsensitiveCompare:@"c5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_large); } if ([value caseInsensitiveCompare:@"c5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_xlarge); } if ([value caseInsensitiveCompare:@"c5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_2xlarge); } if ([value caseInsensitiveCompare:@"c5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_4xlarge); } if ([value caseInsensitiveCompare:@"c5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_8xlarge); } if ([value caseInsensitiveCompare:@"c5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_12xlarge); } if ([value caseInsensitiveCompare:@"c5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_16xlarge); } if ([value caseInsensitiveCompare:@"c5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5A_24xlarge); } if ([value caseInsensitiveCompare:@"c5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_large); } if ([value caseInsensitiveCompare:@"c5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_xlarge); } if ([value caseInsensitiveCompare:@"c5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"c5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"c5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"c5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"c5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"c5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_large); } if ([value caseInsensitiveCompare:@"c5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_xlarge); } if ([value caseInsensitiveCompare:@"c5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_2xlarge); } if ([value caseInsensitiveCompare:@"c5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_4xlarge); } if ([value caseInsensitiveCompare:@"c5d.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_9xlarge); } if ([value caseInsensitiveCompare:@"c5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_12xlarge); } if ([value caseInsensitiveCompare:@"c5d.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_18xlarge); } if ([value caseInsensitiveCompare:@"c5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_24xlarge); } if ([value caseInsensitiveCompare:@"c5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5D_metal); } if ([value caseInsensitiveCompare:@"c5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_large); } if ([value caseInsensitiveCompare:@"c5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_xlarge); } if ([value caseInsensitiveCompare:@"c5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_2xlarge); } if ([value caseInsensitiveCompare:@"c5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_4xlarge); } if ([value caseInsensitiveCompare:@"c5n.9xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_9xlarge); } if ([value caseInsensitiveCompare:@"c5n.18xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_18xlarge); } if ([value caseInsensitiveCompare:@"c5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC5N_metal); } if ([value caseInsensitiveCompare:@"c6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_medium); } if ([value caseInsensitiveCompare:@"c6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_large); } if ([value caseInsensitiveCompare:@"c6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_xlarge); } if ([value caseInsensitiveCompare:@"c6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_2xlarge); } if ([value caseInsensitiveCompare:@"c6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_4xlarge); } if ([value caseInsensitiveCompare:@"c6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_8xlarge); } if ([value caseInsensitiveCompare:@"c6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_12xlarge); } if ([value caseInsensitiveCompare:@"c6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_16xlarge); } if ([value caseInsensitiveCompare:@"c6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6G_metal); } if ([value caseInsensitiveCompare:@"c6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_medium); } if ([value caseInsensitiveCompare:@"c6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_large); } if ([value caseInsensitiveCompare:@"c6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_xlarge); } if ([value caseInsensitiveCompare:@"c6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"c6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"c6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"c6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"c6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"c6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gd_metal); } if ([value caseInsensitiveCompare:@"c6gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_medium); } if ([value caseInsensitiveCompare:@"c6gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_large); } if ([value caseInsensitiveCompare:@"c6gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_xlarge); } if ([value caseInsensitiveCompare:@"c6gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c6gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c6gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c6gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c6gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Gn_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_large); } if ([value caseInsensitiveCompare:@"c6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_xlarge); } if ([value caseInsensitiveCompare:@"c6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_2xlarge); } if ([value caseInsensitiveCompare:@"c6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_4xlarge); } if ([value caseInsensitiveCompare:@"c6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_8xlarge); } if ([value caseInsensitiveCompare:@"c6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_12xlarge); } if ([value caseInsensitiveCompare:@"c6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_16xlarge); } if ([value caseInsensitiveCompare:@"c6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_24xlarge); } if ([value caseInsensitiveCompare:@"c6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_32xlarge); } if ([value caseInsensitiveCompare:@"c6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6I_metal); } if ([value caseInsensitiveCompare:@"cc1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC1_4xlarge); } if ([value caseInsensitiveCompare:@"cc2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCC2_8xlarge); } if ([value caseInsensitiveCompare:@"cg1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCG1_4xlarge); } if ([value caseInsensitiveCompare:@"cr1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeCR1_8xlarge); } if ([value caseInsensitiveCompare:@"d2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_xlarge); } if ([value caseInsensitiveCompare:@"d2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_2xlarge); } if ([value caseInsensitiveCompare:@"d2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_4xlarge); } if ([value caseInsensitiveCompare:@"d2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD2_8xlarge); } if ([value caseInsensitiveCompare:@"d3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_xlarge); } if ([value caseInsensitiveCompare:@"d3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_2xlarge); } if ([value caseInsensitiveCompare:@"d3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_4xlarge); } if ([value caseInsensitiveCompare:@"d3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_xlarge); } if ([value caseInsensitiveCompare:@"d3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_2xlarge); } if ([value caseInsensitiveCompare:@"d3en.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_4xlarge); } if ([value caseInsensitiveCompare:@"d3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_6xlarge); } if ([value caseInsensitiveCompare:@"d3en.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_8xlarge); } if ([value caseInsensitiveCompare:@"d3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeD3En_12xlarge); } if ([value caseInsensitiveCompare:@"dl1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeDL1_24xlarge); } if ([value caseInsensitiveCompare:@"f1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_2xlarge); } if ([value caseInsensitiveCompare:@"f1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_4xlarge); } if ([value caseInsensitiveCompare:@"f1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeF1_16xlarge); } if ([value caseInsensitiveCompare:@"g2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_2xlarge); } if ([value caseInsensitiveCompare:@"g2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG2_8xlarge); } if ([value caseInsensitiveCompare:@"g3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_4xlarge); } if ([value caseInsensitiveCompare:@"g3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_8xlarge); } if ([value caseInsensitiveCompare:@"g3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3_16xlarge); } if ([value caseInsensitiveCompare:@"g3s.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG3S_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_xlarge); } if ([value caseInsensitiveCompare:@"g4ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_2xlarge); } if ([value caseInsensitiveCompare:@"g4ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_4xlarge); } if ([value caseInsensitiveCompare:@"g4ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_8xlarge); } if ([value caseInsensitiveCompare:@"g4ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Ad_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_xlarge); } if ([value caseInsensitiveCompare:@"g4dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_2xlarge); } if ([value caseInsensitiveCompare:@"g4dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_4xlarge); } if ([value caseInsensitiveCompare:@"g4dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_8xlarge); } if ([value caseInsensitiveCompare:@"g4dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_12xlarge); } if ([value caseInsensitiveCompare:@"g4dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_16xlarge); } if ([value caseInsensitiveCompare:@"g4dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG4Dn_metal); } if ([value caseInsensitiveCompare:@"g5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_xlarge); } if ([value caseInsensitiveCompare:@"g5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_2xlarge); } if ([value caseInsensitiveCompare:@"g5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_4xlarge); } if ([value caseInsensitiveCompare:@"g5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_8xlarge); } if ([value caseInsensitiveCompare:@"g5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_12xlarge); } if ([value caseInsensitiveCompare:@"g5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_16xlarge); } if ([value caseInsensitiveCompare:@"g5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_24xlarge); } if ([value caseInsensitiveCompare:@"g5.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5_48xlarge); } if ([value caseInsensitiveCompare:@"g5g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_xlarge); } if ([value caseInsensitiveCompare:@"g5g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_2xlarge); } if ([value caseInsensitiveCompare:@"g5g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_4xlarge); } if ([value caseInsensitiveCompare:@"g5g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_8xlarge); } if ([value caseInsensitiveCompare:@"g5g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_16xlarge); } if ([value caseInsensitiveCompare:@"g5g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeG5G_metal); } if ([value caseInsensitiveCompare:@"hi1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHI1_4xlarge); } if ([value caseInsensitiveCompare:@"hpc6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6a_48xlarge); } if ([value caseInsensitiveCompare:@"hs1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHS1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_2xlarge); } if ([value caseInsensitiveCompare:@"h1.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_4xlarge); } if ([value caseInsensitiveCompare:@"h1.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_8xlarge); } if ([value caseInsensitiveCompare:@"h1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeH1_16xlarge); } if ([value caseInsensitiveCompare:@"i2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_xlarge); } if ([value caseInsensitiveCompare:@"i2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_2xlarge); } if ([value caseInsensitiveCompare:@"i2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_4xlarge); } if ([value caseInsensitiveCompare:@"i2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI2_8xlarge); } if ([value caseInsensitiveCompare:@"i3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_large); } if ([value caseInsensitiveCompare:@"i3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_xlarge); } if ([value caseInsensitiveCompare:@"i3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_2xlarge); } if ([value caseInsensitiveCompare:@"i3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_4xlarge); } if ([value caseInsensitiveCompare:@"i3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_8xlarge); } if ([value caseInsensitiveCompare:@"i3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_16xlarge); } if ([value caseInsensitiveCompare:@"i3.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3_metal); } if ([value caseInsensitiveCompare:@"i3en.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_large); } if ([value caseInsensitiveCompare:@"i3en.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_xlarge); } if ([value caseInsensitiveCompare:@"i3en.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_2xlarge); } if ([value caseInsensitiveCompare:@"i3en.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_3xlarge); } if ([value caseInsensitiveCompare:@"i3en.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_6xlarge); } if ([value caseInsensitiveCompare:@"i3en.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_12xlarge); } if ([value caseInsensitiveCompare:@"i3en.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_24xlarge); } if ([value caseInsensitiveCompare:@"i3en.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI3En_metal); } if ([value caseInsensitiveCompare:@"im4gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_large); } if ([value caseInsensitiveCompare:@"im4gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_xlarge); } if ([value caseInsensitiveCompare:@"im4gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_2xlarge); } if ([value caseInsensitiveCompare:@"im4gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_4xlarge); } if ([value caseInsensitiveCompare:@"im4gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_8xlarge); } if ([value caseInsensitiveCompare:@"im4gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIM4gn_16xlarge); } if ([value caseInsensitiveCompare:@"inf1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_xlarge); } if ([value caseInsensitiveCompare:@"inf1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_2xlarge); } if ([value caseInsensitiveCompare:@"inf1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_6xlarge); } if ([value caseInsensitiveCompare:@"inf1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF1_24xlarge); } if ([value caseInsensitiveCompare:@"is4gen.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_medium); } if ([value caseInsensitiveCompare:@"is4gen.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_large); } if ([value caseInsensitiveCompare:@"is4gen.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_xlarge); } if ([value caseInsensitiveCompare:@"is4gen.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_2xlarge); } if ([value caseInsensitiveCompare:@"is4gen.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_4xlarge); } if ([value caseInsensitiveCompare:@"is4gen.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeIS4gen_8xlarge); } if ([value caseInsensitiveCompare:@"m1.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_small); } if ([value caseInsensitiveCompare:@"m1.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_medium); } if ([value caseInsensitiveCompare:@"m1.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_large); } if ([value caseInsensitiveCompare:@"m1.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM1_xlarge); } if ([value caseInsensitiveCompare:@"m2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_xlarge); } if ([value caseInsensitiveCompare:@"m2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_2xlarge); } if ([value caseInsensitiveCompare:@"m2.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM2_4xlarge); } if ([value caseInsensitiveCompare:@"m3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_medium); } if ([value caseInsensitiveCompare:@"m3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_large); } if ([value caseInsensitiveCompare:@"m3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_xlarge); } if ([value caseInsensitiveCompare:@"m3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM3_2xlarge); } if ([value caseInsensitiveCompare:@"m4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_large); } if ([value caseInsensitiveCompare:@"m4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_xlarge); } if ([value caseInsensitiveCompare:@"m4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_2xlarge); } if ([value caseInsensitiveCompare:@"m4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_4xlarge); } if ([value caseInsensitiveCompare:@"m4.10xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_10xlarge); } if ([value caseInsensitiveCompare:@"m4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM4_16xlarge); } if ([value caseInsensitiveCompare:@"m5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_large); } if ([value caseInsensitiveCompare:@"m5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_xlarge); } if ([value caseInsensitiveCompare:@"m5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_2xlarge); } if ([value caseInsensitiveCompare:@"m5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_4xlarge); } if ([value caseInsensitiveCompare:@"m5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_8xlarge); } if ([value caseInsensitiveCompare:@"m5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_12xlarge); } if ([value caseInsensitiveCompare:@"m5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_16xlarge); } if ([value caseInsensitiveCompare:@"m5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_24xlarge); } if ([value caseInsensitiveCompare:@"m5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5_metal); } if ([value caseInsensitiveCompare:@"m5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_large); } if ([value caseInsensitiveCompare:@"m5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_xlarge); } if ([value caseInsensitiveCompare:@"m5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_2xlarge); } if ([value caseInsensitiveCompare:@"m5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_4xlarge); } if ([value caseInsensitiveCompare:@"m5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_8xlarge); } if ([value caseInsensitiveCompare:@"m5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_12xlarge); } if ([value caseInsensitiveCompare:@"m5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_16xlarge); } if ([value caseInsensitiveCompare:@"m5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5A_24xlarge); } if ([value caseInsensitiveCompare:@"m5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_large); } if ([value caseInsensitiveCompare:@"m5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_xlarge); } if ([value caseInsensitiveCompare:@"m5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"m5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"m5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"m5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"m5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"m5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_large); } if ([value caseInsensitiveCompare:@"m5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_xlarge); } if ([value caseInsensitiveCompare:@"m5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_2xlarge); } if ([value caseInsensitiveCompare:@"m5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_4xlarge); } if ([value caseInsensitiveCompare:@"m5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_8xlarge); } if ([value caseInsensitiveCompare:@"m5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_12xlarge); } if ([value caseInsensitiveCompare:@"m5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_16xlarge); } if ([value caseInsensitiveCompare:@"m5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_24xlarge); } if ([value caseInsensitiveCompare:@"m5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5D_metal); } if ([value caseInsensitiveCompare:@"m5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_large); } if ([value caseInsensitiveCompare:@"m5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_xlarge); } if ([value caseInsensitiveCompare:@"m5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"m5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"m5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"m5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"m5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"m5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"m5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Dn_metal); } if ([value caseInsensitiveCompare:@"m5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_large); } if ([value caseInsensitiveCompare:@"m5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_xlarge); } if ([value caseInsensitiveCompare:@"m5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_2xlarge); } if ([value caseInsensitiveCompare:@"m5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_4xlarge); } if ([value caseInsensitiveCompare:@"m5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_8xlarge); } if ([value caseInsensitiveCompare:@"m5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_12xlarge); } if ([value caseInsensitiveCompare:@"m5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_16xlarge); } if ([value caseInsensitiveCompare:@"m5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_24xlarge); } if ([value caseInsensitiveCompare:@"m5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5N_metal); } if ([value caseInsensitiveCompare:@"m5zn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_large); } if ([value caseInsensitiveCompare:@"m5zn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_xlarge); } if ([value caseInsensitiveCompare:@"m5zn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_2xlarge); } if ([value caseInsensitiveCompare:@"m5zn.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_3xlarge); } if ([value caseInsensitiveCompare:@"m5zn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_6xlarge); } if ([value caseInsensitiveCompare:@"m5zn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_12xlarge); } if ([value caseInsensitiveCompare:@"m5zn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM5Zn_metal); } if ([value caseInsensitiveCompare:@"m6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_large); } if ([value caseInsensitiveCompare:@"m6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_xlarge); } if ([value caseInsensitiveCompare:@"m6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_2xlarge); } if ([value caseInsensitiveCompare:@"m6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_4xlarge); } if ([value caseInsensitiveCompare:@"m6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_8xlarge); } if ([value caseInsensitiveCompare:@"m6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_12xlarge); } if ([value caseInsensitiveCompare:@"m6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_16xlarge); } if ([value caseInsensitiveCompare:@"m6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_24xlarge); } if ([value caseInsensitiveCompare:@"m6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_32xlarge); } if ([value caseInsensitiveCompare:@"m6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_48xlarge); } if ([value caseInsensitiveCompare:@"m6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_metal); } if ([value caseInsensitiveCompare:@"m6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_medium); } if ([value caseInsensitiveCompare:@"m6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_large); } if ([value caseInsensitiveCompare:@"m6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_xlarge); } if ([value caseInsensitiveCompare:@"m6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_2xlarge); } if ([value caseInsensitiveCompare:@"m6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_4xlarge); } if ([value caseInsensitiveCompare:@"m6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_8xlarge); } if ([value caseInsensitiveCompare:@"m6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_12xlarge); } if ([value caseInsensitiveCompare:@"m6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6G_16xlarge); } if ([value caseInsensitiveCompare:@"m6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_metal); } if ([value caseInsensitiveCompare:@"m6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_medium); } if ([value caseInsensitiveCompare:@"m6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_large); } if ([value caseInsensitiveCompare:@"m6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_xlarge); } if ([value caseInsensitiveCompare:@"m6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"m6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"m6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"m6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"m6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_large); } if ([value caseInsensitiveCompare:@"m6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_xlarge); } if ([value caseInsensitiveCompare:@"m6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_2xlarge); } if ([value caseInsensitiveCompare:@"m6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_4xlarge); } if ([value caseInsensitiveCompare:@"m6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_8xlarge); } if ([value caseInsensitiveCompare:@"m6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_12xlarge); } if ([value caseInsensitiveCompare:@"m6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_16xlarge); } if ([value caseInsensitiveCompare:@"m6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_24xlarge); } if ([value caseInsensitiveCompare:@"m6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_32xlarge); } if ([value caseInsensitiveCompare:@"m6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6I_metal); } if ([value caseInsensitiveCompare:@"mac1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC1_metal); } if ([value caseInsensitiveCompare:@"p2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_xlarge); } if ([value caseInsensitiveCompare:@"p2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_8xlarge); } if ([value caseInsensitiveCompare:@"p2.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP2_16xlarge); } if ([value caseInsensitiveCompare:@"p3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_2xlarge); } if ([value caseInsensitiveCompare:@"p3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_8xlarge); } if ([value caseInsensitiveCompare:@"p3.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3_16xlarge); } if ([value caseInsensitiveCompare:@"p3dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP3Dn_24xlarge); } if ([value caseInsensitiveCompare:@"p4d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4D_24xlarge); } if ([value caseInsensitiveCompare:@"r3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_large); } if ([value caseInsensitiveCompare:@"r3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_xlarge); } if ([value caseInsensitiveCompare:@"r3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_2xlarge); } if ([value caseInsensitiveCompare:@"r3.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_4xlarge); } if ([value caseInsensitiveCompare:@"r3.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR3_8xlarge); } if ([value caseInsensitiveCompare:@"r4.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_large); } if ([value caseInsensitiveCompare:@"r4.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_xlarge); } if ([value caseInsensitiveCompare:@"r4.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_2xlarge); } if ([value caseInsensitiveCompare:@"r4.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_4xlarge); } if ([value caseInsensitiveCompare:@"r4.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_8xlarge); } if ([value caseInsensitiveCompare:@"r4.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR4_16xlarge); } if ([value caseInsensitiveCompare:@"r5.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_large); } if ([value caseInsensitiveCompare:@"r5.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_xlarge); } if ([value caseInsensitiveCompare:@"r5.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_2xlarge); } if ([value caseInsensitiveCompare:@"r5.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_4xlarge); } if ([value caseInsensitiveCompare:@"r5.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_8xlarge); } if ([value caseInsensitiveCompare:@"r5.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_12xlarge); } if ([value caseInsensitiveCompare:@"r5.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_16xlarge); } if ([value caseInsensitiveCompare:@"r5.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_24xlarge); } if ([value caseInsensitiveCompare:@"r5.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5_metal); } if ([value caseInsensitiveCompare:@"r5a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_large); } if ([value caseInsensitiveCompare:@"r5a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_xlarge); } if ([value caseInsensitiveCompare:@"r5a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_2xlarge); } if ([value caseInsensitiveCompare:@"r5a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_4xlarge); } if ([value caseInsensitiveCompare:@"r5a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_8xlarge); } if ([value caseInsensitiveCompare:@"r5a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_12xlarge); } if ([value caseInsensitiveCompare:@"r5a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_16xlarge); } if ([value caseInsensitiveCompare:@"r5a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5A_24xlarge); } if ([value caseInsensitiveCompare:@"r5ad.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_large); } if ([value caseInsensitiveCompare:@"r5ad.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_xlarge); } if ([value caseInsensitiveCompare:@"r5ad.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_2xlarge); } if ([value caseInsensitiveCompare:@"r5ad.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_4xlarge); } if ([value caseInsensitiveCompare:@"r5ad.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_8xlarge); } if ([value caseInsensitiveCompare:@"r5ad.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_12xlarge); } if ([value caseInsensitiveCompare:@"r5ad.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_16xlarge); } if ([value caseInsensitiveCompare:@"r5ad.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Ad_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_large); } if ([value caseInsensitiveCompare:@"r5b.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_xlarge); } if ([value caseInsensitiveCompare:@"r5b.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_2xlarge); } if ([value caseInsensitiveCompare:@"r5b.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_4xlarge); } if ([value caseInsensitiveCompare:@"r5b.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_8xlarge); } if ([value caseInsensitiveCompare:@"r5b.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_12xlarge); } if ([value caseInsensitiveCompare:@"r5b.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_16xlarge); } if ([value caseInsensitiveCompare:@"r5b.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_24xlarge); } if ([value caseInsensitiveCompare:@"r5b.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5B_metal); } if ([value caseInsensitiveCompare:@"r5d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_large); } if ([value caseInsensitiveCompare:@"r5d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_xlarge); } if ([value caseInsensitiveCompare:@"r5d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_2xlarge); } if ([value caseInsensitiveCompare:@"r5d.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_4xlarge); } if ([value caseInsensitiveCompare:@"r5d.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_8xlarge); } if ([value caseInsensitiveCompare:@"r5d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_12xlarge); } if ([value caseInsensitiveCompare:@"r5d.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_16xlarge); } if ([value caseInsensitiveCompare:@"r5d.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_24xlarge); } if ([value caseInsensitiveCompare:@"r5d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5D_metal); } if ([value caseInsensitiveCompare:@"r5dn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_large); } if ([value caseInsensitiveCompare:@"r5dn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_xlarge); } if ([value caseInsensitiveCompare:@"r5dn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_2xlarge); } if ([value caseInsensitiveCompare:@"r5dn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_4xlarge); } if ([value caseInsensitiveCompare:@"r5dn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_8xlarge); } if ([value caseInsensitiveCompare:@"r5dn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_12xlarge); } if ([value caseInsensitiveCompare:@"r5dn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_16xlarge); } if ([value caseInsensitiveCompare:@"r5dn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_24xlarge); } if ([value caseInsensitiveCompare:@"r5dn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5Dn_metal); } if ([value caseInsensitiveCompare:@"r5n.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_large); } if ([value caseInsensitiveCompare:@"r5n.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_xlarge); } if ([value caseInsensitiveCompare:@"r5n.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_2xlarge); } if ([value caseInsensitiveCompare:@"r5n.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_4xlarge); } if ([value caseInsensitiveCompare:@"r5n.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_8xlarge); } if ([value caseInsensitiveCompare:@"r5n.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_12xlarge); } if ([value caseInsensitiveCompare:@"r5n.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_16xlarge); } if ([value caseInsensitiveCompare:@"r5n.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_24xlarge); } if ([value caseInsensitiveCompare:@"r5n.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR5N_metal); } if ([value caseInsensitiveCompare:@"r6g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_medium); } if ([value caseInsensitiveCompare:@"r6g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_large); } if ([value caseInsensitiveCompare:@"r6g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_xlarge); } if ([value caseInsensitiveCompare:@"r6g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_2xlarge); } if ([value caseInsensitiveCompare:@"r6g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_4xlarge); } if ([value caseInsensitiveCompare:@"r6g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_8xlarge); } if ([value caseInsensitiveCompare:@"r6g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_12xlarge); } if ([value caseInsensitiveCompare:@"r6g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_16xlarge); } if ([value caseInsensitiveCompare:@"r6g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6G_metal); } if ([value caseInsensitiveCompare:@"r6gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_medium); } if ([value caseInsensitiveCompare:@"r6gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_large); } if ([value caseInsensitiveCompare:@"r6gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_xlarge); } if ([value caseInsensitiveCompare:@"r6gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_2xlarge); } if ([value caseInsensitiveCompare:@"r6gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_4xlarge); } if ([value caseInsensitiveCompare:@"r6gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_8xlarge); } if ([value caseInsensitiveCompare:@"r6gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_12xlarge); } if ([value caseInsensitiveCompare:@"r6gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_16xlarge); } if ([value caseInsensitiveCompare:@"r6gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Gd_metal); } if ([value caseInsensitiveCompare:@"r6i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_large); } if ([value caseInsensitiveCompare:@"r6i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_xlarge); } if ([value caseInsensitiveCompare:@"r6i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_2xlarge); } if ([value caseInsensitiveCompare:@"r6i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_4xlarge); } if ([value caseInsensitiveCompare:@"r6i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_8xlarge); } if ([value caseInsensitiveCompare:@"r6i.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_12xlarge); } if ([value caseInsensitiveCompare:@"r6i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_16xlarge); } if ([value caseInsensitiveCompare:@"r6i.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_24xlarge); } if ([value caseInsensitiveCompare:@"r6i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_32xlarge); } if ([value caseInsensitiveCompare:@"r6i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6I_metal); } if ([value caseInsensitiveCompare:@"t1.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT1_micro); } if ([value caseInsensitiveCompare:@"t2.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_nano); } if ([value caseInsensitiveCompare:@"t2.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_micro); } if ([value caseInsensitiveCompare:@"t2.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_small); } if ([value caseInsensitiveCompare:@"t2.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_medium); } if ([value caseInsensitiveCompare:@"t2.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_large); } if ([value caseInsensitiveCompare:@"t2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_xlarge); } if ([value caseInsensitiveCompare:@"t2.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT2_2xlarge); } if ([value caseInsensitiveCompare:@"t3.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_nano); } if ([value caseInsensitiveCompare:@"t3.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_micro); } if ([value caseInsensitiveCompare:@"t3.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_small); } if ([value caseInsensitiveCompare:@"t3.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_medium); } if ([value caseInsensitiveCompare:@"t3.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_large); } if ([value caseInsensitiveCompare:@"t3.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_xlarge); } if ([value caseInsensitiveCompare:@"t3.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3_2xlarge); } if ([value caseInsensitiveCompare:@"t3a.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_nano); } if ([value caseInsensitiveCompare:@"t3a.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_micro); } if ([value caseInsensitiveCompare:@"t3a.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_small); } if ([value caseInsensitiveCompare:@"t3a.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_medium); } if ([value caseInsensitiveCompare:@"t3a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_large); } if ([value caseInsensitiveCompare:@"t3a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_xlarge); } if ([value caseInsensitiveCompare:@"t3a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT3A_2xlarge); } if ([value caseInsensitiveCompare:@"t4g.nano"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_nano); } if ([value caseInsensitiveCompare:@"t4g.micro"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_micro); } if ([value caseInsensitiveCompare:@"t4g.small"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_small); } if ([value caseInsensitiveCompare:@"t4g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_medium); } if ([value caseInsensitiveCompare:@"t4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_large); } if ([value caseInsensitiveCompare:@"t4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_xlarge); } if ([value caseInsensitiveCompare:@"t4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeT4G_2xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-9tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-12tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-6tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_6tb1_metal); } if ([value caseInsensitiveCompare:@"u-9tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_9tb1_metal); } if ([value caseInsensitiveCompare:@"u-12tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_12tb1_metal); } if ([value caseInsensitiveCompare:@"u-18tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_metal); } if ([value caseInsensitiveCompare:@"u-24tb1.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_metal); } if ([value caseInsensitiveCompare:@"vt1.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_3xlarge); } if ([value caseInsensitiveCompare:@"vt1.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_6xlarge); } if ([value caseInsensitiveCompare:@"vt1.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeVT1_24xlarge); } if ([value caseInsensitiveCompare:@"x1.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_16xlarge); } if ([value caseInsensitiveCompare:@"x1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1_32xlarge); } if ([value caseInsensitiveCompare:@"x1e.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_xlarge); } if ([value caseInsensitiveCompare:@"x1e.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_2xlarge); } if ([value caseInsensitiveCompare:@"x1e.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_4xlarge); } if ([value caseInsensitiveCompare:@"x1e.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_8xlarge); } if ([value caseInsensitiveCompare:@"x1e.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_16xlarge); } if ([value caseInsensitiveCompare:@"x1e.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX1E_32xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_6xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_12xlarge); } if ([value caseInsensitiveCompare:@"x2iezn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iezn_metal); } if ([value caseInsensitiveCompare:@"x2gd.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_medium); } if ([value caseInsensitiveCompare:@"x2gd.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_large); } if ([value caseInsensitiveCompare:@"x2gd.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_xlarge); } if ([value caseInsensitiveCompare:@"x2gd.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_2xlarge); } if ([value caseInsensitiveCompare:@"x2gd.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_4xlarge); } if ([value caseInsensitiveCompare:@"x2gd.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_8xlarge); } if ([value caseInsensitiveCompare:@"x2gd.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_12xlarge); } if ([value caseInsensitiveCompare:@"x2gd.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_16xlarge); } if ([value caseInsensitiveCompare:@"x2gd.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Gd_metal); } if ([value caseInsensitiveCompare:@"z1d.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_large); } if ([value caseInsensitiveCompare:@"z1d.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_xlarge); } if ([value caseInsensitiveCompare:@"z1d.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_2xlarge); } if ([value caseInsensitiveCompare:@"z1d.3xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_3xlarge); } if ([value caseInsensitiveCompare:@"z1d.6xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_6xlarge); } if ([value caseInsensitiveCompare:@"z1d.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_12xlarge); } if ([value caseInsensitiveCompare:@"z1d.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeZ1D_metal); } if ([value caseInsensitiveCompare:@"x2idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_16xlarge); } if ([value caseInsensitiveCompare:@"x2idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_24xlarge); } if ([value caseInsensitiveCompare:@"x2idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_32xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_2xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_4xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_8xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_16xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_24xlarge); } if ([value caseInsensitiveCompare:@"x2iedn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_large); } if ([value caseInsensitiveCompare:@"c6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_xlarge); } if ([value caseInsensitiveCompare:@"c6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_2xlarge); } if ([value caseInsensitiveCompare:@"c6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_4xlarge); } if ([value caseInsensitiveCompare:@"c6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_8xlarge); } if ([value caseInsensitiveCompare:@"c6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_12xlarge); } if ([value caseInsensitiveCompare:@"c6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_16xlarge); } if ([value caseInsensitiveCompare:@"c6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_24xlarge); } if ([value caseInsensitiveCompare:@"c6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_32xlarge); } if ([value caseInsensitiveCompare:@"c6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_48xlarge); } if ([value caseInsensitiveCompare:@"c6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6A_metal); } if ([value caseInsensitiveCompare:@"m6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6A_metal); } if ([value caseInsensitiveCompare:@"i4i.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_large); } if ([value caseInsensitiveCompare:@"i4i.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_xlarge); } if ([value caseInsensitiveCompare:@"i4i.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_2xlarge); } if ([value caseInsensitiveCompare:@"i4i.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_4xlarge); } if ([value caseInsensitiveCompare:@"i4i.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_8xlarge); } if ([value caseInsensitiveCompare:@"i4i.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_16xlarge); } if ([value caseInsensitiveCompare:@"i4i.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_32xlarge); } if ([value caseInsensitiveCompare:@"i4i.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4I_metal); } if ([value caseInsensitiveCompare:@"x2idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Idn_metal); } if ([value caseInsensitiveCompare:@"x2iedn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeX2Iedn_metal); } if ([value caseInsensitiveCompare:@"c7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_medium); } if ([value caseInsensitiveCompare:@"c7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_large); } if ([value caseInsensitiveCompare:@"c7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_xlarge); } if ([value caseInsensitiveCompare:@"c7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_2xlarge); } if ([value caseInsensitiveCompare:@"c7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_4xlarge); } if ([value caseInsensitiveCompare:@"c7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_8xlarge); } if ([value caseInsensitiveCompare:@"c7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_12xlarge); } if ([value caseInsensitiveCompare:@"c7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_16xlarge); } if ([value caseInsensitiveCompare:@"mac2.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeMAC2_metal); } if ([value caseInsensitiveCompare:@"c6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_large); } if ([value caseInsensitiveCompare:@"c6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_xlarge); } if ([value caseInsensitiveCompare:@"c6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_2xlarge); } if ([value caseInsensitiveCompare:@"c6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_4xlarge); } if ([value caseInsensitiveCompare:@"c6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_8xlarge); } if ([value caseInsensitiveCompare:@"c6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_12xlarge); } if ([value caseInsensitiveCompare:@"c6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_16xlarge); } if ([value caseInsensitiveCompare:@"c6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_24xlarge); } if ([value caseInsensitiveCompare:@"c6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_32xlarge); } if ([value caseInsensitiveCompare:@"c6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6Id_metal); } if ([value caseInsensitiveCompare:@"m6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_large); } if ([value caseInsensitiveCompare:@"m6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_xlarge); } if ([value caseInsensitiveCompare:@"m6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_2xlarge); } if ([value caseInsensitiveCompare:@"m6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_4xlarge); } if ([value caseInsensitiveCompare:@"m6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_8xlarge); } if ([value caseInsensitiveCompare:@"m6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_12xlarge); } if ([value caseInsensitiveCompare:@"m6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_16xlarge); } if ([value caseInsensitiveCompare:@"m6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_24xlarge); } if ([value caseInsensitiveCompare:@"m6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_32xlarge); } if ([value caseInsensitiveCompare:@"m6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Id_metal); } if ([value caseInsensitiveCompare:@"r6id.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_large); } if ([value caseInsensitiveCompare:@"r6id.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_xlarge); } if ([value caseInsensitiveCompare:@"r6id.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_2xlarge); } if ([value caseInsensitiveCompare:@"r6id.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_4xlarge); } if ([value caseInsensitiveCompare:@"r6id.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_8xlarge); } if ([value caseInsensitiveCompare:@"r6id.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_12xlarge); } if ([value caseInsensitiveCompare:@"r6id.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_16xlarge); } if ([value caseInsensitiveCompare:@"r6id.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_24xlarge); } if ([value caseInsensitiveCompare:@"r6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_32xlarge); } if ([value caseInsensitiveCompare:@"r6id.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Id_metal); } if ([value caseInsensitiveCompare:@"r6a.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_large); } if ([value caseInsensitiveCompare:@"r6a.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_xlarge); } if ([value caseInsensitiveCompare:@"r6a.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_2xlarge); } if ([value caseInsensitiveCompare:@"r6a.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_4xlarge); } if ([value caseInsensitiveCompare:@"r6a.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_8xlarge); } if ([value caseInsensitiveCompare:@"r6a.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_12xlarge); } if ([value caseInsensitiveCompare:@"r6a.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_16xlarge); } if ([value caseInsensitiveCompare:@"r6a.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_24xlarge); } if ([value caseInsensitiveCompare:@"r6a.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_32xlarge); } if ([value caseInsensitiveCompare:@"r6a.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_48xlarge); } if ([value caseInsensitiveCompare:@"r6a.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6A_metal); } if ([value caseInsensitiveCompare:@"p4de.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeP4De_24xlarge); } if ([value caseInsensitiveCompare:@"u-3tb1.56xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_3tb1_56xlarge); } if ([value caseInsensitiveCompare:@"u-18tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_18tb1_112xlarge); } if ([value caseInsensitiveCompare:@"u-24tb1.112xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeU_24tb1_112xlarge); } if ([value caseInsensitiveCompare:@"trn1.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_2xlarge); } if ([value caseInsensitiveCompare:@"trn1.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1_32xlarge); } if ([value caseInsensitiveCompare:@"hpc6id.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC6id_32xlarge); } if ([value caseInsensitiveCompare:@"c6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_large); } if ([value caseInsensitiveCompare:@"c6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_xlarge); } if ([value caseInsensitiveCompare:@"c6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_2xlarge); } if ([value caseInsensitiveCompare:@"c6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_4xlarge); } if ([value caseInsensitiveCompare:@"c6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_8xlarge); } if ([value caseInsensitiveCompare:@"c6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_12xlarge); } if ([value caseInsensitiveCompare:@"c6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_16xlarge); } if ([value caseInsensitiveCompare:@"c6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_24xlarge); } if ([value caseInsensitiveCompare:@"c6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_large); } if ([value caseInsensitiveCompare:@"m6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_xlarge); } if ([value caseInsensitiveCompare:@"m6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_2xlarge); } if ([value caseInsensitiveCompare:@"m6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_4xlarge); } if ([value caseInsensitiveCompare:@"m6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_8xlarge); } if ([value caseInsensitiveCompare:@"m6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_12xlarge); } if ([value caseInsensitiveCompare:@"m6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_16xlarge); } if ([value caseInsensitiveCompare:@"m6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_24xlarge); } if ([value caseInsensitiveCompare:@"m6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_32xlarge); } if ([value caseInsensitiveCompare:@"m6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_large); } if ([value caseInsensitiveCompare:@"m6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_xlarge); } if ([value caseInsensitiveCompare:@"m6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"m6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"m6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"m6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"m6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"m6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"m6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"r6in.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_large); } if ([value caseInsensitiveCompare:@"r6in.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_xlarge); } if ([value caseInsensitiveCompare:@"r6in.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_2xlarge); } if ([value caseInsensitiveCompare:@"r6in.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_4xlarge); } if ([value caseInsensitiveCompare:@"r6in.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_8xlarge); } if ([value caseInsensitiveCompare:@"r6in.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_12xlarge); } if ([value caseInsensitiveCompare:@"r6in.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_16xlarge); } if ([value caseInsensitiveCompare:@"r6in.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_24xlarge); } if ([value caseInsensitiveCompare:@"r6in.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_32xlarge); } if ([value caseInsensitiveCompare:@"r6idn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_large); } if ([value caseInsensitiveCompare:@"r6idn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_xlarge); } if ([value caseInsensitiveCompare:@"r6idn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_2xlarge); } if ([value caseInsensitiveCompare:@"r6idn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_4xlarge); } if ([value caseInsensitiveCompare:@"r6idn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_8xlarge); } if ([value caseInsensitiveCompare:@"r6idn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_12xlarge); } if ([value caseInsensitiveCompare:@"r6idn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_16xlarge); } if ([value caseInsensitiveCompare:@"r6idn.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_24xlarge); } if ([value caseInsensitiveCompare:@"r6idn.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_32xlarge); } if ([value caseInsensitiveCompare:@"c7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7G_metal); } if ([value caseInsensitiveCompare:@"m7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_medium); } if ([value caseInsensitiveCompare:@"m7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_large); } if ([value caseInsensitiveCompare:@"m7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_xlarge); } if ([value caseInsensitiveCompare:@"m7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_2xlarge); } if ([value caseInsensitiveCompare:@"m7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_4xlarge); } if ([value caseInsensitiveCompare:@"m7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_8xlarge); } if ([value caseInsensitiveCompare:@"m7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_12xlarge); } if ([value caseInsensitiveCompare:@"m7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_16xlarge); } if ([value caseInsensitiveCompare:@"m7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM7G_metal); } if ([value caseInsensitiveCompare:@"r7g.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_medium); } if ([value caseInsensitiveCompare:@"r7g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_large); } if ([value caseInsensitiveCompare:@"r7g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_xlarge); } if ([value caseInsensitiveCompare:@"r7g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_2xlarge); } if ([value caseInsensitiveCompare:@"r7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_4xlarge); } if ([value caseInsensitiveCompare:@"r7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_8xlarge); } if ([value caseInsensitiveCompare:@"r7g.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_12xlarge); } if ([value caseInsensitiveCompare:@"r7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_16xlarge); } if ([value caseInsensitiveCompare:@"r7g.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR7G_metal); } if ([value caseInsensitiveCompare:@"c6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC6In_metal); } if ([value caseInsensitiveCompare:@"m6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6In_metal); } if ([value caseInsensitiveCompare:@"m6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeM6Idn_metal); } if ([value caseInsensitiveCompare:@"r6in.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6In_metal); } if ([value caseInsensitiveCompare:@"r6idn.metal"] == NSOrderedSame) { return @(AWSEC2InstanceTypeR6Idn_metal); } if ([value caseInsensitiveCompare:@"inf2.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_xlarge); } if ([value caseInsensitiveCompare:@"inf2.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_8xlarge); } if ([value caseInsensitiveCompare:@"inf2.24xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_24xlarge); } if ([value caseInsensitiveCompare:@"inf2.48xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeINF2_48xlarge); } if ([value caseInsensitiveCompare:@"trn1n.32xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeTRN1n_32xlarge); } if ([value caseInsensitiveCompare:@"i4g.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_large); } if ([value caseInsensitiveCompare:@"i4g.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_xlarge); } if ([value caseInsensitiveCompare:@"i4g.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_2xlarge); } if ([value caseInsensitiveCompare:@"i4g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_4xlarge); } if ([value caseInsensitiveCompare:@"i4g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_8xlarge); } if ([value caseInsensitiveCompare:@"i4g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeI4G_16xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_4xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_8xlarge); } if ([value caseInsensitiveCompare:@"hpc7g.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeHPC7g_16xlarge); } if ([value caseInsensitiveCompare:@"c7gn.medium"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_medium); } if ([value caseInsensitiveCompare:@"c7gn.large"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_large); } if ([value caseInsensitiveCompare:@"c7gn.xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_xlarge); } if ([value caseInsensitiveCompare:@"c7gn.2xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_2xlarge); } if ([value caseInsensitiveCompare:@"c7gn.4xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_4xlarge); } if ([value caseInsensitiveCompare:@"c7gn.8xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_8xlarge); } if ([value caseInsensitiveCompare:@"c7gn.12xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_12xlarge); } if ([value caseInsensitiveCompare:@"c7gn.16xlarge"] == NSOrderedSame) { return @(AWSEC2InstanceTypeC7Gn_16xlarge); } return @(AWSEC2InstanceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InstanceTypeA1_medium: return @"a1.medium"; case AWSEC2InstanceTypeA1_large: return @"a1.large"; case AWSEC2InstanceTypeA1_xlarge: return @"a1.xlarge"; case AWSEC2InstanceTypeA1_2xlarge: return @"a1.2xlarge"; case AWSEC2InstanceTypeA1_4xlarge: return @"a1.4xlarge"; case AWSEC2InstanceTypeA1_metal: return @"a1.metal"; case AWSEC2InstanceTypeC1_medium: return @"c1.medium"; case AWSEC2InstanceTypeC1_xlarge: return @"c1.xlarge"; case AWSEC2InstanceTypeC3_large: return @"c3.large"; case AWSEC2InstanceTypeC3_xlarge: return @"c3.xlarge"; case AWSEC2InstanceTypeC3_2xlarge: return @"c3.2xlarge"; case AWSEC2InstanceTypeC3_4xlarge: return @"c3.4xlarge"; case AWSEC2InstanceTypeC3_8xlarge: return @"c3.8xlarge"; case AWSEC2InstanceTypeC4_large: return @"c4.large"; case AWSEC2InstanceTypeC4_xlarge: return @"c4.xlarge"; case AWSEC2InstanceTypeC4_2xlarge: return @"c4.2xlarge"; case AWSEC2InstanceTypeC4_4xlarge: return @"c4.4xlarge"; case AWSEC2InstanceTypeC4_8xlarge: return @"c4.8xlarge"; case AWSEC2InstanceTypeC5_large: return @"c5.large"; case AWSEC2InstanceTypeC5_xlarge: return @"c5.xlarge"; case AWSEC2InstanceTypeC5_2xlarge: return @"c5.2xlarge"; case AWSEC2InstanceTypeC5_4xlarge: return @"c5.4xlarge"; case AWSEC2InstanceTypeC5_9xlarge: return @"c5.9xlarge"; case AWSEC2InstanceTypeC5_12xlarge: return @"c5.12xlarge"; case AWSEC2InstanceTypeC5_18xlarge: return @"c5.18xlarge"; case AWSEC2InstanceTypeC5_24xlarge: return @"c5.24xlarge"; case AWSEC2InstanceTypeC5_metal: return @"c5.metal"; case AWSEC2InstanceTypeC5A_large: return @"c5a.large"; case AWSEC2InstanceTypeC5A_xlarge: return @"c5a.xlarge"; case AWSEC2InstanceTypeC5A_2xlarge: return @"c5a.2xlarge"; case AWSEC2InstanceTypeC5A_4xlarge: return @"c5a.4xlarge"; case AWSEC2InstanceTypeC5A_8xlarge: return @"c5a.8xlarge"; case AWSEC2InstanceTypeC5A_12xlarge: return @"c5a.12xlarge"; case AWSEC2InstanceTypeC5A_16xlarge: return @"c5a.16xlarge"; case AWSEC2InstanceTypeC5A_24xlarge: return @"c5a.24xlarge"; case AWSEC2InstanceTypeC5Ad_large: return @"c5ad.large"; case AWSEC2InstanceTypeC5Ad_xlarge: return @"c5ad.xlarge"; case AWSEC2InstanceTypeC5Ad_2xlarge: return @"c5ad.2xlarge"; case AWSEC2InstanceTypeC5Ad_4xlarge: return @"c5ad.4xlarge"; case AWSEC2InstanceTypeC5Ad_8xlarge: return @"c5ad.8xlarge"; case AWSEC2InstanceTypeC5Ad_12xlarge: return @"c5ad.12xlarge"; case AWSEC2InstanceTypeC5Ad_16xlarge: return @"c5ad.16xlarge"; case AWSEC2InstanceTypeC5Ad_24xlarge: return @"c5ad.24xlarge"; case AWSEC2InstanceTypeC5D_large: return @"c5d.large"; case AWSEC2InstanceTypeC5D_xlarge: return @"c5d.xlarge"; case AWSEC2InstanceTypeC5D_2xlarge: return @"c5d.2xlarge"; case AWSEC2InstanceTypeC5D_4xlarge: return @"c5d.4xlarge"; case AWSEC2InstanceTypeC5D_9xlarge: return @"c5d.9xlarge"; case AWSEC2InstanceTypeC5D_12xlarge: return @"c5d.12xlarge"; case AWSEC2InstanceTypeC5D_18xlarge: return @"c5d.18xlarge"; case AWSEC2InstanceTypeC5D_24xlarge: return @"c5d.24xlarge"; case AWSEC2InstanceTypeC5D_metal: return @"c5d.metal"; case AWSEC2InstanceTypeC5N_large: return @"c5n.large"; case AWSEC2InstanceTypeC5N_xlarge: return @"c5n.xlarge"; case AWSEC2InstanceTypeC5N_2xlarge: return @"c5n.2xlarge"; case AWSEC2InstanceTypeC5N_4xlarge: return @"c5n.4xlarge"; case AWSEC2InstanceTypeC5N_9xlarge: return @"c5n.9xlarge"; case AWSEC2InstanceTypeC5N_18xlarge: return @"c5n.18xlarge"; case AWSEC2InstanceTypeC5N_metal: return @"c5n.metal"; case AWSEC2InstanceTypeC6G_medium: return @"c6g.medium"; case AWSEC2InstanceTypeC6G_large: return @"c6g.large"; case AWSEC2InstanceTypeC6G_xlarge: return @"c6g.xlarge"; case AWSEC2InstanceTypeC6G_2xlarge: return @"c6g.2xlarge"; case AWSEC2InstanceTypeC6G_4xlarge: return @"c6g.4xlarge"; case AWSEC2InstanceTypeC6G_8xlarge: return @"c6g.8xlarge"; case AWSEC2InstanceTypeC6G_12xlarge: return @"c6g.12xlarge"; case AWSEC2InstanceTypeC6G_16xlarge: return @"c6g.16xlarge"; case AWSEC2InstanceTypeC6G_metal: return @"c6g.metal"; case AWSEC2InstanceTypeC6Gd_medium: return @"c6gd.medium"; case AWSEC2InstanceTypeC6Gd_large: return @"c6gd.large"; case AWSEC2InstanceTypeC6Gd_xlarge: return @"c6gd.xlarge"; case AWSEC2InstanceTypeC6Gd_2xlarge: return @"c6gd.2xlarge"; case AWSEC2InstanceTypeC6Gd_4xlarge: return @"c6gd.4xlarge"; case AWSEC2InstanceTypeC6Gd_8xlarge: return @"c6gd.8xlarge"; case AWSEC2InstanceTypeC6Gd_12xlarge: return @"c6gd.12xlarge"; case AWSEC2InstanceTypeC6Gd_16xlarge: return @"c6gd.16xlarge"; case AWSEC2InstanceTypeC6Gd_metal: return @"c6gd.metal"; case AWSEC2InstanceTypeC6Gn_medium: return @"c6gn.medium"; case AWSEC2InstanceTypeC6Gn_large: return @"c6gn.large"; case AWSEC2InstanceTypeC6Gn_xlarge: return @"c6gn.xlarge"; case AWSEC2InstanceTypeC6Gn_2xlarge: return @"c6gn.2xlarge"; case AWSEC2InstanceTypeC6Gn_4xlarge: return @"c6gn.4xlarge"; case AWSEC2InstanceTypeC6Gn_8xlarge: return @"c6gn.8xlarge"; case AWSEC2InstanceTypeC6Gn_12xlarge: return @"c6gn.12xlarge"; case AWSEC2InstanceTypeC6Gn_16xlarge: return @"c6gn.16xlarge"; case AWSEC2InstanceTypeC6I_large: return @"c6i.large"; case AWSEC2InstanceTypeC6I_xlarge: return @"c6i.xlarge"; case AWSEC2InstanceTypeC6I_2xlarge: return @"c6i.2xlarge"; case AWSEC2InstanceTypeC6I_4xlarge: return @"c6i.4xlarge"; case AWSEC2InstanceTypeC6I_8xlarge: return @"c6i.8xlarge"; case AWSEC2InstanceTypeC6I_12xlarge: return @"c6i.12xlarge"; case AWSEC2InstanceTypeC6I_16xlarge: return @"c6i.16xlarge"; case AWSEC2InstanceTypeC6I_24xlarge: return @"c6i.24xlarge"; case AWSEC2InstanceTypeC6I_32xlarge: return @"c6i.32xlarge"; case AWSEC2InstanceTypeC6I_metal: return @"c6i.metal"; case AWSEC2InstanceTypeCC1_4xlarge: return @"cc1.4xlarge"; case AWSEC2InstanceTypeCC2_8xlarge: return @"cc2.8xlarge"; case AWSEC2InstanceTypeCG1_4xlarge: return @"cg1.4xlarge"; case AWSEC2InstanceTypeCR1_8xlarge: return @"cr1.8xlarge"; case AWSEC2InstanceTypeD2_xlarge: return @"d2.xlarge"; case AWSEC2InstanceTypeD2_2xlarge: return @"d2.2xlarge"; case AWSEC2InstanceTypeD2_4xlarge: return @"d2.4xlarge"; case AWSEC2InstanceTypeD2_8xlarge: return @"d2.8xlarge"; case AWSEC2InstanceTypeD3_xlarge: return @"d3.xlarge"; case AWSEC2InstanceTypeD3_2xlarge: return @"d3.2xlarge"; case AWSEC2InstanceTypeD3_4xlarge: return @"d3.4xlarge"; case AWSEC2InstanceTypeD3_8xlarge: return @"d3.8xlarge"; case AWSEC2InstanceTypeD3En_xlarge: return @"d3en.xlarge"; case AWSEC2InstanceTypeD3En_2xlarge: return @"d3en.2xlarge"; case AWSEC2InstanceTypeD3En_4xlarge: return @"d3en.4xlarge"; case AWSEC2InstanceTypeD3En_6xlarge: return @"d3en.6xlarge"; case AWSEC2InstanceTypeD3En_8xlarge: return @"d3en.8xlarge"; case AWSEC2InstanceTypeD3En_12xlarge: return @"d3en.12xlarge"; case AWSEC2InstanceTypeDL1_24xlarge: return @"dl1.24xlarge"; case AWSEC2InstanceTypeF1_2xlarge: return @"f1.2xlarge"; case AWSEC2InstanceTypeF1_4xlarge: return @"f1.4xlarge"; case AWSEC2InstanceTypeF1_16xlarge: return @"f1.16xlarge"; case AWSEC2InstanceTypeG2_2xlarge: return @"g2.2xlarge"; case AWSEC2InstanceTypeG2_8xlarge: return @"g2.8xlarge"; case AWSEC2InstanceTypeG3_4xlarge: return @"g3.4xlarge"; case AWSEC2InstanceTypeG3_8xlarge: return @"g3.8xlarge"; case AWSEC2InstanceTypeG3_16xlarge: return @"g3.16xlarge"; case AWSEC2InstanceTypeG3S_xlarge: return @"g3s.xlarge"; case AWSEC2InstanceTypeG4Ad_xlarge: return @"g4ad.xlarge"; case AWSEC2InstanceTypeG4Ad_2xlarge: return @"g4ad.2xlarge"; case AWSEC2InstanceTypeG4Ad_4xlarge: return @"g4ad.4xlarge"; case AWSEC2InstanceTypeG4Ad_8xlarge: return @"g4ad.8xlarge"; case AWSEC2InstanceTypeG4Ad_16xlarge: return @"g4ad.16xlarge"; case AWSEC2InstanceTypeG4Dn_xlarge: return @"g4dn.xlarge"; case AWSEC2InstanceTypeG4Dn_2xlarge: return @"g4dn.2xlarge"; case AWSEC2InstanceTypeG4Dn_4xlarge: return @"g4dn.4xlarge"; case AWSEC2InstanceTypeG4Dn_8xlarge: return @"g4dn.8xlarge"; case AWSEC2InstanceTypeG4Dn_12xlarge: return @"g4dn.12xlarge"; case AWSEC2InstanceTypeG4Dn_16xlarge: return @"g4dn.16xlarge"; case AWSEC2InstanceTypeG4Dn_metal: return @"g4dn.metal"; case AWSEC2InstanceTypeG5_xlarge: return @"g5.xlarge"; case AWSEC2InstanceTypeG5_2xlarge: return @"g5.2xlarge"; case AWSEC2InstanceTypeG5_4xlarge: return @"g5.4xlarge"; case AWSEC2InstanceTypeG5_8xlarge: return @"g5.8xlarge"; case AWSEC2InstanceTypeG5_12xlarge: return @"g5.12xlarge"; case AWSEC2InstanceTypeG5_16xlarge: return @"g5.16xlarge"; case AWSEC2InstanceTypeG5_24xlarge: return @"g5.24xlarge"; case AWSEC2InstanceTypeG5_48xlarge: return @"g5.48xlarge"; case AWSEC2InstanceTypeG5G_xlarge: return @"g5g.xlarge"; case AWSEC2InstanceTypeG5G_2xlarge: return @"g5g.2xlarge"; case AWSEC2InstanceTypeG5G_4xlarge: return @"g5g.4xlarge"; case AWSEC2InstanceTypeG5G_8xlarge: return @"g5g.8xlarge"; case AWSEC2InstanceTypeG5G_16xlarge: return @"g5g.16xlarge"; case AWSEC2InstanceTypeG5G_metal: return @"g5g.metal"; case AWSEC2InstanceTypeHI1_4xlarge: return @"hi1.4xlarge"; case AWSEC2InstanceTypeHPC6a_48xlarge: return @"hpc6a.48xlarge"; case AWSEC2InstanceTypeHS1_8xlarge: return @"hs1.8xlarge"; case AWSEC2InstanceTypeH1_2xlarge: return @"h1.2xlarge"; case AWSEC2InstanceTypeH1_4xlarge: return @"h1.4xlarge"; case AWSEC2InstanceTypeH1_8xlarge: return @"h1.8xlarge"; case AWSEC2InstanceTypeH1_16xlarge: return @"h1.16xlarge"; case AWSEC2InstanceTypeI2_xlarge: return @"i2.xlarge"; case AWSEC2InstanceTypeI2_2xlarge: return @"i2.2xlarge"; case AWSEC2InstanceTypeI2_4xlarge: return @"i2.4xlarge"; case AWSEC2InstanceTypeI2_8xlarge: return @"i2.8xlarge"; case AWSEC2InstanceTypeI3_large: return @"i3.large"; case AWSEC2InstanceTypeI3_xlarge: return @"i3.xlarge"; case AWSEC2InstanceTypeI3_2xlarge: return @"i3.2xlarge"; case AWSEC2InstanceTypeI3_4xlarge: return @"i3.4xlarge"; case AWSEC2InstanceTypeI3_8xlarge: return @"i3.8xlarge"; case AWSEC2InstanceTypeI3_16xlarge: return @"i3.16xlarge"; case AWSEC2InstanceTypeI3_metal: return @"i3.metal"; case AWSEC2InstanceTypeI3En_large: return @"i3en.large"; case AWSEC2InstanceTypeI3En_xlarge: return @"i3en.xlarge"; case AWSEC2InstanceTypeI3En_2xlarge: return @"i3en.2xlarge"; case AWSEC2InstanceTypeI3En_3xlarge: return @"i3en.3xlarge"; case AWSEC2InstanceTypeI3En_6xlarge: return @"i3en.6xlarge"; case AWSEC2InstanceTypeI3En_12xlarge: return @"i3en.12xlarge"; case AWSEC2InstanceTypeI3En_24xlarge: return @"i3en.24xlarge"; case AWSEC2InstanceTypeI3En_metal: return @"i3en.metal"; case AWSEC2InstanceTypeIM4gn_large: return @"im4gn.large"; case AWSEC2InstanceTypeIM4gn_xlarge: return @"im4gn.xlarge"; case AWSEC2InstanceTypeIM4gn_2xlarge: return @"im4gn.2xlarge"; case AWSEC2InstanceTypeIM4gn_4xlarge: return @"im4gn.4xlarge"; case AWSEC2InstanceTypeIM4gn_8xlarge: return @"im4gn.8xlarge"; case AWSEC2InstanceTypeIM4gn_16xlarge: return @"im4gn.16xlarge"; case AWSEC2InstanceTypeINF1_xlarge: return @"inf1.xlarge"; case AWSEC2InstanceTypeINF1_2xlarge: return @"inf1.2xlarge"; case AWSEC2InstanceTypeINF1_6xlarge: return @"inf1.6xlarge"; case AWSEC2InstanceTypeINF1_24xlarge: return @"inf1.24xlarge"; case AWSEC2InstanceTypeIS4gen_medium: return @"is4gen.medium"; case AWSEC2InstanceTypeIS4gen_large: return @"is4gen.large"; case AWSEC2InstanceTypeIS4gen_xlarge: return @"is4gen.xlarge"; case AWSEC2InstanceTypeIS4gen_2xlarge: return @"is4gen.2xlarge"; case AWSEC2InstanceTypeIS4gen_4xlarge: return @"is4gen.4xlarge"; case AWSEC2InstanceTypeIS4gen_8xlarge: return @"is4gen.8xlarge"; case AWSEC2InstanceTypeM1_small: return @"m1.small"; case AWSEC2InstanceTypeM1_medium: return @"m1.medium"; case AWSEC2InstanceTypeM1_large: return @"m1.large"; case AWSEC2InstanceTypeM1_xlarge: return @"m1.xlarge"; case AWSEC2InstanceTypeM2_xlarge: return @"m2.xlarge"; case AWSEC2InstanceTypeM2_2xlarge: return @"m2.2xlarge"; case AWSEC2InstanceTypeM2_4xlarge: return @"m2.4xlarge"; case AWSEC2InstanceTypeM3_medium: return @"m3.medium"; case AWSEC2InstanceTypeM3_large: return @"m3.large"; case AWSEC2InstanceTypeM3_xlarge: return @"m3.xlarge"; case AWSEC2InstanceTypeM3_2xlarge: return @"m3.2xlarge"; case AWSEC2InstanceTypeM4_large: return @"m4.large"; case AWSEC2InstanceTypeM4_xlarge: return @"m4.xlarge"; case AWSEC2InstanceTypeM4_2xlarge: return @"m4.2xlarge"; case AWSEC2InstanceTypeM4_4xlarge: return @"m4.4xlarge"; case AWSEC2InstanceTypeM4_10xlarge: return @"m4.10xlarge"; case AWSEC2InstanceTypeM4_16xlarge: return @"m4.16xlarge"; case AWSEC2InstanceTypeM5_large: return @"m5.large"; case AWSEC2InstanceTypeM5_xlarge: return @"m5.xlarge"; case AWSEC2InstanceTypeM5_2xlarge: return @"m5.2xlarge"; case AWSEC2InstanceTypeM5_4xlarge: return @"m5.4xlarge"; case AWSEC2InstanceTypeM5_8xlarge: return @"m5.8xlarge"; case AWSEC2InstanceTypeM5_12xlarge: return @"m5.12xlarge"; case AWSEC2InstanceTypeM5_16xlarge: return @"m5.16xlarge"; case AWSEC2InstanceTypeM5_24xlarge: return @"m5.24xlarge"; case AWSEC2InstanceTypeM5_metal: return @"m5.metal"; case AWSEC2InstanceTypeM5A_large: return @"m5a.large"; case AWSEC2InstanceTypeM5A_xlarge: return @"m5a.xlarge"; case AWSEC2InstanceTypeM5A_2xlarge: return @"m5a.2xlarge"; case AWSEC2InstanceTypeM5A_4xlarge: return @"m5a.4xlarge"; case AWSEC2InstanceTypeM5A_8xlarge: return @"m5a.8xlarge"; case AWSEC2InstanceTypeM5A_12xlarge: return @"m5a.12xlarge"; case AWSEC2InstanceTypeM5A_16xlarge: return @"m5a.16xlarge"; case AWSEC2InstanceTypeM5A_24xlarge: return @"m5a.24xlarge"; case AWSEC2InstanceTypeM5Ad_large: return @"m5ad.large"; case AWSEC2InstanceTypeM5Ad_xlarge: return @"m5ad.xlarge"; case AWSEC2InstanceTypeM5Ad_2xlarge: return @"m5ad.2xlarge"; case AWSEC2InstanceTypeM5Ad_4xlarge: return @"m5ad.4xlarge"; case AWSEC2InstanceTypeM5Ad_8xlarge: return @"m5ad.8xlarge"; case AWSEC2InstanceTypeM5Ad_12xlarge: return @"m5ad.12xlarge"; case AWSEC2InstanceTypeM5Ad_16xlarge: return @"m5ad.16xlarge"; case AWSEC2InstanceTypeM5Ad_24xlarge: return @"m5ad.24xlarge"; case AWSEC2InstanceTypeM5D_large: return @"m5d.large"; case AWSEC2InstanceTypeM5D_xlarge: return @"m5d.xlarge"; case AWSEC2InstanceTypeM5D_2xlarge: return @"m5d.2xlarge"; case AWSEC2InstanceTypeM5D_4xlarge: return @"m5d.4xlarge"; case AWSEC2InstanceTypeM5D_8xlarge: return @"m5d.8xlarge"; case AWSEC2InstanceTypeM5D_12xlarge: return @"m5d.12xlarge"; case AWSEC2InstanceTypeM5D_16xlarge: return @"m5d.16xlarge"; case AWSEC2InstanceTypeM5D_24xlarge: return @"m5d.24xlarge"; case AWSEC2InstanceTypeM5D_metal: return @"m5d.metal"; case AWSEC2InstanceTypeM5Dn_large: return @"m5dn.large"; case AWSEC2InstanceTypeM5Dn_xlarge: return @"m5dn.xlarge"; case AWSEC2InstanceTypeM5Dn_2xlarge: return @"m5dn.2xlarge"; case AWSEC2InstanceTypeM5Dn_4xlarge: return @"m5dn.4xlarge"; case AWSEC2InstanceTypeM5Dn_8xlarge: return @"m5dn.8xlarge"; case AWSEC2InstanceTypeM5Dn_12xlarge: return @"m5dn.12xlarge"; case AWSEC2InstanceTypeM5Dn_16xlarge: return @"m5dn.16xlarge"; case AWSEC2InstanceTypeM5Dn_24xlarge: return @"m5dn.24xlarge"; case AWSEC2InstanceTypeM5Dn_metal: return @"m5dn.metal"; case AWSEC2InstanceTypeM5N_large: return @"m5n.large"; case AWSEC2InstanceTypeM5N_xlarge: return @"m5n.xlarge"; case AWSEC2InstanceTypeM5N_2xlarge: return @"m5n.2xlarge"; case AWSEC2InstanceTypeM5N_4xlarge: return @"m5n.4xlarge"; case AWSEC2InstanceTypeM5N_8xlarge: return @"m5n.8xlarge"; case AWSEC2InstanceTypeM5N_12xlarge: return @"m5n.12xlarge"; case AWSEC2InstanceTypeM5N_16xlarge: return @"m5n.16xlarge"; case AWSEC2InstanceTypeM5N_24xlarge: return @"m5n.24xlarge"; case AWSEC2InstanceTypeM5N_metal: return @"m5n.metal"; case AWSEC2InstanceTypeM5Zn_large: return @"m5zn.large"; case AWSEC2InstanceTypeM5Zn_xlarge: return @"m5zn.xlarge"; case AWSEC2InstanceTypeM5Zn_2xlarge: return @"m5zn.2xlarge"; case AWSEC2InstanceTypeM5Zn_3xlarge: return @"m5zn.3xlarge"; case AWSEC2InstanceTypeM5Zn_6xlarge: return @"m5zn.6xlarge"; case AWSEC2InstanceTypeM5Zn_12xlarge: return @"m5zn.12xlarge"; case AWSEC2InstanceTypeM5Zn_metal: return @"m5zn.metal"; case AWSEC2InstanceTypeM6A_large: return @"m6a.large"; case AWSEC2InstanceTypeM6A_xlarge: return @"m6a.xlarge"; case AWSEC2InstanceTypeM6A_2xlarge: return @"m6a.2xlarge"; case AWSEC2InstanceTypeM6A_4xlarge: return @"m6a.4xlarge"; case AWSEC2InstanceTypeM6A_8xlarge: return @"m6a.8xlarge"; case AWSEC2InstanceTypeM6A_12xlarge: return @"m6a.12xlarge"; case AWSEC2InstanceTypeM6A_16xlarge: return @"m6a.16xlarge"; case AWSEC2InstanceTypeM6A_24xlarge: return @"m6a.24xlarge"; case AWSEC2InstanceTypeM6A_32xlarge: return @"m6a.32xlarge"; case AWSEC2InstanceTypeM6A_48xlarge: return @"m6a.48xlarge"; case AWSEC2InstanceTypeM6G_metal: return @"m6g.metal"; case AWSEC2InstanceTypeM6G_medium: return @"m6g.medium"; case AWSEC2InstanceTypeM6G_large: return @"m6g.large"; case AWSEC2InstanceTypeM6G_xlarge: return @"m6g.xlarge"; case AWSEC2InstanceTypeM6G_2xlarge: return @"m6g.2xlarge"; case AWSEC2InstanceTypeM6G_4xlarge: return @"m6g.4xlarge"; case AWSEC2InstanceTypeM6G_8xlarge: return @"m6g.8xlarge"; case AWSEC2InstanceTypeM6G_12xlarge: return @"m6g.12xlarge"; case AWSEC2InstanceTypeM6G_16xlarge: return @"m6g.16xlarge"; case AWSEC2InstanceTypeM6Gd_metal: return @"m6gd.metal"; case AWSEC2InstanceTypeM6Gd_medium: return @"m6gd.medium"; case AWSEC2InstanceTypeM6Gd_large: return @"m6gd.large"; case AWSEC2InstanceTypeM6Gd_xlarge: return @"m6gd.xlarge"; case AWSEC2InstanceTypeM6Gd_2xlarge: return @"m6gd.2xlarge"; case AWSEC2InstanceTypeM6Gd_4xlarge: return @"m6gd.4xlarge"; case AWSEC2InstanceTypeM6Gd_8xlarge: return @"m6gd.8xlarge"; case AWSEC2InstanceTypeM6Gd_12xlarge: return @"m6gd.12xlarge"; case AWSEC2InstanceTypeM6Gd_16xlarge: return @"m6gd.16xlarge"; case AWSEC2InstanceTypeM6I_large: return @"m6i.large"; case AWSEC2InstanceTypeM6I_xlarge: return @"m6i.xlarge"; case AWSEC2InstanceTypeM6I_2xlarge: return @"m6i.2xlarge"; case AWSEC2InstanceTypeM6I_4xlarge: return @"m6i.4xlarge"; case AWSEC2InstanceTypeM6I_8xlarge: return @"m6i.8xlarge"; case AWSEC2InstanceTypeM6I_12xlarge: return @"m6i.12xlarge"; case AWSEC2InstanceTypeM6I_16xlarge: return @"m6i.16xlarge"; case AWSEC2InstanceTypeM6I_24xlarge: return @"m6i.24xlarge"; case AWSEC2InstanceTypeM6I_32xlarge: return @"m6i.32xlarge"; case AWSEC2InstanceTypeM6I_metal: return @"m6i.metal"; case AWSEC2InstanceTypeMAC1_metal: return @"mac1.metal"; case AWSEC2InstanceTypeP2_xlarge: return @"p2.xlarge"; case AWSEC2InstanceTypeP2_8xlarge: return @"p2.8xlarge"; case AWSEC2InstanceTypeP2_16xlarge: return @"p2.16xlarge"; case AWSEC2InstanceTypeP3_2xlarge: return @"p3.2xlarge"; case AWSEC2InstanceTypeP3_8xlarge: return @"p3.8xlarge"; case AWSEC2InstanceTypeP3_16xlarge: return @"p3.16xlarge"; case AWSEC2InstanceTypeP3Dn_24xlarge: return @"p3dn.24xlarge"; case AWSEC2InstanceTypeP4D_24xlarge: return @"p4d.24xlarge"; case AWSEC2InstanceTypeR3_large: return @"r3.large"; case AWSEC2InstanceTypeR3_xlarge: return @"r3.xlarge"; case AWSEC2InstanceTypeR3_2xlarge: return @"r3.2xlarge"; case AWSEC2InstanceTypeR3_4xlarge: return @"r3.4xlarge"; case AWSEC2InstanceTypeR3_8xlarge: return @"r3.8xlarge"; case AWSEC2InstanceTypeR4_large: return @"r4.large"; case AWSEC2InstanceTypeR4_xlarge: return @"r4.xlarge"; case AWSEC2InstanceTypeR4_2xlarge: return @"r4.2xlarge"; case AWSEC2InstanceTypeR4_4xlarge: return @"r4.4xlarge"; case AWSEC2InstanceTypeR4_8xlarge: return @"r4.8xlarge"; case AWSEC2InstanceTypeR4_16xlarge: return @"r4.16xlarge"; case AWSEC2InstanceTypeR5_large: return @"r5.large"; case AWSEC2InstanceTypeR5_xlarge: return @"r5.xlarge"; case AWSEC2InstanceTypeR5_2xlarge: return @"r5.2xlarge"; case AWSEC2InstanceTypeR5_4xlarge: return @"r5.4xlarge"; case AWSEC2InstanceTypeR5_8xlarge: return @"r5.8xlarge"; case AWSEC2InstanceTypeR5_12xlarge: return @"r5.12xlarge"; case AWSEC2InstanceTypeR5_16xlarge: return @"r5.16xlarge"; case AWSEC2InstanceTypeR5_24xlarge: return @"r5.24xlarge"; case AWSEC2InstanceTypeR5_metal: return @"r5.metal"; case AWSEC2InstanceTypeR5A_large: return @"r5a.large"; case AWSEC2InstanceTypeR5A_xlarge: return @"r5a.xlarge"; case AWSEC2InstanceTypeR5A_2xlarge: return @"r5a.2xlarge"; case AWSEC2InstanceTypeR5A_4xlarge: return @"r5a.4xlarge"; case AWSEC2InstanceTypeR5A_8xlarge: return @"r5a.8xlarge"; case AWSEC2InstanceTypeR5A_12xlarge: return @"r5a.12xlarge"; case AWSEC2InstanceTypeR5A_16xlarge: return @"r5a.16xlarge"; case AWSEC2InstanceTypeR5A_24xlarge: return @"r5a.24xlarge"; case AWSEC2InstanceTypeR5Ad_large: return @"r5ad.large"; case AWSEC2InstanceTypeR5Ad_xlarge: return @"r5ad.xlarge"; case AWSEC2InstanceTypeR5Ad_2xlarge: return @"r5ad.2xlarge"; case AWSEC2InstanceTypeR5Ad_4xlarge: return @"r5ad.4xlarge"; case AWSEC2InstanceTypeR5Ad_8xlarge: return @"r5ad.8xlarge"; case AWSEC2InstanceTypeR5Ad_12xlarge: return @"r5ad.12xlarge"; case AWSEC2InstanceTypeR5Ad_16xlarge: return @"r5ad.16xlarge"; case AWSEC2InstanceTypeR5Ad_24xlarge: return @"r5ad.24xlarge"; case AWSEC2InstanceTypeR5B_large: return @"r5b.large"; case AWSEC2InstanceTypeR5B_xlarge: return @"r5b.xlarge"; case AWSEC2InstanceTypeR5B_2xlarge: return @"r5b.2xlarge"; case AWSEC2InstanceTypeR5B_4xlarge: return @"r5b.4xlarge"; case AWSEC2InstanceTypeR5B_8xlarge: return @"r5b.8xlarge"; case AWSEC2InstanceTypeR5B_12xlarge: return @"r5b.12xlarge"; case AWSEC2InstanceTypeR5B_16xlarge: return @"r5b.16xlarge"; case AWSEC2InstanceTypeR5B_24xlarge: return @"r5b.24xlarge"; case AWSEC2InstanceTypeR5B_metal: return @"r5b.metal"; case AWSEC2InstanceTypeR5D_large: return @"r5d.large"; case AWSEC2InstanceTypeR5D_xlarge: return @"r5d.xlarge"; case AWSEC2InstanceTypeR5D_2xlarge: return @"r5d.2xlarge"; case AWSEC2InstanceTypeR5D_4xlarge: return @"r5d.4xlarge"; case AWSEC2InstanceTypeR5D_8xlarge: return @"r5d.8xlarge"; case AWSEC2InstanceTypeR5D_12xlarge: return @"r5d.12xlarge"; case AWSEC2InstanceTypeR5D_16xlarge: return @"r5d.16xlarge"; case AWSEC2InstanceTypeR5D_24xlarge: return @"r5d.24xlarge"; case AWSEC2InstanceTypeR5D_metal: return @"r5d.metal"; case AWSEC2InstanceTypeR5Dn_large: return @"r5dn.large"; case AWSEC2InstanceTypeR5Dn_xlarge: return @"r5dn.xlarge"; case AWSEC2InstanceTypeR5Dn_2xlarge: return @"r5dn.2xlarge"; case AWSEC2InstanceTypeR5Dn_4xlarge: return @"r5dn.4xlarge"; case AWSEC2InstanceTypeR5Dn_8xlarge: return @"r5dn.8xlarge"; case AWSEC2InstanceTypeR5Dn_12xlarge: return @"r5dn.12xlarge"; case AWSEC2InstanceTypeR5Dn_16xlarge: return @"r5dn.16xlarge"; case AWSEC2InstanceTypeR5Dn_24xlarge: return @"r5dn.24xlarge"; case AWSEC2InstanceTypeR5Dn_metal: return @"r5dn.metal"; case AWSEC2InstanceTypeR5N_large: return @"r5n.large"; case AWSEC2InstanceTypeR5N_xlarge: return @"r5n.xlarge"; case AWSEC2InstanceTypeR5N_2xlarge: return @"r5n.2xlarge"; case AWSEC2InstanceTypeR5N_4xlarge: return @"r5n.4xlarge"; case AWSEC2InstanceTypeR5N_8xlarge: return @"r5n.8xlarge"; case AWSEC2InstanceTypeR5N_12xlarge: return @"r5n.12xlarge"; case AWSEC2InstanceTypeR5N_16xlarge: return @"r5n.16xlarge"; case AWSEC2InstanceTypeR5N_24xlarge: return @"r5n.24xlarge"; case AWSEC2InstanceTypeR5N_metal: return @"r5n.metal"; case AWSEC2InstanceTypeR6G_medium: return @"r6g.medium"; case AWSEC2InstanceTypeR6G_large: return @"r6g.large"; case AWSEC2InstanceTypeR6G_xlarge: return @"r6g.xlarge"; case AWSEC2InstanceTypeR6G_2xlarge: return @"r6g.2xlarge"; case AWSEC2InstanceTypeR6G_4xlarge: return @"r6g.4xlarge"; case AWSEC2InstanceTypeR6G_8xlarge: return @"r6g.8xlarge"; case AWSEC2InstanceTypeR6G_12xlarge: return @"r6g.12xlarge"; case AWSEC2InstanceTypeR6G_16xlarge: return @"r6g.16xlarge"; case AWSEC2InstanceTypeR6G_metal: return @"r6g.metal"; case AWSEC2InstanceTypeR6Gd_medium: return @"r6gd.medium"; case AWSEC2InstanceTypeR6Gd_large: return @"r6gd.large"; case AWSEC2InstanceTypeR6Gd_xlarge: return @"r6gd.xlarge"; case AWSEC2InstanceTypeR6Gd_2xlarge: return @"r6gd.2xlarge"; case AWSEC2InstanceTypeR6Gd_4xlarge: return @"r6gd.4xlarge"; case AWSEC2InstanceTypeR6Gd_8xlarge: return @"r6gd.8xlarge"; case AWSEC2InstanceTypeR6Gd_12xlarge: return @"r6gd.12xlarge"; case AWSEC2InstanceTypeR6Gd_16xlarge: return @"r6gd.16xlarge"; case AWSEC2InstanceTypeR6Gd_metal: return @"r6gd.metal"; case AWSEC2InstanceTypeR6I_large: return @"r6i.large"; case AWSEC2InstanceTypeR6I_xlarge: return @"r6i.xlarge"; case AWSEC2InstanceTypeR6I_2xlarge: return @"r6i.2xlarge"; case AWSEC2InstanceTypeR6I_4xlarge: return @"r6i.4xlarge"; case AWSEC2InstanceTypeR6I_8xlarge: return @"r6i.8xlarge"; case AWSEC2InstanceTypeR6I_12xlarge: return @"r6i.12xlarge"; case AWSEC2InstanceTypeR6I_16xlarge: return @"r6i.16xlarge"; case AWSEC2InstanceTypeR6I_24xlarge: return @"r6i.24xlarge"; case AWSEC2InstanceTypeR6I_32xlarge: return @"r6i.32xlarge"; case AWSEC2InstanceTypeR6I_metal: return @"r6i.metal"; case AWSEC2InstanceTypeT1_micro: return @"t1.micro"; case AWSEC2InstanceTypeT2_nano: return @"t2.nano"; case AWSEC2InstanceTypeT2_micro: return @"t2.micro"; case AWSEC2InstanceTypeT2_small: return @"t2.small"; case AWSEC2InstanceTypeT2_medium: return @"t2.medium"; case AWSEC2InstanceTypeT2_large: return @"t2.large"; case AWSEC2InstanceTypeT2_xlarge: return @"t2.xlarge"; case AWSEC2InstanceTypeT2_2xlarge: return @"t2.2xlarge"; case AWSEC2InstanceTypeT3_nano: return @"t3.nano"; case AWSEC2InstanceTypeT3_micro: return @"t3.micro"; case AWSEC2InstanceTypeT3_small: return @"t3.small"; case AWSEC2InstanceTypeT3_medium: return @"t3.medium"; case AWSEC2InstanceTypeT3_large: return @"t3.large"; case AWSEC2InstanceTypeT3_xlarge: return @"t3.xlarge"; case AWSEC2InstanceTypeT3_2xlarge: return @"t3.2xlarge"; case AWSEC2InstanceTypeT3A_nano: return @"t3a.nano"; case AWSEC2InstanceTypeT3A_micro: return @"t3a.micro"; case AWSEC2InstanceTypeT3A_small: return @"t3a.small"; case AWSEC2InstanceTypeT3A_medium: return @"t3a.medium"; case AWSEC2InstanceTypeT3A_large: return @"t3a.large"; case AWSEC2InstanceTypeT3A_xlarge: return @"t3a.xlarge"; case AWSEC2InstanceTypeT3A_2xlarge: return @"t3a.2xlarge"; case AWSEC2InstanceTypeT4G_nano: return @"t4g.nano"; case AWSEC2InstanceTypeT4G_micro: return @"t4g.micro"; case AWSEC2InstanceTypeT4G_small: return @"t4g.small"; case AWSEC2InstanceTypeT4G_medium: return @"t4g.medium"; case AWSEC2InstanceTypeT4G_large: return @"t4g.large"; case AWSEC2InstanceTypeT4G_xlarge: return @"t4g.xlarge"; case AWSEC2InstanceTypeT4G_2xlarge: return @"t4g.2xlarge"; case AWSEC2InstanceTypeU_6tb1_56xlarge: return @"u-6tb1.56xlarge"; case AWSEC2InstanceTypeU_6tb1_112xlarge: return @"u-6tb1.112xlarge"; case AWSEC2InstanceTypeU_9tb1_112xlarge: return @"u-9tb1.112xlarge"; case AWSEC2InstanceTypeU_12tb1_112xlarge: return @"u-12tb1.112xlarge"; case AWSEC2InstanceTypeU_6tb1_metal: return @"u-6tb1.metal"; case AWSEC2InstanceTypeU_9tb1_metal: return @"u-9tb1.metal"; case AWSEC2InstanceTypeU_12tb1_metal: return @"u-12tb1.metal"; case AWSEC2InstanceTypeU_18tb1_metal: return @"u-18tb1.metal"; case AWSEC2InstanceTypeU_24tb1_metal: return @"u-24tb1.metal"; case AWSEC2InstanceTypeVT1_3xlarge: return @"vt1.3xlarge"; case AWSEC2InstanceTypeVT1_6xlarge: return @"vt1.6xlarge"; case AWSEC2InstanceTypeVT1_24xlarge: return @"vt1.24xlarge"; case AWSEC2InstanceTypeX1_16xlarge: return @"x1.16xlarge"; case AWSEC2InstanceTypeX1_32xlarge: return @"x1.32xlarge"; case AWSEC2InstanceTypeX1E_xlarge: return @"x1e.xlarge"; case AWSEC2InstanceTypeX1E_2xlarge: return @"x1e.2xlarge"; case AWSEC2InstanceTypeX1E_4xlarge: return @"x1e.4xlarge"; case AWSEC2InstanceTypeX1E_8xlarge: return @"x1e.8xlarge"; case AWSEC2InstanceTypeX1E_16xlarge: return @"x1e.16xlarge"; case AWSEC2InstanceTypeX1E_32xlarge: return @"x1e.32xlarge"; case AWSEC2InstanceTypeX2Iezn_2xlarge: return @"x2iezn.2xlarge"; case AWSEC2InstanceTypeX2Iezn_4xlarge: return @"x2iezn.4xlarge"; case AWSEC2InstanceTypeX2Iezn_6xlarge: return @"x2iezn.6xlarge"; case AWSEC2InstanceTypeX2Iezn_8xlarge: return @"x2iezn.8xlarge"; case AWSEC2InstanceTypeX2Iezn_12xlarge: return @"x2iezn.12xlarge"; case AWSEC2InstanceTypeX2Iezn_metal: return @"x2iezn.metal"; case AWSEC2InstanceTypeX2Gd_medium: return @"x2gd.medium"; case AWSEC2InstanceTypeX2Gd_large: return @"x2gd.large"; case AWSEC2InstanceTypeX2Gd_xlarge: return @"x2gd.xlarge"; case AWSEC2InstanceTypeX2Gd_2xlarge: return @"x2gd.2xlarge"; case AWSEC2InstanceTypeX2Gd_4xlarge: return @"x2gd.4xlarge"; case AWSEC2InstanceTypeX2Gd_8xlarge: return @"x2gd.8xlarge"; case AWSEC2InstanceTypeX2Gd_12xlarge: return @"x2gd.12xlarge"; case AWSEC2InstanceTypeX2Gd_16xlarge: return @"x2gd.16xlarge"; case AWSEC2InstanceTypeX2Gd_metal: return @"x2gd.metal"; case AWSEC2InstanceTypeZ1D_large: return @"z1d.large"; case AWSEC2InstanceTypeZ1D_xlarge: return @"z1d.xlarge"; case AWSEC2InstanceTypeZ1D_2xlarge: return @"z1d.2xlarge"; case AWSEC2InstanceTypeZ1D_3xlarge: return @"z1d.3xlarge"; case AWSEC2InstanceTypeZ1D_6xlarge: return @"z1d.6xlarge"; case AWSEC2InstanceTypeZ1D_12xlarge: return @"z1d.12xlarge"; case AWSEC2InstanceTypeZ1D_metal: return @"z1d.metal"; case AWSEC2InstanceTypeX2Idn_16xlarge: return @"x2idn.16xlarge"; case AWSEC2InstanceTypeX2Idn_24xlarge: return @"x2idn.24xlarge"; case AWSEC2InstanceTypeX2Idn_32xlarge: return @"x2idn.32xlarge"; case AWSEC2InstanceTypeX2Iedn_xlarge: return @"x2iedn.xlarge"; case AWSEC2InstanceTypeX2Iedn_2xlarge: return @"x2iedn.2xlarge"; case AWSEC2InstanceTypeX2Iedn_4xlarge: return @"x2iedn.4xlarge"; case AWSEC2InstanceTypeX2Iedn_8xlarge: return @"x2iedn.8xlarge"; case AWSEC2InstanceTypeX2Iedn_16xlarge: return @"x2iedn.16xlarge"; case AWSEC2InstanceTypeX2Iedn_24xlarge: return @"x2iedn.24xlarge"; case AWSEC2InstanceTypeX2Iedn_32xlarge: return @"x2iedn.32xlarge"; case AWSEC2InstanceTypeC6A_large: return @"c6a.large"; case AWSEC2InstanceTypeC6A_xlarge: return @"c6a.xlarge"; case AWSEC2InstanceTypeC6A_2xlarge: return @"c6a.2xlarge"; case AWSEC2InstanceTypeC6A_4xlarge: return @"c6a.4xlarge"; case AWSEC2InstanceTypeC6A_8xlarge: return @"c6a.8xlarge"; case AWSEC2InstanceTypeC6A_12xlarge: return @"c6a.12xlarge"; case AWSEC2InstanceTypeC6A_16xlarge: return @"c6a.16xlarge"; case AWSEC2InstanceTypeC6A_24xlarge: return @"c6a.24xlarge"; case AWSEC2InstanceTypeC6A_32xlarge: return @"c6a.32xlarge"; case AWSEC2InstanceTypeC6A_48xlarge: return @"c6a.48xlarge"; case AWSEC2InstanceTypeC6A_metal: return @"c6a.metal"; case AWSEC2InstanceTypeM6A_metal: return @"m6a.metal"; case AWSEC2InstanceTypeI4I_large: return @"i4i.large"; case AWSEC2InstanceTypeI4I_xlarge: return @"i4i.xlarge"; case AWSEC2InstanceTypeI4I_2xlarge: return @"i4i.2xlarge"; case AWSEC2InstanceTypeI4I_4xlarge: return @"i4i.4xlarge"; case AWSEC2InstanceTypeI4I_8xlarge: return @"i4i.8xlarge"; case AWSEC2InstanceTypeI4I_16xlarge: return @"i4i.16xlarge"; case AWSEC2InstanceTypeI4I_32xlarge: return @"i4i.32xlarge"; case AWSEC2InstanceTypeI4I_metal: return @"i4i.metal"; case AWSEC2InstanceTypeX2Idn_metal: return @"x2idn.metal"; case AWSEC2InstanceTypeX2Iedn_metal: return @"x2iedn.metal"; case AWSEC2InstanceTypeC7G_medium: return @"c7g.medium"; case AWSEC2InstanceTypeC7G_large: return @"c7g.large"; case AWSEC2InstanceTypeC7G_xlarge: return @"c7g.xlarge"; case AWSEC2InstanceTypeC7G_2xlarge: return @"c7g.2xlarge"; case AWSEC2InstanceTypeC7G_4xlarge: return @"c7g.4xlarge"; case AWSEC2InstanceTypeC7G_8xlarge: return @"c7g.8xlarge"; case AWSEC2InstanceTypeC7G_12xlarge: return @"c7g.12xlarge"; case AWSEC2InstanceTypeC7G_16xlarge: return @"c7g.16xlarge"; case AWSEC2InstanceTypeMAC2_metal: return @"mac2.metal"; case AWSEC2InstanceTypeC6Id_large: return @"c6id.large"; case AWSEC2InstanceTypeC6Id_xlarge: return @"c6id.xlarge"; case AWSEC2InstanceTypeC6Id_2xlarge: return @"c6id.2xlarge"; case AWSEC2InstanceTypeC6Id_4xlarge: return @"c6id.4xlarge"; case AWSEC2InstanceTypeC6Id_8xlarge: return @"c6id.8xlarge"; case AWSEC2InstanceTypeC6Id_12xlarge: return @"c6id.12xlarge"; case AWSEC2InstanceTypeC6Id_16xlarge: return @"c6id.16xlarge"; case AWSEC2InstanceTypeC6Id_24xlarge: return @"c6id.24xlarge"; case AWSEC2InstanceTypeC6Id_32xlarge: return @"c6id.32xlarge"; case AWSEC2InstanceTypeC6Id_metal: return @"c6id.metal"; case AWSEC2InstanceTypeM6Id_large: return @"m6id.large"; case AWSEC2InstanceTypeM6Id_xlarge: return @"m6id.xlarge"; case AWSEC2InstanceTypeM6Id_2xlarge: return @"m6id.2xlarge"; case AWSEC2InstanceTypeM6Id_4xlarge: return @"m6id.4xlarge"; case AWSEC2InstanceTypeM6Id_8xlarge: return @"m6id.8xlarge"; case AWSEC2InstanceTypeM6Id_12xlarge: return @"m6id.12xlarge"; case AWSEC2InstanceTypeM6Id_16xlarge: return @"m6id.16xlarge"; case AWSEC2InstanceTypeM6Id_24xlarge: return @"m6id.24xlarge"; case AWSEC2InstanceTypeM6Id_32xlarge: return @"m6id.32xlarge"; case AWSEC2InstanceTypeM6Id_metal: return @"m6id.metal"; case AWSEC2InstanceTypeR6Id_large: return @"r6id.large"; case AWSEC2InstanceTypeR6Id_xlarge: return @"r6id.xlarge"; case AWSEC2InstanceTypeR6Id_2xlarge: return @"r6id.2xlarge"; case AWSEC2InstanceTypeR6Id_4xlarge: return @"r6id.4xlarge"; case AWSEC2InstanceTypeR6Id_8xlarge: return @"r6id.8xlarge"; case AWSEC2InstanceTypeR6Id_12xlarge: return @"r6id.12xlarge"; case AWSEC2InstanceTypeR6Id_16xlarge: return @"r6id.16xlarge"; case AWSEC2InstanceTypeR6Id_24xlarge: return @"r6id.24xlarge"; case AWSEC2InstanceTypeR6Id_32xlarge: return @"r6id.32xlarge"; case AWSEC2InstanceTypeR6Id_metal: return @"r6id.metal"; case AWSEC2InstanceTypeR6A_large: return @"r6a.large"; case AWSEC2InstanceTypeR6A_xlarge: return @"r6a.xlarge"; case AWSEC2InstanceTypeR6A_2xlarge: return @"r6a.2xlarge"; case AWSEC2InstanceTypeR6A_4xlarge: return @"r6a.4xlarge"; case AWSEC2InstanceTypeR6A_8xlarge: return @"r6a.8xlarge"; case AWSEC2InstanceTypeR6A_12xlarge: return @"r6a.12xlarge"; case AWSEC2InstanceTypeR6A_16xlarge: return @"r6a.16xlarge"; case AWSEC2InstanceTypeR6A_24xlarge: return @"r6a.24xlarge"; case AWSEC2InstanceTypeR6A_32xlarge: return @"r6a.32xlarge"; case AWSEC2InstanceTypeR6A_48xlarge: return @"r6a.48xlarge"; case AWSEC2InstanceTypeR6A_metal: return @"r6a.metal"; case AWSEC2InstanceTypeP4De_24xlarge: return @"p4de.24xlarge"; case AWSEC2InstanceTypeU_3tb1_56xlarge: return @"u-3tb1.56xlarge"; case AWSEC2InstanceTypeU_18tb1_112xlarge: return @"u-18tb1.112xlarge"; case AWSEC2InstanceTypeU_24tb1_112xlarge: return @"u-24tb1.112xlarge"; case AWSEC2InstanceTypeTRN1_2xlarge: return @"trn1.2xlarge"; case AWSEC2InstanceTypeTRN1_32xlarge: return @"trn1.32xlarge"; case AWSEC2InstanceTypeHPC6id_32xlarge: return @"hpc6id.32xlarge"; case AWSEC2InstanceTypeC6In_large: return @"c6in.large"; case AWSEC2InstanceTypeC6In_xlarge: return @"c6in.xlarge"; case AWSEC2InstanceTypeC6In_2xlarge: return @"c6in.2xlarge"; case AWSEC2InstanceTypeC6In_4xlarge: return @"c6in.4xlarge"; case AWSEC2InstanceTypeC6In_8xlarge: return @"c6in.8xlarge"; case AWSEC2InstanceTypeC6In_12xlarge: return @"c6in.12xlarge"; case AWSEC2InstanceTypeC6In_16xlarge: return @"c6in.16xlarge"; case AWSEC2InstanceTypeC6In_24xlarge: return @"c6in.24xlarge"; case AWSEC2InstanceTypeC6In_32xlarge: return @"c6in.32xlarge"; case AWSEC2InstanceTypeM6In_large: return @"m6in.large"; case AWSEC2InstanceTypeM6In_xlarge: return @"m6in.xlarge"; case AWSEC2InstanceTypeM6In_2xlarge: return @"m6in.2xlarge"; case AWSEC2InstanceTypeM6In_4xlarge: return @"m6in.4xlarge"; case AWSEC2InstanceTypeM6In_8xlarge: return @"m6in.8xlarge"; case AWSEC2InstanceTypeM6In_12xlarge: return @"m6in.12xlarge"; case AWSEC2InstanceTypeM6In_16xlarge: return @"m6in.16xlarge"; case AWSEC2InstanceTypeM6In_24xlarge: return @"m6in.24xlarge"; case AWSEC2InstanceTypeM6In_32xlarge: return @"m6in.32xlarge"; case AWSEC2InstanceTypeM6Idn_large: return @"m6idn.large"; case AWSEC2InstanceTypeM6Idn_xlarge: return @"m6idn.xlarge"; case AWSEC2InstanceTypeM6Idn_2xlarge: return @"m6idn.2xlarge"; case AWSEC2InstanceTypeM6Idn_4xlarge: return @"m6idn.4xlarge"; case AWSEC2InstanceTypeM6Idn_8xlarge: return @"m6idn.8xlarge"; case AWSEC2InstanceTypeM6Idn_12xlarge: return @"m6idn.12xlarge"; case AWSEC2InstanceTypeM6Idn_16xlarge: return @"m6idn.16xlarge"; case AWSEC2InstanceTypeM6Idn_24xlarge: return @"m6idn.24xlarge"; case AWSEC2InstanceTypeM6Idn_32xlarge: return @"m6idn.32xlarge"; case AWSEC2InstanceTypeR6In_large: return @"r6in.large"; case AWSEC2InstanceTypeR6In_xlarge: return @"r6in.xlarge"; case AWSEC2InstanceTypeR6In_2xlarge: return @"r6in.2xlarge"; case AWSEC2InstanceTypeR6In_4xlarge: return @"r6in.4xlarge"; case AWSEC2InstanceTypeR6In_8xlarge: return @"r6in.8xlarge"; case AWSEC2InstanceTypeR6In_12xlarge: return @"r6in.12xlarge"; case AWSEC2InstanceTypeR6In_16xlarge: return @"r6in.16xlarge"; case AWSEC2InstanceTypeR6In_24xlarge: return @"r6in.24xlarge"; case AWSEC2InstanceTypeR6In_32xlarge: return @"r6in.32xlarge"; case AWSEC2InstanceTypeR6Idn_large: return @"r6idn.large"; case AWSEC2InstanceTypeR6Idn_xlarge: return @"r6idn.xlarge"; case AWSEC2InstanceTypeR6Idn_2xlarge: return @"r6idn.2xlarge"; case AWSEC2InstanceTypeR6Idn_4xlarge: return @"r6idn.4xlarge"; case AWSEC2InstanceTypeR6Idn_8xlarge: return @"r6idn.8xlarge"; case AWSEC2InstanceTypeR6Idn_12xlarge: return @"r6idn.12xlarge"; case AWSEC2InstanceTypeR6Idn_16xlarge: return @"r6idn.16xlarge"; case AWSEC2InstanceTypeR6Idn_24xlarge: return @"r6idn.24xlarge"; case AWSEC2InstanceTypeR6Idn_32xlarge: return @"r6idn.32xlarge"; case AWSEC2InstanceTypeC7G_metal: return @"c7g.metal"; case AWSEC2InstanceTypeM7G_medium: return @"m7g.medium"; case AWSEC2InstanceTypeM7G_large: return @"m7g.large"; case AWSEC2InstanceTypeM7G_xlarge: return @"m7g.xlarge"; case AWSEC2InstanceTypeM7G_2xlarge: return @"m7g.2xlarge"; case AWSEC2InstanceTypeM7G_4xlarge: return @"m7g.4xlarge"; case AWSEC2InstanceTypeM7G_8xlarge: return @"m7g.8xlarge"; case AWSEC2InstanceTypeM7G_12xlarge: return @"m7g.12xlarge"; case AWSEC2InstanceTypeM7G_16xlarge: return @"m7g.16xlarge"; case AWSEC2InstanceTypeM7G_metal: return @"m7g.metal"; case AWSEC2InstanceTypeR7G_medium: return @"r7g.medium"; case AWSEC2InstanceTypeR7G_large: return @"r7g.large"; case AWSEC2InstanceTypeR7G_xlarge: return @"r7g.xlarge"; case AWSEC2InstanceTypeR7G_2xlarge: return @"r7g.2xlarge"; case AWSEC2InstanceTypeR7G_4xlarge: return @"r7g.4xlarge"; case AWSEC2InstanceTypeR7G_8xlarge: return @"r7g.8xlarge"; case AWSEC2InstanceTypeR7G_12xlarge: return @"r7g.12xlarge"; case AWSEC2InstanceTypeR7G_16xlarge: return @"r7g.16xlarge"; case AWSEC2InstanceTypeR7G_metal: return @"r7g.metal"; case AWSEC2InstanceTypeC6In_metal: return @"c6in.metal"; case AWSEC2InstanceTypeM6In_metal: return @"m6in.metal"; case AWSEC2InstanceTypeM6Idn_metal: return @"m6idn.metal"; case AWSEC2InstanceTypeR6In_metal: return @"r6in.metal"; case AWSEC2InstanceTypeR6Idn_metal: return @"r6idn.metal"; case AWSEC2InstanceTypeINF2_xlarge: return @"inf2.xlarge"; case AWSEC2InstanceTypeINF2_8xlarge: return @"inf2.8xlarge"; case AWSEC2InstanceTypeINF2_24xlarge: return @"inf2.24xlarge"; case AWSEC2InstanceTypeINF2_48xlarge: return @"inf2.48xlarge"; case AWSEC2InstanceTypeTRN1n_32xlarge: return @"trn1n.32xlarge"; case AWSEC2InstanceTypeI4G_large: return @"i4g.large"; case AWSEC2InstanceTypeI4G_xlarge: return @"i4g.xlarge"; case AWSEC2InstanceTypeI4G_2xlarge: return @"i4g.2xlarge"; case AWSEC2InstanceTypeI4G_4xlarge: return @"i4g.4xlarge"; case AWSEC2InstanceTypeI4G_8xlarge: return @"i4g.8xlarge"; case AWSEC2InstanceTypeI4G_16xlarge: return @"i4g.16xlarge"; case AWSEC2InstanceTypeHPC7g_4xlarge: return @"hpc7g.4xlarge"; case AWSEC2InstanceTypeHPC7g_8xlarge: return @"hpc7g.8xlarge"; case AWSEC2InstanceTypeHPC7g_16xlarge: return @"hpc7g.16xlarge"; case AWSEC2InstanceTypeC7Gn_medium: return @"c7gn.medium"; case AWSEC2InstanceTypeC7Gn_large: return @"c7gn.large"; case AWSEC2InstanceTypeC7Gn_xlarge: return @"c7gn.xlarge"; case AWSEC2InstanceTypeC7Gn_2xlarge: return @"c7gn.2xlarge"; case AWSEC2InstanceTypeC7Gn_4xlarge: return @"c7gn.4xlarge"; case AWSEC2InstanceTypeC7Gn_8xlarge: return @"c7gn.8xlarge"; case AWSEC2InstanceTypeC7Gn_12xlarge: return @"c7gn.12xlarge"; case AWSEC2InstanceTypeC7Gn_16xlarge: return @"c7gn.16xlarge"; default: return nil; } }]; } + (NSValueTransformer *)productDescriptionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Linux/UNIX"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionLinuxUNIX); } if ([value caseInsensitiveCompare:@"Linux/UNIX (Amazon VPC)"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionLinuxUNIXAmazonVPC); } if ([value caseInsensitiveCompare:@"Windows"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionWindows); } if ([value caseInsensitiveCompare:@"Windows (Amazon VPC)"] == NSOrderedSame) { return @(AWSEC2RIProductDescriptionWindowsAmazonVPC); } return @(AWSEC2RIProductDescriptionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2RIProductDescriptionLinuxUNIX: return @"Linux/UNIX"; case AWSEC2RIProductDescriptionLinuxUNIXAmazonVPC: return @"Linux/UNIX (Amazon VPC)"; case AWSEC2RIProductDescriptionWindows: return @"Windows"; case AWSEC2RIProductDescriptionWindowsAmazonVPC: return @"Windows (Amazon VPC)"; default: return nil; } }]; } + (NSValueTransformer *)timestampJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2StaleIpPermission + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fromPort" : @"FromPort", @"ipProtocol" : @"IpProtocol", @"ipRanges" : @"IpRanges", @"prefixListIds" : @"PrefixListIds", @"toPort" : @"ToPort", @"userIdGroupPairs" : @"UserIdGroupPairs", }; } + (NSValueTransformer *)userIdGroupPairsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2UserIdGroupPair class]]; } @end @implementation AWSEC2StaleSecurityGroup + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"groupId" : @"GroupId", @"groupName" : @"GroupName", @"staleIpPermissions" : @"StaleIpPermissions", @"staleIpPermissionsEgress" : @"StaleIpPermissionsEgress", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)staleIpPermissionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2StaleIpPermission class]]; } + (NSValueTransformer *)staleIpPermissionsEgressJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2StaleIpPermission class]]; } @end @implementation AWSEC2StartInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"additionalInfo" : @"AdditionalInfo", @"dryRun" : @"DryRun", @"instanceIds" : @"InstanceIds", }; } @end @implementation AWSEC2StartInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"startingInstances" : @"StartingInstances", }; } + (NSValueTransformer *)startingInstancesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceStateChange class]]; } @end @implementation AWSEC2StartNetworkInsightsAccessScopeAnalysisRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"networkInsightsAccessScopeId" : @"NetworkInsightsAccessScopeId", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2StartNetworkInsightsAccessScopeAnalysisResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInsightsAccessScopeAnalysis" : @"NetworkInsightsAccessScopeAnalysis", }; } + (NSValueTransformer *)networkInsightsAccessScopeAnalysisJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInsightsAccessScopeAnalysis class]]; } @end @implementation AWSEC2StartNetworkInsightsAnalysisRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"additionalAccounts" : @"AdditionalAccounts", @"clientToken" : @"ClientToken", @"dryRun" : @"DryRun", @"filterInArns" : @"FilterInArns", @"networkInsightsPathId" : @"NetworkInsightsPathId", @"tagSpecifications" : @"TagSpecifications", }; } + (NSValueTransformer *)tagSpecificationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TagSpecification class]]; } @end @implementation AWSEC2StartNetworkInsightsAnalysisResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInsightsAnalysis" : @"NetworkInsightsAnalysis", }; } + (NSValueTransformer *)networkInsightsAnalysisJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2NetworkInsightsAnalysis class]]; } @end @implementation AWSEC2StartVpcEndpointServicePrivateDnsVerificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"serviceId" : @"ServiceId", }; } @end @implementation AWSEC2StartVpcEndpointServicePrivateDnsVerificationResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returnValue" : @"ReturnValue", }; } @end @implementation AWSEC2StateReason + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } @end @implementation AWSEC2StopInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"force" : @"Force", @"hibernate" : @"Hibernate", @"instanceIds" : @"InstanceIds", }; } @end @implementation AWSEC2StopInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"stoppingInstances" : @"StoppingInstances", }; } + (NSValueTransformer *)stoppingInstancesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceStateChange class]]; } @end @implementation AWSEC2Storage + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"s3" : @"S3", }; } + (NSValueTransformer *)s3JSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2S3Storage class]]; } @end @implementation AWSEC2StorageLocation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bucket" : @"Bucket", @"key" : @"Key", }; } @end @implementation AWSEC2StoreImageTaskResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"amiId" : @"AmiId", @"bucket" : @"Bucket", @"progressPercentage" : @"ProgressPercentage", @"s3objectKey" : @"S3objectKey", @"storeTaskFailureReason" : @"StoreTaskFailureReason", @"storeTaskState" : @"StoreTaskState", @"taskStartTime" : @"TaskStartTime", }; } + (NSValueTransformer *)taskStartTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2Subnet + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"assignIpv6AddressOnCreation" : @"AssignIpv6AddressOnCreation", @"availabilityZone" : @"AvailabilityZone", @"availabilityZoneId" : @"AvailabilityZoneId", @"availableIpAddressCount" : @"AvailableIpAddressCount", @"cidrBlock" : @"CidrBlock", @"customerOwnedIpv4Pool" : @"CustomerOwnedIpv4Pool", @"defaultForAz" : @"DefaultForAz", @"enableDns64" : @"EnableDns64", @"enableLniAtDeviceIndex" : @"EnableLniAtDeviceIndex", @"ipv6CidrBlockAssociationSet" : @"Ipv6CidrBlockAssociationSet", @"ipv6Native" : @"Ipv6Native", @"mapCustomerOwnedIpOnLaunch" : @"MapCustomerOwnedIpOnLaunch", @"mapPublicIpOnLaunch" : @"MapPublicIpOnLaunch", @"outpostArn" : @"OutpostArn", @"ownerId" : @"OwnerId", @"privateDnsNameOptionsOnLaunch" : @"PrivateDnsNameOptionsOnLaunch", @"state" : @"State", @"subnetArn" : @"SubnetArn", @"subnetId" : @"SubnetId", @"tags" : @"Tags", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)ipv6CidrBlockAssociationSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SubnetIpv6CidrBlockAssociation class]]; } + (NSValueTransformer *)privateDnsNameOptionsOnLaunchJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PrivateDnsNameOptionsOnLaunch class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2SubnetStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2SubnetStateAvailable); } return @(AWSEC2SubnetStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SubnetStatePending: return @"pending"; case AWSEC2SubnetStateAvailable: return @"available"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2SubnetAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"state" : @"State", @"subnetId" : @"SubnetId", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pendingAcceptance"] == NSOrderedSame) { return @(AWSEC2TransitGatewayMulitcastDomainAssociationStatePendingAcceptance); } if ([value caseInsensitiveCompare:@"associating"] == NSOrderedSame) { return @(AWSEC2TransitGatewayMulitcastDomainAssociationStateAssociating); } if ([value caseInsensitiveCompare:@"associated"] == NSOrderedSame) { return @(AWSEC2TransitGatewayMulitcastDomainAssociationStateAssociated); } if ([value caseInsensitiveCompare:@"disassociating"] == NSOrderedSame) { return @(AWSEC2TransitGatewayMulitcastDomainAssociationStateDisassociating); } if ([value caseInsensitiveCompare:@"disassociated"] == NSOrderedSame) { return @(AWSEC2TransitGatewayMulitcastDomainAssociationStateDisassociated); } if ([value caseInsensitiveCompare:@"rejected"] == NSOrderedSame) { return @(AWSEC2TransitGatewayMulitcastDomainAssociationStateRejected); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2TransitGatewayMulitcastDomainAssociationStateFailed); } return @(AWSEC2TransitGatewayMulitcastDomainAssociationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayMulitcastDomainAssociationStatePendingAcceptance: return @"pendingAcceptance"; case AWSEC2TransitGatewayMulitcastDomainAssociationStateAssociating: return @"associating"; case AWSEC2TransitGatewayMulitcastDomainAssociationStateAssociated: return @"associated"; case AWSEC2TransitGatewayMulitcastDomainAssociationStateDisassociating: return @"disassociating"; case AWSEC2TransitGatewayMulitcastDomainAssociationStateDisassociated: return @"disassociated"; case AWSEC2TransitGatewayMulitcastDomainAssociationStateRejected: return @"rejected"; case AWSEC2TransitGatewayMulitcastDomainAssociationStateFailed: return @"failed"; default: return nil; } }]; } @end @implementation AWSEC2SubnetCidrBlockState + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"state" : @"State", @"statusMessage" : @"StatusMessage", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"associating"] == NSOrderedSame) { return @(AWSEC2SubnetCidrBlockStateCodeAssociating); } if ([value caseInsensitiveCompare:@"associated"] == NSOrderedSame) { return @(AWSEC2SubnetCidrBlockStateCodeAssociated); } if ([value caseInsensitiveCompare:@"disassociating"] == NSOrderedSame) { return @(AWSEC2SubnetCidrBlockStateCodeDisassociating); } if ([value caseInsensitiveCompare:@"disassociated"] == NSOrderedSame) { return @(AWSEC2SubnetCidrBlockStateCodeDisassociated); } if ([value caseInsensitiveCompare:@"failing"] == NSOrderedSame) { return @(AWSEC2SubnetCidrBlockStateCodeFailing); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2SubnetCidrBlockStateCodeFailed); } return @(AWSEC2SubnetCidrBlockStateCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SubnetCidrBlockStateCodeAssociating: return @"associating"; case AWSEC2SubnetCidrBlockStateCodeAssociated: return @"associated"; case AWSEC2SubnetCidrBlockStateCodeDisassociating: return @"disassociating"; case AWSEC2SubnetCidrBlockStateCodeDisassociated: return @"disassociated"; case AWSEC2SubnetCidrBlockStateCodeFailing: return @"failing"; case AWSEC2SubnetCidrBlockStateCodeFailed: return @"failed"; default: return nil; } }]; } @end @implementation AWSEC2SubnetCidrReservation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"detail" : @"Description", @"ownerId" : @"OwnerId", @"reservationType" : @"ReservationType", @"subnetCidrReservationId" : @"SubnetCidrReservationId", @"subnetId" : @"SubnetId", @"tags" : @"Tags", }; } + (NSValueTransformer *)reservationTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"prefix"] == NSOrderedSame) { return @(AWSEC2SubnetCidrReservationTypePrefix); } if ([value caseInsensitiveCompare:@"explicit"] == NSOrderedSame) { return @(AWSEC2SubnetCidrReservationTypeExplicit); } return @(AWSEC2SubnetCidrReservationTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2SubnetCidrReservationTypePrefix: return @"prefix"; case AWSEC2SubnetCidrReservationTypeExplicit: return @"explicit"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2SubnetIpv6CidrBlockAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"ipv6CidrBlock" : @"Ipv6CidrBlock", @"ipv6CidrBlockState" : @"Ipv6CidrBlockState", }; } + (NSValueTransformer *)ipv6CidrBlockStateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SubnetCidrBlockState class]]; } @end @implementation AWSEC2Subscription + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destination" : @"Destination", @"metric" : @"Metric", @"period" : @"Period", @"source" : @"Source", @"statistic" : @"Statistic", }; } + (NSValueTransformer *)metricJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"aggregate-latency"] == NSOrderedSame) { return @(AWSEC2MetricTypeAggregateLatency); } return @(AWSEC2MetricTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MetricTypeAggregateLatency: return @"aggregate-latency"; default: return nil; } }]; } + (NSValueTransformer *)periodJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"five-minutes"] == NSOrderedSame) { return @(AWSEC2PeriodTypeFiveMinutes); } if ([value caseInsensitiveCompare:@"fifteen-minutes"] == NSOrderedSame) { return @(AWSEC2PeriodTypeFifteenMinutes); } if ([value caseInsensitiveCompare:@"one-hour"] == NSOrderedSame) { return @(AWSEC2PeriodTypeOneHour); } if ([value caseInsensitiveCompare:@"three-hours"] == NSOrderedSame) { return @(AWSEC2PeriodTypeThreeHours); } if ([value caseInsensitiveCompare:@"one-day"] == NSOrderedSame) { return @(AWSEC2PeriodTypeOneDay); } if ([value caseInsensitiveCompare:@"one-week"] == NSOrderedSame) { return @(AWSEC2PeriodTypeOneWeek); } return @(AWSEC2PeriodTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2PeriodTypeFiveMinutes: return @"five-minutes"; case AWSEC2PeriodTypeFifteenMinutes: return @"fifteen-minutes"; case AWSEC2PeriodTypeOneHour: return @"one-hour"; case AWSEC2PeriodTypeThreeHours: return @"three-hours"; case AWSEC2PeriodTypeOneDay: return @"one-day"; case AWSEC2PeriodTypeOneWeek: return @"one-week"; default: return nil; } }]; } + (NSValueTransformer *)statisticJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"p50"] == NSOrderedSame) { return @(AWSEC2StatisticTypeP50); } return @(AWSEC2StatisticTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2StatisticTypeP50: return @"p50"; default: return nil; } }]; } @end @implementation AWSEC2SuccessfulInstanceCreditSpecificationItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceId" : @"InstanceId", }; } @end @implementation AWSEC2SuccessfulQueuedPurchaseDeletion + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"reservedInstancesId" : @"ReservedInstancesId", }; } @end @implementation AWSEC2Tag + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"key" : @"Key", @"value" : @"Value", }; } @end @implementation AWSEC2TagDescription + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"key" : @"Key", @"resourceId" : @"ResourceId", @"resourceType" : @"ResourceType", @"value" : @"Value", }; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"capacity-reservation"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCapacityReservation); } if ([value caseInsensitiveCompare:@"client-vpn-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeClientVpnEndpoint); } if ([value caseInsensitiveCompare:@"customer-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCustomerGateway); } if ([value caseInsensitiveCompare:@"carrier-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCarrierGateway); } if ([value caseInsensitiveCompare:@"coip-pool"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCoipPool); } if ([value caseInsensitiveCompare:@"dedicated-host"] == NSOrderedSame) { return @(AWSEC2ResourceTypeDedicatedHost); } if ([value caseInsensitiveCompare:@"dhcp-options"] == NSOrderedSame) { return @(AWSEC2ResourceTypeDHCPOptions); } if ([value caseInsensitiveCompare:@"egress-only-internet-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeEgressOnlyInternetGateway); } if ([value caseInsensitiveCompare:@"elastic-ip"] == NSOrderedSame) { return @(AWSEC2ResourceTypeElasticIp); } if ([value caseInsensitiveCompare:@"elastic-gpu"] == NSOrderedSame) { return @(AWSEC2ResourceTypeElasticGpu); } if ([value caseInsensitiveCompare:@"export-image-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeExportImageTask); } if ([value caseInsensitiveCompare:@"export-instance-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeExportInstanceTask); } if ([value caseInsensitiveCompare:@"fleet"] == NSOrderedSame) { return @(AWSEC2ResourceTypeFleet); } if ([value caseInsensitiveCompare:@"fpga-image"] == NSOrderedSame) { return @(AWSEC2ResourceTypeFpgaImage); } if ([value caseInsensitiveCompare:@"host-reservation"] == NSOrderedSame) { return @(AWSEC2ResourceTypeHostReservation); } if ([value caseInsensitiveCompare:@"image"] == NSOrderedSame) { return @(AWSEC2ResourceTypeImage); } if ([value caseInsensitiveCompare:@"import-image-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeImportImageTask); } if ([value caseInsensitiveCompare:@"import-snapshot-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeImportSnapshotTask); } if ([value caseInsensitiveCompare:@"instance"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInstance); } if ([value caseInsensitiveCompare:@"instance-event-window"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInstanceEventWindow); } if ([value caseInsensitiveCompare:@"internet-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInternetGateway); } if ([value caseInsensitiveCompare:@"ipam"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpam); } if ([value caseInsensitiveCompare:@"ipam-pool"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamPool); } if ([value caseInsensitiveCompare:@"ipam-scope"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamScope); } if ([value caseInsensitiveCompare:@"ipv4pool-ec2"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpv4poolEc2); } if ([value caseInsensitiveCompare:@"ipv6pool-ec2"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpv6poolEc2); } if ([value caseInsensitiveCompare:@"key-pair"] == NSOrderedSame) { return @(AWSEC2ResourceTypeKeyPair); } if ([value caseInsensitiveCompare:@"launch-template"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLaunchTemplate); } if ([value caseInsensitiveCompare:@"local-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGateway); } if ([value caseInsensitiveCompare:@"local-gateway-route-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayRouteTable); } if ([value caseInsensitiveCompare:@"local-gateway-virtual-interface"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayVirtualInterface); } if ([value caseInsensitiveCompare:@"local-gateway-virtual-interface-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayVirtualInterfaceGroup); } if ([value caseInsensitiveCompare:@"local-gateway-route-table-vpc-association"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayRouteTableVpcAssociation); } if ([value caseInsensitiveCompare:@"local-gateway-route-table-virtual-interface-group-association"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayRouteTableVirtualInterfaceGroupAssociation); } if ([value caseInsensitiveCompare:@"natgateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNatgateway); } if ([value caseInsensitiveCompare:@"network-acl"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkACL); } if ([value caseInsensitiveCompare:@"network-interface"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInterface); } if ([value caseInsensitiveCompare:@"network-insights-analysis"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsAnalysis); } if ([value caseInsensitiveCompare:@"network-insights-path"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsPath); } if ([value caseInsensitiveCompare:@"network-insights-access-scope"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsAccessScope); } if ([value caseInsensitiveCompare:@"network-insights-access-scope-analysis"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsAccessScopeAnalysis); } if ([value caseInsensitiveCompare:@"placement-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypePlacementGroup); } if ([value caseInsensitiveCompare:@"prefix-list"] == NSOrderedSame) { return @(AWSEC2ResourceTypePrefixList); } if ([value caseInsensitiveCompare:@"replace-root-volume-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeReplaceRootVolumeTask); } if ([value caseInsensitiveCompare:@"reserved-instances"] == NSOrderedSame) { return @(AWSEC2ResourceTypeReservedInstances); } if ([value caseInsensitiveCompare:@"route-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeRouteTable); } if ([value caseInsensitiveCompare:@"security-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSecurityGroup); } if ([value caseInsensitiveCompare:@"security-group-rule"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSecurityGroupRule); } if ([value caseInsensitiveCompare:@"snapshot"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSnapshot); } if ([value caseInsensitiveCompare:@"spot-fleet-request"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSpotFleetRequest); } if ([value caseInsensitiveCompare:@"spot-instances-request"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSpotInstancesRequest); } if ([value caseInsensitiveCompare:@"subnet"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSubnet); } if ([value caseInsensitiveCompare:@"subnet-cidr-reservation"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSubnetCidrReservation); } if ([value caseInsensitiveCompare:@"traffic-mirror-filter"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorFilter); } if ([value caseInsensitiveCompare:@"traffic-mirror-session"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorSession); } if ([value caseInsensitiveCompare:@"traffic-mirror-target"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorTarget); } if ([value caseInsensitiveCompare:@"transit-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGateway); } if ([value caseInsensitiveCompare:@"transit-gateway-attachment"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayAttachment); } if ([value caseInsensitiveCompare:@"transit-gateway-connect-peer"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayConnectPeer); } if ([value caseInsensitiveCompare:@"transit-gateway-multicast-domain"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayMulticastDomain); } if ([value caseInsensitiveCompare:@"transit-gateway-policy-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayPolicyTable); } if ([value caseInsensitiveCompare:@"transit-gateway-route-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayRouteTable); } if ([value caseInsensitiveCompare:@"transit-gateway-route-table-announcement"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayRouteTableAnnouncement); } if ([value caseInsensitiveCompare:@"volume"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVolume); } if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpc-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpoint); } if ([value caseInsensitiveCompare:@"vpc-endpoint-connection"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointConnection); } if ([value caseInsensitiveCompare:@"vpc-endpoint-service"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointService); } if ([value caseInsensitiveCompare:@"vpc-endpoint-service-permission"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointServicePermission); } if ([value caseInsensitiveCompare:@"vpc-peering-connection"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcPeeringConnection); } if ([value caseInsensitiveCompare:@"vpn-connection"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpnConnection); } if ([value caseInsensitiveCompare:@"vpn-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpnGateway); } if ([value caseInsensitiveCompare:@"vpc-flow-log"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcFlowLog); } if ([value caseInsensitiveCompare:@"capacity-reservation-fleet"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCapacityReservationFleet); } if ([value caseInsensitiveCompare:@"traffic-mirror-filter-rule"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorFilterRule); } if ([value caseInsensitiveCompare:@"vpc-endpoint-connection-device-type"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointConnectionDeviceType); } if ([value caseInsensitiveCompare:@"verified-access-instance"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessInstance); } if ([value caseInsensitiveCompare:@"verified-access-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessGroup); } if ([value caseInsensitiveCompare:@"verified-access-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessEndpoint); } if ([value caseInsensitiveCompare:@"verified-access-policy"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessPolicy); } if ([value caseInsensitiveCompare:@"verified-access-trust-provider"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessTrustProvider); } if ([value caseInsensitiveCompare:@"vpn-connection-device-type"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpnConnectionDeviceType); } if ([value caseInsensitiveCompare:@"vpc-block-public-access-exclusion"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcBlockPublicAccessExclusion); } if ([value caseInsensitiveCompare:@"ipam-resource-discovery"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamResourceDiscovery); } if ([value caseInsensitiveCompare:@"ipam-resource-discovery-association"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamResourceDiscoveryAssociation); } if ([value caseInsensitiveCompare:@"instance-connect-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInstanceConnectEndpoint); } return @(AWSEC2ResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ResourceTypeCapacityReservation: return @"capacity-reservation"; case AWSEC2ResourceTypeClientVpnEndpoint: return @"client-vpn-endpoint"; case AWSEC2ResourceTypeCustomerGateway: return @"customer-gateway"; case AWSEC2ResourceTypeCarrierGateway: return @"carrier-gateway"; case AWSEC2ResourceTypeCoipPool: return @"coip-pool"; case AWSEC2ResourceTypeDedicatedHost: return @"dedicated-host"; case AWSEC2ResourceTypeDHCPOptions: return @"dhcp-options"; case AWSEC2ResourceTypeEgressOnlyInternetGateway: return @"egress-only-internet-gateway"; case AWSEC2ResourceTypeElasticIp: return @"elastic-ip"; case AWSEC2ResourceTypeElasticGpu: return @"elastic-gpu"; case AWSEC2ResourceTypeExportImageTask: return @"export-image-task"; case AWSEC2ResourceTypeExportInstanceTask: return @"export-instance-task"; case AWSEC2ResourceTypeFleet: return @"fleet"; case AWSEC2ResourceTypeFpgaImage: return @"fpga-image"; case AWSEC2ResourceTypeHostReservation: return @"host-reservation"; case AWSEC2ResourceTypeImage: return @"image"; case AWSEC2ResourceTypeImportImageTask: return @"import-image-task"; case AWSEC2ResourceTypeImportSnapshotTask: return @"import-snapshot-task"; case AWSEC2ResourceTypeInstance: return @"instance"; case AWSEC2ResourceTypeInstanceEventWindow: return @"instance-event-window"; case AWSEC2ResourceTypeInternetGateway: return @"internet-gateway"; case AWSEC2ResourceTypeIpam: return @"ipam"; case AWSEC2ResourceTypeIpamPool: return @"ipam-pool"; case AWSEC2ResourceTypeIpamScope: return @"ipam-scope"; case AWSEC2ResourceTypeIpv4poolEc2: return @"ipv4pool-ec2"; case AWSEC2ResourceTypeIpv6poolEc2: return @"ipv6pool-ec2"; case AWSEC2ResourceTypeKeyPair: return @"key-pair"; case AWSEC2ResourceTypeLaunchTemplate: return @"launch-template"; case AWSEC2ResourceTypeLocalGateway: return @"local-gateway"; case AWSEC2ResourceTypeLocalGatewayRouteTable: return @"local-gateway-route-table"; case AWSEC2ResourceTypeLocalGatewayVirtualInterface: return @"local-gateway-virtual-interface"; case AWSEC2ResourceTypeLocalGatewayVirtualInterfaceGroup: return @"local-gateway-virtual-interface-group"; case AWSEC2ResourceTypeLocalGatewayRouteTableVpcAssociation: return @"local-gateway-route-table-vpc-association"; case AWSEC2ResourceTypeLocalGatewayRouteTableVirtualInterfaceGroupAssociation: return @"local-gateway-route-table-virtual-interface-group-association"; case AWSEC2ResourceTypeNatgateway: return @"natgateway"; case AWSEC2ResourceTypeNetworkACL: return @"network-acl"; case AWSEC2ResourceTypeNetworkInterface: return @"network-interface"; case AWSEC2ResourceTypeNetworkInsightsAnalysis: return @"network-insights-analysis"; case AWSEC2ResourceTypeNetworkInsightsPath: return @"network-insights-path"; case AWSEC2ResourceTypeNetworkInsightsAccessScope: return @"network-insights-access-scope"; case AWSEC2ResourceTypeNetworkInsightsAccessScopeAnalysis: return @"network-insights-access-scope-analysis"; case AWSEC2ResourceTypePlacementGroup: return @"placement-group"; case AWSEC2ResourceTypePrefixList: return @"prefix-list"; case AWSEC2ResourceTypeReplaceRootVolumeTask: return @"replace-root-volume-task"; case AWSEC2ResourceTypeReservedInstances: return @"reserved-instances"; case AWSEC2ResourceTypeRouteTable: return @"route-table"; case AWSEC2ResourceTypeSecurityGroup: return @"security-group"; case AWSEC2ResourceTypeSecurityGroupRule: return @"security-group-rule"; case AWSEC2ResourceTypeSnapshot: return @"snapshot"; case AWSEC2ResourceTypeSpotFleetRequest: return @"spot-fleet-request"; case AWSEC2ResourceTypeSpotInstancesRequest: return @"spot-instances-request"; case AWSEC2ResourceTypeSubnet: return @"subnet"; case AWSEC2ResourceTypeSubnetCidrReservation: return @"subnet-cidr-reservation"; case AWSEC2ResourceTypeTrafficMirrorFilter: return @"traffic-mirror-filter"; case AWSEC2ResourceTypeTrafficMirrorSession: return @"traffic-mirror-session"; case AWSEC2ResourceTypeTrafficMirrorTarget: return @"traffic-mirror-target"; case AWSEC2ResourceTypeTransitGateway: return @"transit-gateway"; case AWSEC2ResourceTypeTransitGatewayAttachment: return @"transit-gateway-attachment"; case AWSEC2ResourceTypeTransitGatewayConnectPeer: return @"transit-gateway-connect-peer"; case AWSEC2ResourceTypeTransitGatewayMulticastDomain: return @"transit-gateway-multicast-domain"; case AWSEC2ResourceTypeTransitGatewayPolicyTable: return @"transit-gateway-policy-table"; case AWSEC2ResourceTypeTransitGatewayRouteTable: return @"transit-gateway-route-table"; case AWSEC2ResourceTypeTransitGatewayRouteTableAnnouncement: return @"transit-gateway-route-table-announcement"; case AWSEC2ResourceTypeVolume: return @"volume"; case AWSEC2ResourceTypeVPC: return @"vpc"; case AWSEC2ResourceTypeVpcEndpoint: return @"vpc-endpoint"; case AWSEC2ResourceTypeVpcEndpointConnection: return @"vpc-endpoint-connection"; case AWSEC2ResourceTypeVpcEndpointService: return @"vpc-endpoint-service"; case AWSEC2ResourceTypeVpcEndpointServicePermission: return @"vpc-endpoint-service-permission"; case AWSEC2ResourceTypeVpcPeeringConnection: return @"vpc-peering-connection"; case AWSEC2ResourceTypeVpnConnection: return @"vpn-connection"; case AWSEC2ResourceTypeVpnGateway: return @"vpn-gateway"; case AWSEC2ResourceTypeVpcFlowLog: return @"vpc-flow-log"; case AWSEC2ResourceTypeCapacityReservationFleet: return @"capacity-reservation-fleet"; case AWSEC2ResourceTypeTrafficMirrorFilterRule: return @"traffic-mirror-filter-rule"; case AWSEC2ResourceTypeVpcEndpointConnectionDeviceType: return @"vpc-endpoint-connection-device-type"; case AWSEC2ResourceTypeVerifiedAccessInstance: return @"verified-access-instance"; case AWSEC2ResourceTypeVerifiedAccessGroup: return @"verified-access-group"; case AWSEC2ResourceTypeVerifiedAccessEndpoint: return @"verified-access-endpoint"; case AWSEC2ResourceTypeVerifiedAccessPolicy: return @"verified-access-policy"; case AWSEC2ResourceTypeVerifiedAccessTrustProvider: return @"verified-access-trust-provider"; case AWSEC2ResourceTypeVpnConnectionDeviceType: return @"vpn-connection-device-type"; case AWSEC2ResourceTypeVpcBlockPublicAccessExclusion: return @"vpc-block-public-access-exclusion"; case AWSEC2ResourceTypeIpamResourceDiscovery: return @"ipam-resource-discovery"; case AWSEC2ResourceTypeIpamResourceDiscoveryAssociation: return @"ipam-resource-discovery-association"; case AWSEC2ResourceTypeInstanceConnectEndpoint: return @"instance-connect-endpoint"; default: return nil; } }]; } @end @implementation AWSEC2TagSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceType" : @"ResourceType", @"tags" : @"Tags", }; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"capacity-reservation"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCapacityReservation); } if ([value caseInsensitiveCompare:@"client-vpn-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeClientVpnEndpoint); } if ([value caseInsensitiveCompare:@"customer-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCustomerGateway); } if ([value caseInsensitiveCompare:@"carrier-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCarrierGateway); } if ([value caseInsensitiveCompare:@"coip-pool"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCoipPool); } if ([value caseInsensitiveCompare:@"dedicated-host"] == NSOrderedSame) { return @(AWSEC2ResourceTypeDedicatedHost); } if ([value caseInsensitiveCompare:@"dhcp-options"] == NSOrderedSame) { return @(AWSEC2ResourceTypeDHCPOptions); } if ([value caseInsensitiveCompare:@"egress-only-internet-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeEgressOnlyInternetGateway); } if ([value caseInsensitiveCompare:@"elastic-ip"] == NSOrderedSame) { return @(AWSEC2ResourceTypeElasticIp); } if ([value caseInsensitiveCompare:@"elastic-gpu"] == NSOrderedSame) { return @(AWSEC2ResourceTypeElasticGpu); } if ([value caseInsensitiveCompare:@"export-image-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeExportImageTask); } if ([value caseInsensitiveCompare:@"export-instance-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeExportInstanceTask); } if ([value caseInsensitiveCompare:@"fleet"] == NSOrderedSame) { return @(AWSEC2ResourceTypeFleet); } if ([value caseInsensitiveCompare:@"fpga-image"] == NSOrderedSame) { return @(AWSEC2ResourceTypeFpgaImage); } if ([value caseInsensitiveCompare:@"host-reservation"] == NSOrderedSame) { return @(AWSEC2ResourceTypeHostReservation); } if ([value caseInsensitiveCompare:@"image"] == NSOrderedSame) { return @(AWSEC2ResourceTypeImage); } if ([value caseInsensitiveCompare:@"import-image-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeImportImageTask); } if ([value caseInsensitiveCompare:@"import-snapshot-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeImportSnapshotTask); } if ([value caseInsensitiveCompare:@"instance"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInstance); } if ([value caseInsensitiveCompare:@"instance-event-window"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInstanceEventWindow); } if ([value caseInsensitiveCompare:@"internet-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInternetGateway); } if ([value caseInsensitiveCompare:@"ipam"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpam); } if ([value caseInsensitiveCompare:@"ipam-pool"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamPool); } if ([value caseInsensitiveCompare:@"ipam-scope"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamScope); } if ([value caseInsensitiveCompare:@"ipv4pool-ec2"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpv4poolEc2); } if ([value caseInsensitiveCompare:@"ipv6pool-ec2"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpv6poolEc2); } if ([value caseInsensitiveCompare:@"key-pair"] == NSOrderedSame) { return @(AWSEC2ResourceTypeKeyPair); } if ([value caseInsensitiveCompare:@"launch-template"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLaunchTemplate); } if ([value caseInsensitiveCompare:@"local-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGateway); } if ([value caseInsensitiveCompare:@"local-gateway-route-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayRouteTable); } if ([value caseInsensitiveCompare:@"local-gateway-virtual-interface"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayVirtualInterface); } if ([value caseInsensitiveCompare:@"local-gateway-virtual-interface-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayVirtualInterfaceGroup); } if ([value caseInsensitiveCompare:@"local-gateway-route-table-vpc-association"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayRouteTableVpcAssociation); } if ([value caseInsensitiveCompare:@"local-gateway-route-table-virtual-interface-group-association"] == NSOrderedSame) { return @(AWSEC2ResourceTypeLocalGatewayRouteTableVirtualInterfaceGroupAssociation); } if ([value caseInsensitiveCompare:@"natgateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNatgateway); } if ([value caseInsensitiveCompare:@"network-acl"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkACL); } if ([value caseInsensitiveCompare:@"network-interface"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInterface); } if ([value caseInsensitiveCompare:@"network-insights-analysis"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsAnalysis); } if ([value caseInsensitiveCompare:@"network-insights-path"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsPath); } if ([value caseInsensitiveCompare:@"network-insights-access-scope"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsAccessScope); } if ([value caseInsensitiveCompare:@"network-insights-access-scope-analysis"] == NSOrderedSame) { return @(AWSEC2ResourceTypeNetworkInsightsAccessScopeAnalysis); } if ([value caseInsensitiveCompare:@"placement-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypePlacementGroup); } if ([value caseInsensitiveCompare:@"prefix-list"] == NSOrderedSame) { return @(AWSEC2ResourceTypePrefixList); } if ([value caseInsensitiveCompare:@"replace-root-volume-task"] == NSOrderedSame) { return @(AWSEC2ResourceTypeReplaceRootVolumeTask); } if ([value caseInsensitiveCompare:@"reserved-instances"] == NSOrderedSame) { return @(AWSEC2ResourceTypeReservedInstances); } if ([value caseInsensitiveCompare:@"route-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeRouteTable); } if ([value caseInsensitiveCompare:@"security-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSecurityGroup); } if ([value caseInsensitiveCompare:@"security-group-rule"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSecurityGroupRule); } if ([value caseInsensitiveCompare:@"snapshot"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSnapshot); } if ([value caseInsensitiveCompare:@"spot-fleet-request"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSpotFleetRequest); } if ([value caseInsensitiveCompare:@"spot-instances-request"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSpotInstancesRequest); } if ([value caseInsensitiveCompare:@"subnet"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSubnet); } if ([value caseInsensitiveCompare:@"subnet-cidr-reservation"] == NSOrderedSame) { return @(AWSEC2ResourceTypeSubnetCidrReservation); } if ([value caseInsensitiveCompare:@"traffic-mirror-filter"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorFilter); } if ([value caseInsensitiveCompare:@"traffic-mirror-session"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorSession); } if ([value caseInsensitiveCompare:@"traffic-mirror-target"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorTarget); } if ([value caseInsensitiveCompare:@"transit-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGateway); } if ([value caseInsensitiveCompare:@"transit-gateway-attachment"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayAttachment); } if ([value caseInsensitiveCompare:@"transit-gateway-connect-peer"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayConnectPeer); } if ([value caseInsensitiveCompare:@"transit-gateway-multicast-domain"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayMulticastDomain); } if ([value caseInsensitiveCompare:@"transit-gateway-policy-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayPolicyTable); } if ([value caseInsensitiveCompare:@"transit-gateway-route-table"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayRouteTable); } if ([value caseInsensitiveCompare:@"transit-gateway-route-table-announcement"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTransitGatewayRouteTableAnnouncement); } if ([value caseInsensitiveCompare:@"volume"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVolume); } if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpc-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpoint); } if ([value caseInsensitiveCompare:@"vpc-endpoint-connection"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointConnection); } if ([value caseInsensitiveCompare:@"vpc-endpoint-service"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointService); } if ([value caseInsensitiveCompare:@"vpc-endpoint-service-permission"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointServicePermission); } if ([value caseInsensitiveCompare:@"vpc-peering-connection"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcPeeringConnection); } if ([value caseInsensitiveCompare:@"vpn-connection"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpnConnection); } if ([value caseInsensitiveCompare:@"vpn-gateway"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpnGateway); } if ([value caseInsensitiveCompare:@"vpc-flow-log"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcFlowLog); } if ([value caseInsensitiveCompare:@"capacity-reservation-fleet"] == NSOrderedSame) { return @(AWSEC2ResourceTypeCapacityReservationFleet); } if ([value caseInsensitiveCompare:@"traffic-mirror-filter-rule"] == NSOrderedSame) { return @(AWSEC2ResourceTypeTrafficMirrorFilterRule); } if ([value caseInsensitiveCompare:@"vpc-endpoint-connection-device-type"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcEndpointConnectionDeviceType); } if ([value caseInsensitiveCompare:@"verified-access-instance"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessInstance); } if ([value caseInsensitiveCompare:@"verified-access-group"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessGroup); } if ([value caseInsensitiveCompare:@"verified-access-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessEndpoint); } if ([value caseInsensitiveCompare:@"verified-access-policy"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessPolicy); } if ([value caseInsensitiveCompare:@"verified-access-trust-provider"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVerifiedAccessTrustProvider); } if ([value caseInsensitiveCompare:@"vpn-connection-device-type"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpnConnectionDeviceType); } if ([value caseInsensitiveCompare:@"vpc-block-public-access-exclusion"] == NSOrderedSame) { return @(AWSEC2ResourceTypeVpcBlockPublicAccessExclusion); } if ([value caseInsensitiveCompare:@"ipam-resource-discovery"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamResourceDiscovery); } if ([value caseInsensitiveCompare:@"ipam-resource-discovery-association"] == NSOrderedSame) { return @(AWSEC2ResourceTypeIpamResourceDiscoveryAssociation); } if ([value caseInsensitiveCompare:@"instance-connect-endpoint"] == NSOrderedSame) { return @(AWSEC2ResourceTypeInstanceConnectEndpoint); } return @(AWSEC2ResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ResourceTypeCapacityReservation: return @"capacity-reservation"; case AWSEC2ResourceTypeClientVpnEndpoint: return @"client-vpn-endpoint"; case AWSEC2ResourceTypeCustomerGateway: return @"customer-gateway"; case AWSEC2ResourceTypeCarrierGateway: return @"carrier-gateway"; case AWSEC2ResourceTypeCoipPool: return @"coip-pool"; case AWSEC2ResourceTypeDedicatedHost: return @"dedicated-host"; case AWSEC2ResourceTypeDHCPOptions: return @"dhcp-options"; case AWSEC2ResourceTypeEgressOnlyInternetGateway: return @"egress-only-internet-gateway"; case AWSEC2ResourceTypeElasticIp: return @"elastic-ip"; case AWSEC2ResourceTypeElasticGpu: return @"elastic-gpu"; case AWSEC2ResourceTypeExportImageTask: return @"export-image-task"; case AWSEC2ResourceTypeExportInstanceTask: return @"export-instance-task"; case AWSEC2ResourceTypeFleet: return @"fleet"; case AWSEC2ResourceTypeFpgaImage: return @"fpga-image"; case AWSEC2ResourceTypeHostReservation: return @"host-reservation"; case AWSEC2ResourceTypeImage: return @"image"; case AWSEC2ResourceTypeImportImageTask: return @"import-image-task"; case AWSEC2ResourceTypeImportSnapshotTask: return @"import-snapshot-task"; case AWSEC2ResourceTypeInstance: return @"instance"; case AWSEC2ResourceTypeInstanceEventWindow: return @"instance-event-window"; case AWSEC2ResourceTypeInternetGateway: return @"internet-gateway"; case AWSEC2ResourceTypeIpam: return @"ipam"; case AWSEC2ResourceTypeIpamPool: return @"ipam-pool"; case AWSEC2ResourceTypeIpamScope: return @"ipam-scope"; case AWSEC2ResourceTypeIpv4poolEc2: return @"ipv4pool-ec2"; case AWSEC2ResourceTypeIpv6poolEc2: return @"ipv6pool-ec2"; case AWSEC2ResourceTypeKeyPair: return @"key-pair"; case AWSEC2ResourceTypeLaunchTemplate: return @"launch-template"; case AWSEC2ResourceTypeLocalGateway: return @"local-gateway"; case AWSEC2ResourceTypeLocalGatewayRouteTable: return @"local-gateway-route-table"; case AWSEC2ResourceTypeLocalGatewayVirtualInterface: return @"local-gateway-virtual-interface"; case AWSEC2ResourceTypeLocalGatewayVirtualInterfaceGroup: return @"local-gateway-virtual-interface-group"; case AWSEC2ResourceTypeLocalGatewayRouteTableVpcAssociation: return @"local-gateway-route-table-vpc-association"; case AWSEC2ResourceTypeLocalGatewayRouteTableVirtualInterfaceGroupAssociation: return @"local-gateway-route-table-virtual-interface-group-association"; case AWSEC2ResourceTypeNatgateway: return @"natgateway"; case AWSEC2ResourceTypeNetworkACL: return @"network-acl"; case AWSEC2ResourceTypeNetworkInterface: return @"network-interface"; case AWSEC2ResourceTypeNetworkInsightsAnalysis: return @"network-insights-analysis"; case AWSEC2ResourceTypeNetworkInsightsPath: return @"network-insights-path"; case AWSEC2ResourceTypeNetworkInsightsAccessScope: return @"network-insights-access-scope"; case AWSEC2ResourceTypeNetworkInsightsAccessScopeAnalysis: return @"network-insights-access-scope-analysis"; case AWSEC2ResourceTypePlacementGroup: return @"placement-group"; case AWSEC2ResourceTypePrefixList: return @"prefix-list"; case AWSEC2ResourceTypeReplaceRootVolumeTask: return @"replace-root-volume-task"; case AWSEC2ResourceTypeReservedInstances: return @"reserved-instances"; case AWSEC2ResourceTypeRouteTable: return @"route-table"; case AWSEC2ResourceTypeSecurityGroup: return @"security-group"; case AWSEC2ResourceTypeSecurityGroupRule: return @"security-group-rule"; case AWSEC2ResourceTypeSnapshot: return @"snapshot"; case AWSEC2ResourceTypeSpotFleetRequest: return @"spot-fleet-request"; case AWSEC2ResourceTypeSpotInstancesRequest: return @"spot-instances-request"; case AWSEC2ResourceTypeSubnet: return @"subnet"; case AWSEC2ResourceTypeSubnetCidrReservation: return @"subnet-cidr-reservation"; case AWSEC2ResourceTypeTrafficMirrorFilter: return @"traffic-mirror-filter"; case AWSEC2ResourceTypeTrafficMirrorSession: return @"traffic-mirror-session"; case AWSEC2ResourceTypeTrafficMirrorTarget: return @"traffic-mirror-target"; case AWSEC2ResourceTypeTransitGateway: return @"transit-gateway"; case AWSEC2ResourceTypeTransitGatewayAttachment: return @"transit-gateway-attachment"; case AWSEC2ResourceTypeTransitGatewayConnectPeer: return @"transit-gateway-connect-peer"; case AWSEC2ResourceTypeTransitGatewayMulticastDomain: return @"transit-gateway-multicast-domain"; case AWSEC2ResourceTypeTransitGatewayPolicyTable: return @"transit-gateway-policy-table"; case AWSEC2ResourceTypeTransitGatewayRouteTable: return @"transit-gateway-route-table"; case AWSEC2ResourceTypeTransitGatewayRouteTableAnnouncement: return @"transit-gateway-route-table-announcement"; case AWSEC2ResourceTypeVolume: return @"volume"; case AWSEC2ResourceTypeVPC: return @"vpc"; case AWSEC2ResourceTypeVpcEndpoint: return @"vpc-endpoint"; case AWSEC2ResourceTypeVpcEndpointConnection: return @"vpc-endpoint-connection"; case AWSEC2ResourceTypeVpcEndpointService: return @"vpc-endpoint-service"; case AWSEC2ResourceTypeVpcEndpointServicePermission: return @"vpc-endpoint-service-permission"; case AWSEC2ResourceTypeVpcPeeringConnection: return @"vpc-peering-connection"; case AWSEC2ResourceTypeVpnConnection: return @"vpn-connection"; case AWSEC2ResourceTypeVpnGateway: return @"vpn-gateway"; case AWSEC2ResourceTypeVpcFlowLog: return @"vpc-flow-log"; case AWSEC2ResourceTypeCapacityReservationFleet: return @"capacity-reservation-fleet"; case AWSEC2ResourceTypeTrafficMirrorFilterRule: return @"traffic-mirror-filter-rule"; case AWSEC2ResourceTypeVpcEndpointConnectionDeviceType: return @"vpc-endpoint-connection-device-type"; case AWSEC2ResourceTypeVerifiedAccessInstance: return @"verified-access-instance"; case AWSEC2ResourceTypeVerifiedAccessGroup: return @"verified-access-group"; case AWSEC2ResourceTypeVerifiedAccessEndpoint: return @"verified-access-endpoint"; case AWSEC2ResourceTypeVerifiedAccessPolicy: return @"verified-access-policy"; case AWSEC2ResourceTypeVerifiedAccessTrustProvider: return @"verified-access-trust-provider"; case AWSEC2ResourceTypeVpnConnectionDeviceType: return @"vpn-connection-device-type"; case AWSEC2ResourceTypeVpcBlockPublicAccessExclusion: return @"vpc-block-public-access-exclusion"; case AWSEC2ResourceTypeIpamResourceDiscovery: return @"ipam-resource-discovery"; case AWSEC2ResourceTypeIpamResourceDiscoveryAssociation: return @"ipam-resource-discovery-association"; case AWSEC2ResourceTypeInstanceConnectEndpoint: return @"instance-connect-endpoint"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2TargetCapacitySpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"defaultTargetCapacityType" : @"DefaultTargetCapacityType", @"onDemandTargetCapacity" : @"OnDemandTargetCapacity", @"spotTargetCapacity" : @"SpotTargetCapacity", @"targetCapacityUnitType" : @"TargetCapacityUnitType", @"totalTargetCapacity" : @"TotalTargetCapacity", }; } + (NSValueTransformer *)defaultTargetCapacityTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"spot"] == NSOrderedSame) { return @(AWSEC2DefaultTargetCapacityTypeSpot); } if ([value caseInsensitiveCompare:@"on-demand"] == NSOrderedSame) { return @(AWSEC2DefaultTargetCapacityTypeOnDemand); } return @(AWSEC2DefaultTargetCapacityTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DefaultTargetCapacityTypeSpot: return @"spot"; case AWSEC2DefaultTargetCapacityTypeOnDemand: return @"on-demand"; default: return nil; } }]; } + (NSValueTransformer *)targetCapacityUnitTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vcpu"] == NSOrderedSame) { return @(AWSEC2TargetCapacityUnitTypeVcpu); } if ([value caseInsensitiveCompare:@"memory-mib"] == NSOrderedSame) { return @(AWSEC2TargetCapacityUnitTypeMemoryMib); } if ([value caseInsensitiveCompare:@"units"] == NSOrderedSame) { return @(AWSEC2TargetCapacityUnitTypeUnits); } return @(AWSEC2TargetCapacityUnitTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TargetCapacityUnitTypeVcpu: return @"vcpu"; case AWSEC2TargetCapacityUnitTypeMemoryMib: return @"memory-mib"; case AWSEC2TargetCapacityUnitTypeUnits: return @"units"; default: return nil; } }]; } @end @implementation AWSEC2TargetCapacitySpecificationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"defaultTargetCapacityType" : @"DefaultTargetCapacityType", @"onDemandTargetCapacity" : @"OnDemandTargetCapacity", @"spotTargetCapacity" : @"SpotTargetCapacity", @"targetCapacityUnitType" : @"TargetCapacityUnitType", @"totalTargetCapacity" : @"TotalTargetCapacity", }; } + (NSValueTransformer *)defaultTargetCapacityTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"spot"] == NSOrderedSame) { return @(AWSEC2DefaultTargetCapacityTypeSpot); } if ([value caseInsensitiveCompare:@"on-demand"] == NSOrderedSame) { return @(AWSEC2DefaultTargetCapacityTypeOnDemand); } return @(AWSEC2DefaultTargetCapacityTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DefaultTargetCapacityTypeSpot: return @"spot"; case AWSEC2DefaultTargetCapacityTypeOnDemand: return @"on-demand"; default: return nil; } }]; } + (NSValueTransformer *)targetCapacityUnitTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vcpu"] == NSOrderedSame) { return @(AWSEC2TargetCapacityUnitTypeVcpu); } if ([value caseInsensitiveCompare:@"memory-mib"] == NSOrderedSame) { return @(AWSEC2TargetCapacityUnitTypeMemoryMib); } if ([value caseInsensitiveCompare:@"units"] == NSOrderedSame) { return @(AWSEC2TargetCapacityUnitTypeUnits); } return @(AWSEC2TargetCapacityUnitTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TargetCapacityUnitTypeVcpu: return @"vcpu"; case AWSEC2TargetCapacityUnitTypeMemoryMib: return @"memory-mib"; case AWSEC2TargetCapacityUnitTypeUnits: return @"units"; default: return nil; } }]; } @end @implementation AWSEC2TargetConfiguration + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceCount" : @"InstanceCount", @"offeringId" : @"OfferingId", }; } @end @implementation AWSEC2TargetConfigurationRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceCount" : @"InstanceCount", @"offeringId" : @"OfferingId", }; } @end @implementation AWSEC2TargetGroup + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"arn" : @"Arn", }; } @end @implementation AWSEC2TargetGroupsConfig + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"targetGroups" : @"TargetGroups", }; } + (NSValueTransformer *)targetGroupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TargetGroup class]]; } @end @implementation AWSEC2TargetNetwork + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"securityGroups" : @"SecurityGroups", @"status" : @"Status", @"targetNetworkId" : @"TargetNetworkId", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2AssociationStatus class]]; } @end @implementation AWSEC2TargetReservationValue + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"reservationValue" : @"ReservationValue", @"targetConfiguration" : @"TargetConfiguration", }; } + (NSValueTransformer *)reservationValueJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ReservationValue class]]; } + (NSValueTransformer *)targetConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TargetConfiguration class]]; } @end @implementation AWSEC2TerminateClientVpnConnectionsRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"connectionId" : @"ConnectionId", @"dryRun" : @"DryRun", @"username" : @"Username", }; } @end @implementation AWSEC2TerminateClientVpnConnectionsResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"clientVpnEndpointId" : @"ClientVpnEndpointId", @"connectionStatuses" : @"ConnectionStatuses", @"username" : @"Username", }; } + (NSValueTransformer *)connectionStatusesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TerminateConnectionStatus class]]; } @end @implementation AWSEC2TerminateConnectionStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"connectionId" : @"ConnectionId", @"currentStatus" : @"CurrentStatus", @"previousStatus" : @"PreviousStatus", }; } + (NSValueTransformer *)currentStatusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientVpnConnectionStatus class]]; } + (NSValueTransformer *)previousStatusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ClientVpnConnectionStatus class]]; } @end @implementation AWSEC2TerminateInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceIds" : @"InstanceIds", }; } @end @implementation AWSEC2TerminateInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"terminatingInstances" : @"TerminatingInstances", }; } + (NSValueTransformer *)terminatingInstancesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceStateChange class]]; } @end @implementation AWSEC2ThroughResourcesStatement + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceStatement" : @"ResourceStatement", }; } + (NSValueTransformer *)resourceStatementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ResourceStatement class]]; } @end @implementation AWSEC2ThroughResourcesStatementRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceStatement" : @"ResourceStatement", }; } + (NSValueTransformer *)resourceStatementJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ResourceStatementRequest class]]; } @end @implementation AWSEC2TotalLocalStorageGB + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2TotalLocalStorageGBRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2TrafficMirrorFilter + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"egressFilterRules" : @"EgressFilterRules", @"ingressFilterRules" : @"IngressFilterRules", @"networkServices" : @"NetworkServices", @"tags" : @"Tags", @"trafficMirrorFilterId" : @"TrafficMirrorFilterId", }; } + (NSValueTransformer *)egressFilterRulesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TrafficMirrorFilterRule class]]; } + (NSValueTransformer *)ingressFilterRulesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TrafficMirrorFilterRule class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2TrafficMirrorFilterRule + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"destinationCidrBlock" : @"DestinationCidrBlock", @"destinationPortRange" : @"DestinationPortRange", @"protocols" : @"Protocol", @"ruleAction" : @"RuleAction", @"ruleNumber" : @"RuleNumber", @"sourceCidrBlock" : @"SourceCidrBlock", @"sourcePortRange" : @"SourcePortRange", @"trafficDirection" : @"TrafficDirection", @"trafficMirrorFilterId" : @"TrafficMirrorFilterId", @"trafficMirrorFilterRuleId" : @"TrafficMirrorFilterRuleId", }; } + (NSValueTransformer *)destinationPortRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrafficMirrorPortRange class]]; } + (NSValueTransformer *)ruleActionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"accept"] == NSOrderedSame) { return @(AWSEC2TrafficMirrorRuleActionAccept); } if ([value caseInsensitiveCompare:@"reject"] == NSOrderedSame) { return @(AWSEC2TrafficMirrorRuleActionReject); } return @(AWSEC2TrafficMirrorRuleActionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TrafficMirrorRuleActionAccept: return @"accept"; case AWSEC2TrafficMirrorRuleActionReject: return @"reject"; default: return nil; } }]; } + (NSValueTransformer *)sourcePortRangeJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TrafficMirrorPortRange class]]; } + (NSValueTransformer *)trafficDirectionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ingress"] == NSOrderedSame) { return @(AWSEC2TrafficDirectionIngress); } if ([value caseInsensitiveCompare:@"egress"] == NSOrderedSame) { return @(AWSEC2TrafficDirectionEgress); } return @(AWSEC2TrafficDirectionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TrafficDirectionIngress: return @"ingress"; case AWSEC2TrafficDirectionEgress: return @"egress"; default: return nil; } }]; } @end @implementation AWSEC2TrafficMirrorPortRange + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fromPort" : @"FromPort", @"toPort" : @"ToPort", }; } @end @implementation AWSEC2TrafficMirrorPortRangeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"fromPort" : @"FromPort", @"toPort" : @"ToPort", }; } @end @implementation AWSEC2TrafficMirrorSession + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"networkInterfaceId" : @"NetworkInterfaceId", @"ownerId" : @"OwnerId", @"packetLength" : @"PacketLength", @"sessionNumber" : @"SessionNumber", @"tags" : @"Tags", @"trafficMirrorFilterId" : @"TrafficMirrorFilterId", @"trafficMirrorSessionId" : @"TrafficMirrorSessionId", @"trafficMirrorTargetId" : @"TrafficMirrorTargetId", @"virtualNetworkId" : @"VirtualNetworkId", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2TrafficMirrorTarget + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"gatewayLoadBalancerEndpointId" : @"GatewayLoadBalancerEndpointId", @"networkInterfaceId" : @"NetworkInterfaceId", @"networkLoadBalancerArn" : @"NetworkLoadBalancerArn", @"ownerId" : @"OwnerId", @"tags" : @"Tags", @"trafficMirrorTargetId" : @"TrafficMirrorTargetId", @"types" : @"Type", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"network-interface"] == NSOrderedSame) { return @(AWSEC2TrafficMirrorTargetTypeNetworkInterface); } if ([value caseInsensitiveCompare:@"network-load-balancer"] == NSOrderedSame) { return @(AWSEC2TrafficMirrorTargetTypeNetworkLoadBalancer); } if ([value caseInsensitiveCompare:@"gateway-load-balancer-endpoint"] == NSOrderedSame) { return @(AWSEC2TrafficMirrorTargetTypeGatewayLoadBalancerEndpoint); } return @(AWSEC2TrafficMirrorTargetTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TrafficMirrorTargetTypeNetworkInterface: return @"network-interface"; case AWSEC2TrafficMirrorTargetTypeNetworkLoadBalancer: return @"network-load-balancer"; case AWSEC2TrafficMirrorTargetTypeGatewayLoadBalancerEndpoint: return @"gateway-load-balancer-endpoint"; default: return nil; } }]; } @end @implementation AWSEC2TransitGateway + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"creationTime" : @"CreationTime", @"detail" : @"Description", @"options" : @"Options", @"ownerId" : @"OwnerId", @"state" : @"State", @"tags" : @"Tags", @"transitGatewayArn" : @"TransitGatewayArn", @"transitGatewayId" : @"TransitGatewayId", }; } + (NSValueTransformer *)creationTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)optionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayOptions class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2TransitGatewayStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2TransitGatewayStateAvailable); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2TransitGatewayStateModifying); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2TransitGatewayStateDeleted); } return @(AWSEC2TransitGatewayStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayStatePending: return @"pending"; case AWSEC2TransitGatewayStateAvailable: return @"available"; case AWSEC2TransitGatewayStateModifying: return @"modifying"; case AWSEC2TransitGatewayStateDeleting: return @"deleting"; case AWSEC2TransitGatewayStateDeleted: return @"deleted"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2TransitGatewayAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceId" : @"ResourceId", @"resourceType" : @"ResourceType", @"state" : @"State", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpn"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVpn); } if ([value caseInsensitiveCompare:@"direct-connect-gateway"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway); } if ([value caseInsensitiveCompare:@"connect"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeConnect); } if ([value caseInsensitiveCompare:@"peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypePeering); } if ([value caseInsensitiveCompare:@"tgw-peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering); } return @(AWSEC2TransitGatewayAttachmentResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAttachmentResourceTypeVPC: return @"vpc"; case AWSEC2TransitGatewayAttachmentResourceTypeVpn: return @"vpn"; case AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway: return @"direct-connect-gateway"; case AWSEC2TransitGatewayAttachmentResourceTypeConnect: return @"connect"; case AWSEC2TransitGatewayAttachmentResourceTypePeering: return @"peering"; case AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering: return @"tgw-peering"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"associating"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateAssociating); } if ([value caseInsensitiveCompare:@"associated"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateAssociated); } if ([value caseInsensitiveCompare:@"disassociating"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateDisassociating); } if ([value caseInsensitiveCompare:@"disassociated"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateDisassociated); } return @(AWSEC2TransitGatewayAssociationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAssociationStateAssociating: return @"associating"; case AWSEC2TransitGatewayAssociationStateAssociated: return @"associated"; case AWSEC2TransitGatewayAssociationStateDisassociating: return @"disassociating"; case AWSEC2TransitGatewayAssociationStateDisassociated: return @"disassociated"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayAttachment + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"association" : @"Association", @"creationTime" : @"CreationTime", @"resourceId" : @"ResourceId", @"resourceOwnerId" : @"ResourceOwnerId", @"resourceType" : @"ResourceType", @"state" : @"State", @"tags" : @"Tags", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayId" : @"TransitGatewayId", @"transitGatewayOwnerId" : @"TransitGatewayOwnerId", }; } + (NSValueTransformer *)associationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayAttachmentAssociation class]]; } + (NSValueTransformer *)creationTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpn"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVpn); } if ([value caseInsensitiveCompare:@"direct-connect-gateway"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway); } if ([value caseInsensitiveCompare:@"connect"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeConnect); } if ([value caseInsensitiveCompare:@"peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypePeering); } if ([value caseInsensitiveCompare:@"tgw-peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering); } return @(AWSEC2TransitGatewayAttachmentResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAttachmentResourceTypeVPC: return @"vpc"; case AWSEC2TransitGatewayAttachmentResourceTypeVpn: return @"vpn"; case AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway: return @"direct-connect-gateway"; case AWSEC2TransitGatewayAttachmentResourceTypeConnect: return @"connect"; case AWSEC2TransitGatewayAttachmentResourceTypePeering: return @"peering"; case AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering: return @"tgw-peering"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"initiating"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateInitiating); } if ([value caseInsensitiveCompare:@"initiatingRequest"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateInitiatingRequest); } if ([value caseInsensitiveCompare:@"pendingAcceptance"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStatePendingAcceptance); } if ([value caseInsensitiveCompare:@"rollingBack"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateRollingBack); } if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateAvailable); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateModifying); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateDeleted); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateFailed); } if ([value caseInsensitiveCompare:@"rejected"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateRejected); } if ([value caseInsensitiveCompare:@"rejecting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateRejecting); } if ([value caseInsensitiveCompare:@"failing"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateFailing); } return @(AWSEC2TransitGatewayAttachmentStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAttachmentStateInitiating: return @"initiating"; case AWSEC2TransitGatewayAttachmentStateInitiatingRequest: return @"initiatingRequest"; case AWSEC2TransitGatewayAttachmentStatePendingAcceptance: return @"pendingAcceptance"; case AWSEC2TransitGatewayAttachmentStateRollingBack: return @"rollingBack"; case AWSEC2TransitGatewayAttachmentStatePending: return @"pending"; case AWSEC2TransitGatewayAttachmentStateAvailable: return @"available"; case AWSEC2TransitGatewayAttachmentStateModifying: return @"modifying"; case AWSEC2TransitGatewayAttachmentStateDeleting: return @"deleting"; case AWSEC2TransitGatewayAttachmentStateDeleted: return @"deleted"; case AWSEC2TransitGatewayAttachmentStateFailed: return @"failed"; case AWSEC2TransitGatewayAttachmentStateRejected: return @"rejected"; case AWSEC2TransitGatewayAttachmentStateRejecting: return @"rejecting"; case AWSEC2TransitGatewayAttachmentStateFailing: return @"failing"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2TransitGatewayAttachmentAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"state" : @"State", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"associating"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateAssociating); } if ([value caseInsensitiveCompare:@"associated"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateAssociated); } if ([value caseInsensitiveCompare:@"disassociating"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateDisassociating); } if ([value caseInsensitiveCompare:@"disassociated"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateDisassociated); } return @(AWSEC2TransitGatewayAssociationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAssociationStateAssociating: return @"associating"; case AWSEC2TransitGatewayAssociationStateAssociated: return @"associated"; case AWSEC2TransitGatewayAssociationStateDisassociating: return @"disassociating"; case AWSEC2TransitGatewayAssociationStateDisassociated: return @"disassociated"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayAttachmentBgpConfiguration + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bgpStatus" : @"BgpStatus", @"peerAddress" : @"PeerAddress", @"peerAsn" : @"PeerAsn", @"transitGatewayAddress" : @"TransitGatewayAddress", @"transitGatewayAsn" : @"TransitGatewayAsn", }; } + (NSValueTransformer *)bgpStatusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"up"] == NSOrderedSame) { return @(AWSEC2BgpStatusUp); } if ([value caseInsensitiveCompare:@"down"] == NSOrderedSame) { return @(AWSEC2BgpStatusDown); } return @(AWSEC2BgpStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2BgpStatusUp: return @"up"; case AWSEC2BgpStatusDown: return @"down"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayAttachmentPropagation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"state" : @"State", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enabling"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPropagationStateEnabling); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPropagationStateEnabled); } if ([value caseInsensitiveCompare:@"disabling"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPropagationStateDisabling); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPropagationStateDisabled); } return @(AWSEC2TransitGatewayPropagationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayPropagationStateEnabling: return @"enabling"; case AWSEC2TransitGatewayPropagationStateEnabled: return @"enabled"; case AWSEC2TransitGatewayPropagationStateDisabling: return @"disabling"; case AWSEC2TransitGatewayPropagationStateDisabled: return @"disabled"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayConnect + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"creationTime" : @"CreationTime", @"options" : @"Options", @"state" : @"State", @"tags" : @"Tags", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayId" : @"TransitGatewayId", @"transportTransitGatewayAttachmentId" : @"TransportTransitGatewayAttachmentId", }; } + (NSValueTransformer *)creationTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)optionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayConnectOptions class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"initiating"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateInitiating); } if ([value caseInsensitiveCompare:@"initiatingRequest"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateInitiatingRequest); } if ([value caseInsensitiveCompare:@"pendingAcceptance"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStatePendingAcceptance); } if ([value caseInsensitiveCompare:@"rollingBack"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateRollingBack); } if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateAvailable); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateModifying); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateDeleted); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateFailed); } if ([value caseInsensitiveCompare:@"rejected"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateRejected); } if ([value caseInsensitiveCompare:@"rejecting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateRejecting); } if ([value caseInsensitiveCompare:@"failing"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateFailing); } return @(AWSEC2TransitGatewayAttachmentStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAttachmentStateInitiating: return @"initiating"; case AWSEC2TransitGatewayAttachmentStateInitiatingRequest: return @"initiatingRequest"; case AWSEC2TransitGatewayAttachmentStatePendingAcceptance: return @"pendingAcceptance"; case AWSEC2TransitGatewayAttachmentStateRollingBack: return @"rollingBack"; case AWSEC2TransitGatewayAttachmentStatePending: return @"pending"; case AWSEC2TransitGatewayAttachmentStateAvailable: return @"available"; case AWSEC2TransitGatewayAttachmentStateModifying: return @"modifying"; case AWSEC2TransitGatewayAttachmentStateDeleting: return @"deleting"; case AWSEC2TransitGatewayAttachmentStateDeleted: return @"deleted"; case AWSEC2TransitGatewayAttachmentStateFailed: return @"failed"; case AWSEC2TransitGatewayAttachmentStateRejected: return @"rejected"; case AWSEC2TransitGatewayAttachmentStateRejecting: return @"rejecting"; case AWSEC2TransitGatewayAttachmentStateFailing: return @"failing"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2TransitGatewayConnectOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"protocols" : @"Protocol", }; } + (NSValueTransformer *)protocolsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"gre"] == NSOrderedSame) { return @(AWSEC2ProtocolValueGre); } return @(AWSEC2ProtocolValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ProtocolValueGre: return @"gre"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayConnectPeer + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"connectPeerConfiguration" : @"ConnectPeerConfiguration", @"creationTime" : @"CreationTime", @"state" : @"State", @"tags" : @"Tags", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayConnectPeerId" : @"TransitGatewayConnectPeerId", }; } + (NSValueTransformer *)connectPeerConfigurationJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayConnectPeerConfiguration class]]; } + (NSValueTransformer *)creationTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2TransitGatewayConnectPeerStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2TransitGatewayConnectPeerStateAvailable); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayConnectPeerStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2TransitGatewayConnectPeerStateDeleted); } return @(AWSEC2TransitGatewayConnectPeerStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayConnectPeerStatePending: return @"pending"; case AWSEC2TransitGatewayConnectPeerStateAvailable: return @"available"; case AWSEC2TransitGatewayConnectPeerStateDeleting: return @"deleting"; case AWSEC2TransitGatewayConnectPeerStateDeleted: return @"deleted"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2TransitGatewayConnectPeerConfiguration + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bgpConfigurations" : @"BgpConfigurations", @"insideCidrBlocks" : @"InsideCidrBlocks", @"peerAddress" : @"PeerAddress", @"protocols" : @"Protocol", @"transitGatewayAddress" : @"TransitGatewayAddress", }; } + (NSValueTransformer *)bgpConfigurationsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayAttachmentBgpConfiguration class]]; } + (NSValueTransformer *)protocolsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"gre"] == NSOrderedSame) { return @(AWSEC2ProtocolValueGre); } return @(AWSEC2ProtocolValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ProtocolValueGre: return @"gre"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayConnectRequestBgpOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"peerAsn" : @"PeerAsn", }; } @end @implementation AWSEC2TransitGatewayMulticastDeregisteredGroupMembers + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deregisteredNetworkInterfaceIds" : @"DeregisteredNetworkInterfaceIds", @"groupIpAddress" : @"GroupIpAddress", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } @end @implementation AWSEC2TransitGatewayMulticastDeregisteredGroupSources + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deregisteredNetworkInterfaceIds" : @"DeregisteredNetworkInterfaceIds", @"groupIpAddress" : @"GroupIpAddress", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } @end @implementation AWSEC2TransitGatewayMulticastDomain + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"creationTime" : @"CreationTime", @"options" : @"Options", @"ownerId" : @"OwnerId", @"state" : @"State", @"tags" : @"Tags", @"transitGatewayId" : @"TransitGatewayId", @"transitGatewayMulticastDomainArn" : @"TransitGatewayMulticastDomainArn", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } + (NSValueTransformer *)creationTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)optionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayMulticastDomainOptions class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2TransitGatewayMulticastDomainStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2TransitGatewayMulticastDomainStateAvailable); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayMulticastDomainStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2TransitGatewayMulticastDomainStateDeleted); } return @(AWSEC2TransitGatewayMulticastDomainStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayMulticastDomainStatePending: return @"pending"; case AWSEC2TransitGatewayMulticastDomainStateAvailable: return @"available"; case AWSEC2TransitGatewayMulticastDomainStateDeleting: return @"deleting"; case AWSEC2TransitGatewayMulticastDomainStateDeleted: return @"deleted"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2TransitGatewayMulticastDomainAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceId" : @"ResourceId", @"resourceOwnerId" : @"ResourceOwnerId", @"resourceType" : @"ResourceType", @"subnet" : @"Subnet", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpn"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVpn); } if ([value caseInsensitiveCompare:@"direct-connect-gateway"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway); } if ([value caseInsensitiveCompare:@"connect"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeConnect); } if ([value caseInsensitiveCompare:@"peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypePeering); } if ([value caseInsensitiveCompare:@"tgw-peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering); } return @(AWSEC2TransitGatewayAttachmentResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAttachmentResourceTypeVPC: return @"vpc"; case AWSEC2TransitGatewayAttachmentResourceTypeVpn: return @"vpn"; case AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway: return @"direct-connect-gateway"; case AWSEC2TransitGatewayAttachmentResourceTypeConnect: return @"connect"; case AWSEC2TransitGatewayAttachmentResourceTypePeering: return @"peering"; case AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering: return @"tgw-peering"; default: return nil; } }]; } + (NSValueTransformer *)subnetJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2SubnetAssociation class]]; } @end @implementation AWSEC2TransitGatewayMulticastDomainAssociations + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceId" : @"ResourceId", @"resourceOwnerId" : @"ResourceOwnerId", @"resourceType" : @"ResourceType", @"subnets" : @"Subnets", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpn"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVpn); } if ([value caseInsensitiveCompare:@"direct-connect-gateway"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway); } if ([value caseInsensitiveCompare:@"connect"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeConnect); } if ([value caseInsensitiveCompare:@"peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypePeering); } if ([value caseInsensitiveCompare:@"tgw-peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering); } return @(AWSEC2TransitGatewayAttachmentResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAttachmentResourceTypeVPC: return @"vpc"; case AWSEC2TransitGatewayAttachmentResourceTypeVpn: return @"vpn"; case AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway: return @"direct-connect-gateway"; case AWSEC2TransitGatewayAttachmentResourceTypeConnect: return @"connect"; case AWSEC2TransitGatewayAttachmentResourceTypePeering: return @"peering"; case AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering: return @"tgw-peering"; default: return nil; } }]; } + (NSValueTransformer *)subnetsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SubnetAssociation class]]; } @end @implementation AWSEC2TransitGatewayMulticastDomainOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"autoAcceptSharedAssociations" : @"AutoAcceptSharedAssociations", @"igmpv2Support" : @"Igmpv2Support", @"staticSourcesSupport" : @"StaticSourcesSupport", }; } + (NSValueTransformer *)autoAcceptSharedAssociationsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2AutoAcceptSharedAssociationsValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2AutoAcceptSharedAssociationsValueDisable); } return @(AWSEC2AutoAcceptSharedAssociationsValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AutoAcceptSharedAssociationsValueEnable: return @"enable"; case AWSEC2AutoAcceptSharedAssociationsValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)igmpv2SupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2Igmpv2SupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2Igmpv2SupportValueDisable); } return @(AWSEC2Igmpv2SupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2Igmpv2SupportValueEnable: return @"enable"; case AWSEC2Igmpv2SupportValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)staticSourcesSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2StaticSourcesSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2StaticSourcesSupportValueDisable); } return @(AWSEC2StaticSourcesSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2StaticSourcesSupportValueEnable: return @"enable"; case AWSEC2StaticSourcesSupportValueDisable: return @"disable"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayMulticastGroup + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"groupIpAddress" : @"GroupIpAddress", @"groupMember" : @"GroupMember", @"groupSource" : @"GroupSource", @"memberType" : @"MemberType", @"networkInterfaceId" : @"NetworkInterfaceId", @"resourceId" : @"ResourceId", @"resourceOwnerId" : @"ResourceOwnerId", @"resourceType" : @"ResourceType", @"sourceType" : @"SourceType", @"subnetId" : @"SubnetId", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } + (NSValueTransformer *)memberTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"static"] == NSOrderedSame) { return @(AWSEC2MembershipTypeStatic); } if ([value caseInsensitiveCompare:@"igmp"] == NSOrderedSame) { return @(AWSEC2MembershipTypeIgmp); } return @(AWSEC2MembershipTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MembershipTypeStatic: return @"static"; case AWSEC2MembershipTypeIgmp: return @"igmp"; default: return nil; } }]; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpn"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVpn); } if ([value caseInsensitiveCompare:@"direct-connect-gateway"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway); } if ([value caseInsensitiveCompare:@"connect"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeConnect); } if ([value caseInsensitiveCompare:@"peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypePeering); } if ([value caseInsensitiveCompare:@"tgw-peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering); } return @(AWSEC2TransitGatewayAttachmentResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAttachmentResourceTypeVPC: return @"vpc"; case AWSEC2TransitGatewayAttachmentResourceTypeVpn: return @"vpn"; case AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway: return @"direct-connect-gateway"; case AWSEC2TransitGatewayAttachmentResourceTypeConnect: return @"connect"; case AWSEC2TransitGatewayAttachmentResourceTypePeering: return @"peering"; case AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering: return @"tgw-peering"; default: return nil; } }]; } + (NSValueTransformer *)sourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"static"] == NSOrderedSame) { return @(AWSEC2MembershipTypeStatic); } if ([value caseInsensitiveCompare:@"igmp"] == NSOrderedSame) { return @(AWSEC2MembershipTypeIgmp); } return @(AWSEC2MembershipTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MembershipTypeStatic: return @"static"; case AWSEC2MembershipTypeIgmp: return @"igmp"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayMulticastRegisteredGroupMembers + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"groupIpAddress" : @"GroupIpAddress", @"registeredNetworkInterfaceIds" : @"RegisteredNetworkInterfaceIds", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } @end @implementation AWSEC2TransitGatewayMulticastRegisteredGroupSources + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"groupIpAddress" : @"GroupIpAddress", @"registeredNetworkInterfaceIds" : @"RegisteredNetworkInterfaceIds", @"transitGatewayMulticastDomainId" : @"TransitGatewayMulticastDomainId", }; } @end @implementation AWSEC2TransitGatewayOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"amazonSideAsn" : @"AmazonSideAsn", @"associationDefaultRouteTableId" : @"AssociationDefaultRouteTableId", @"autoAcceptSharedAttachments" : @"AutoAcceptSharedAttachments", @"defaultRouteTableAssociation" : @"DefaultRouteTableAssociation", @"defaultRouteTablePropagation" : @"DefaultRouteTablePropagation", @"dnsSupport" : @"DnsSupport", @"multicastSupport" : @"MulticastSupport", @"propagationDefaultRouteTableId" : @"PropagationDefaultRouteTableId", @"transitGatewayCidrBlocks" : @"TransitGatewayCidrBlocks", @"vpnEcmpSupport" : @"VpnEcmpSupport", }; } + (NSValueTransformer *)autoAcceptSharedAttachmentsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2AutoAcceptSharedAttachmentsValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2AutoAcceptSharedAttachmentsValueDisable); } return @(AWSEC2AutoAcceptSharedAttachmentsValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AutoAcceptSharedAttachmentsValueEnable: return @"enable"; case AWSEC2AutoAcceptSharedAttachmentsValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)defaultRouteTableAssociationJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2DefaultRouteTableAssociationValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2DefaultRouteTableAssociationValueDisable); } return @(AWSEC2DefaultRouteTableAssociationValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DefaultRouteTableAssociationValueEnable: return @"enable"; case AWSEC2DefaultRouteTableAssociationValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)defaultRouteTablePropagationJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2DefaultRouteTablePropagationValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2DefaultRouteTablePropagationValueDisable); } return @(AWSEC2DefaultRouteTablePropagationValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DefaultRouteTablePropagationValueEnable: return @"enable"; case AWSEC2DefaultRouteTablePropagationValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)dnsSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2DnsSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2DnsSupportValueDisable); } return @(AWSEC2DnsSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DnsSupportValueEnable: return @"enable"; case AWSEC2DnsSupportValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)multicastSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2MulticastSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2MulticastSupportValueDisable); } return @(AWSEC2MulticastSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MulticastSupportValueEnable: return @"enable"; case AWSEC2MulticastSupportValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)vpnEcmpSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2VpnEcmpSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2VpnEcmpSupportValueDisable); } return @(AWSEC2VpnEcmpSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VpnEcmpSupportValueEnable: return @"enable"; case AWSEC2VpnEcmpSupportValueDisable: return @"disable"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayPeeringAttachment + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"accepterTgwInfo" : @"AccepterTgwInfo", @"accepterTransitGatewayAttachmentId" : @"AccepterTransitGatewayAttachmentId", @"creationTime" : @"CreationTime", @"options" : @"Options", @"requesterTgwInfo" : @"RequesterTgwInfo", @"state" : @"State", @"status" : @"Status", @"tags" : @"Tags", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } + (NSValueTransformer *)accepterTgwInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PeeringTgwInfo class]]; } + (NSValueTransformer *)creationTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)optionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPeeringAttachmentOptions class]]; } + (NSValueTransformer *)requesterTgwInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PeeringTgwInfo class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"initiating"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateInitiating); } if ([value caseInsensitiveCompare:@"initiatingRequest"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateInitiatingRequest); } if ([value caseInsensitiveCompare:@"pendingAcceptance"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStatePendingAcceptance); } if ([value caseInsensitiveCompare:@"rollingBack"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateRollingBack); } if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateAvailable); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateModifying); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateDeleted); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateFailed); } if ([value caseInsensitiveCompare:@"rejected"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateRejected); } if ([value caseInsensitiveCompare:@"rejecting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateRejecting); } if ([value caseInsensitiveCompare:@"failing"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateFailing); } return @(AWSEC2TransitGatewayAttachmentStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAttachmentStateInitiating: return @"initiating"; case AWSEC2TransitGatewayAttachmentStateInitiatingRequest: return @"initiatingRequest"; case AWSEC2TransitGatewayAttachmentStatePendingAcceptance: return @"pendingAcceptance"; case AWSEC2TransitGatewayAttachmentStateRollingBack: return @"rollingBack"; case AWSEC2TransitGatewayAttachmentStatePending: return @"pending"; case AWSEC2TransitGatewayAttachmentStateAvailable: return @"available"; case AWSEC2TransitGatewayAttachmentStateModifying: return @"modifying"; case AWSEC2TransitGatewayAttachmentStateDeleting: return @"deleting"; case AWSEC2TransitGatewayAttachmentStateDeleted: return @"deleted"; case AWSEC2TransitGatewayAttachmentStateFailed: return @"failed"; case AWSEC2TransitGatewayAttachmentStateRejected: return @"rejected"; case AWSEC2TransitGatewayAttachmentStateRejecting: return @"rejecting"; case AWSEC2TransitGatewayAttachmentStateFailing: return @"failing"; default: return nil; } }]; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2PeeringAttachmentStatus class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2TransitGatewayPeeringAttachmentOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dynamicRouting" : @"DynamicRouting", }; } + (NSValueTransformer *)dynamicRoutingJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2DynamicRoutingValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2DynamicRoutingValueDisable); } return @(AWSEC2DynamicRoutingValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DynamicRoutingValueEnable: return @"enable"; case AWSEC2DynamicRoutingValueDisable: return @"disable"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayPolicyRule + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationCidrBlock" : @"DestinationCidrBlock", @"destinationPortRange" : @"DestinationPortRange", @"metaData" : @"MetaData", @"protocols" : @"Protocol", @"sourceCidrBlock" : @"SourceCidrBlock", @"sourcePortRange" : @"SourcePortRange", }; } + (NSValueTransformer *)metaDataJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPolicyRuleMetaData class]]; } @end @implementation AWSEC2TransitGatewayPolicyRuleMetaData + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"metaDataKey" : @"MetaDataKey", @"metaDataValue" : @"MetaDataValue", }; } @end @implementation AWSEC2TransitGatewayPolicyTable + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"creationTime" : @"CreationTime", @"state" : @"State", @"tags" : @"Tags", @"transitGatewayId" : @"TransitGatewayId", @"transitGatewayPolicyTableId" : @"TransitGatewayPolicyTableId", }; } + (NSValueTransformer *)creationTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPolicyTableStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPolicyTableStateAvailable); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPolicyTableStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPolicyTableStateDeleted); } return @(AWSEC2TransitGatewayPolicyTableStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayPolicyTableStatePending: return @"pending"; case AWSEC2TransitGatewayPolicyTableStateAvailable: return @"available"; case AWSEC2TransitGatewayPolicyTableStateDeleting: return @"deleting"; case AWSEC2TransitGatewayPolicyTableStateDeleted: return @"deleted"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2TransitGatewayPolicyTableAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceId" : @"ResourceId", @"resourceType" : @"ResourceType", @"state" : @"State", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayPolicyTableId" : @"TransitGatewayPolicyTableId", }; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpn"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVpn); } if ([value caseInsensitiveCompare:@"direct-connect-gateway"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway); } if ([value caseInsensitiveCompare:@"connect"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeConnect); } if ([value caseInsensitiveCompare:@"peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypePeering); } if ([value caseInsensitiveCompare:@"tgw-peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering); } return @(AWSEC2TransitGatewayAttachmentResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAttachmentResourceTypeVPC: return @"vpc"; case AWSEC2TransitGatewayAttachmentResourceTypeVpn: return @"vpn"; case AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway: return @"direct-connect-gateway"; case AWSEC2TransitGatewayAttachmentResourceTypeConnect: return @"connect"; case AWSEC2TransitGatewayAttachmentResourceTypePeering: return @"peering"; case AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering: return @"tgw-peering"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"associating"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateAssociating); } if ([value caseInsensitiveCompare:@"associated"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateAssociated); } if ([value caseInsensitiveCompare:@"disassociating"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateDisassociating); } if ([value caseInsensitiveCompare:@"disassociated"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateDisassociated); } return @(AWSEC2TransitGatewayAssociationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAssociationStateAssociating: return @"associating"; case AWSEC2TransitGatewayAssociationStateAssociated: return @"associated"; case AWSEC2TransitGatewayAssociationStateDisassociating: return @"disassociating"; case AWSEC2TransitGatewayAssociationStateDisassociated: return @"disassociated"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayPolicyTableEntry + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"policyRule" : @"PolicyRule", @"policyRuleNumber" : @"PolicyRuleNumber", @"targetRouteTableId" : @"TargetRouteTableId", }; } + (NSValueTransformer *)policyRuleJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPolicyRule class]]; } @end @implementation AWSEC2TransitGatewayPrefixListAttachment + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceId" : @"ResourceId", @"resourceType" : @"ResourceType", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpn"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVpn); } if ([value caseInsensitiveCompare:@"direct-connect-gateway"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway); } if ([value caseInsensitiveCompare:@"connect"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeConnect); } if ([value caseInsensitiveCompare:@"peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypePeering); } if ([value caseInsensitiveCompare:@"tgw-peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering); } return @(AWSEC2TransitGatewayAttachmentResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAttachmentResourceTypeVPC: return @"vpc"; case AWSEC2TransitGatewayAttachmentResourceTypeVpn: return @"vpn"; case AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway: return @"direct-connect-gateway"; case AWSEC2TransitGatewayAttachmentResourceTypeConnect: return @"connect"; case AWSEC2TransitGatewayAttachmentResourceTypePeering: return @"peering"; case AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering: return @"tgw-peering"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayPrefixListReference + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"blackhole" : @"Blackhole", @"prefixListId" : @"PrefixListId", @"prefixListOwnerId" : @"PrefixListOwnerId", @"state" : @"State", @"transitGatewayAttachment" : @"TransitGatewayAttachment", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPrefixListReferenceStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPrefixListReferenceStateAvailable); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPrefixListReferenceStateModifying); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPrefixListReferenceStateDeleting); } return @(AWSEC2TransitGatewayPrefixListReferenceStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayPrefixListReferenceStatePending: return @"pending"; case AWSEC2TransitGatewayPrefixListReferenceStateAvailable: return @"available"; case AWSEC2TransitGatewayPrefixListReferenceStateModifying: return @"modifying"; case AWSEC2TransitGatewayPrefixListReferenceStateDeleting: return @"deleting"; default: return nil; } }]; } + (NSValueTransformer *)transitGatewayAttachmentJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayPrefixListAttachment class]]; } @end @implementation AWSEC2TransitGatewayPropagation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceId" : @"ResourceId", @"resourceType" : @"ResourceType", @"state" : @"State", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayRouteTableAnnouncementId" : @"TransitGatewayRouteTableAnnouncementId", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpn"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVpn); } if ([value caseInsensitiveCompare:@"direct-connect-gateway"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway); } if ([value caseInsensitiveCompare:@"connect"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeConnect); } if ([value caseInsensitiveCompare:@"peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypePeering); } if ([value caseInsensitiveCompare:@"tgw-peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering); } return @(AWSEC2TransitGatewayAttachmentResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAttachmentResourceTypeVPC: return @"vpc"; case AWSEC2TransitGatewayAttachmentResourceTypeVpn: return @"vpn"; case AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway: return @"direct-connect-gateway"; case AWSEC2TransitGatewayAttachmentResourceTypeConnect: return @"connect"; case AWSEC2TransitGatewayAttachmentResourceTypePeering: return @"peering"; case AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering: return @"tgw-peering"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enabling"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPropagationStateEnabling); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPropagationStateEnabled); } if ([value caseInsensitiveCompare:@"disabling"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPropagationStateDisabling); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPropagationStateDisabled); } return @(AWSEC2TransitGatewayPropagationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayPropagationStateEnabling: return @"enabling"; case AWSEC2TransitGatewayPropagationStateEnabled: return @"enabled"; case AWSEC2TransitGatewayPropagationStateDisabling: return @"disabling"; case AWSEC2TransitGatewayPropagationStateDisabled: return @"disabled"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayRequestOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"amazonSideAsn" : @"AmazonSideAsn", @"autoAcceptSharedAttachments" : @"AutoAcceptSharedAttachments", @"defaultRouteTableAssociation" : @"DefaultRouteTableAssociation", @"defaultRouteTablePropagation" : @"DefaultRouteTablePropagation", @"dnsSupport" : @"DnsSupport", @"multicastSupport" : @"MulticastSupport", @"transitGatewayCidrBlocks" : @"TransitGatewayCidrBlocks", @"vpnEcmpSupport" : @"VpnEcmpSupport", }; } + (NSValueTransformer *)autoAcceptSharedAttachmentsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2AutoAcceptSharedAttachmentsValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2AutoAcceptSharedAttachmentsValueDisable); } return @(AWSEC2AutoAcceptSharedAttachmentsValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AutoAcceptSharedAttachmentsValueEnable: return @"enable"; case AWSEC2AutoAcceptSharedAttachmentsValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)defaultRouteTableAssociationJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2DefaultRouteTableAssociationValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2DefaultRouteTableAssociationValueDisable); } return @(AWSEC2DefaultRouteTableAssociationValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DefaultRouteTableAssociationValueEnable: return @"enable"; case AWSEC2DefaultRouteTableAssociationValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)defaultRouteTablePropagationJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2DefaultRouteTablePropagationValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2DefaultRouteTablePropagationValueDisable); } return @(AWSEC2DefaultRouteTablePropagationValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DefaultRouteTablePropagationValueEnable: return @"enable"; case AWSEC2DefaultRouteTablePropagationValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)dnsSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2DnsSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2DnsSupportValueDisable); } return @(AWSEC2DnsSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DnsSupportValueEnable: return @"enable"; case AWSEC2DnsSupportValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)multicastSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2MulticastSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2MulticastSupportValueDisable); } return @(AWSEC2MulticastSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2MulticastSupportValueEnable: return @"enable"; case AWSEC2MulticastSupportValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)vpnEcmpSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2VpnEcmpSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2VpnEcmpSupportValueDisable); } return @(AWSEC2VpnEcmpSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VpnEcmpSupportValueEnable: return @"enable"; case AWSEC2VpnEcmpSupportValueDisable: return @"disable"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayRoute + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationCidrBlock" : @"DestinationCidrBlock", @"prefixListId" : @"PrefixListId", @"state" : @"State", @"transitGatewayAttachments" : @"TransitGatewayAttachments", @"transitGatewayRouteTableAnnouncementId" : @"TransitGatewayRouteTableAnnouncementId", @"types" : @"Type", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteStatePending); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteStateActive); } if ([value caseInsensitiveCompare:@"blackhole"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteStateBlackhole); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteStateDeleted); } return @(AWSEC2TransitGatewayRouteStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayRouteStatePending: return @"pending"; case AWSEC2TransitGatewayRouteStateActive: return @"active"; case AWSEC2TransitGatewayRouteStateBlackhole: return @"blackhole"; case AWSEC2TransitGatewayRouteStateDeleting: return @"deleting"; case AWSEC2TransitGatewayRouteStateDeleted: return @"deleted"; default: return nil; } }]; } + (NSValueTransformer *)transitGatewayAttachmentsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TransitGatewayRouteAttachment class]]; } + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"static"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteTypeStatic); } if ([value caseInsensitiveCompare:@"propagated"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteTypePropagated); } return @(AWSEC2TransitGatewayRouteTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayRouteTypeStatic: return @"static"; case AWSEC2TransitGatewayRouteTypePropagated: return @"propagated"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayRouteAttachment + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceId" : @"ResourceId", @"resourceType" : @"ResourceType", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpn"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVpn); } if ([value caseInsensitiveCompare:@"direct-connect-gateway"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway); } if ([value caseInsensitiveCompare:@"connect"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeConnect); } if ([value caseInsensitiveCompare:@"peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypePeering); } if ([value caseInsensitiveCompare:@"tgw-peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering); } return @(AWSEC2TransitGatewayAttachmentResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAttachmentResourceTypeVPC: return @"vpc"; case AWSEC2TransitGatewayAttachmentResourceTypeVpn: return @"vpn"; case AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway: return @"direct-connect-gateway"; case AWSEC2TransitGatewayAttachmentResourceTypeConnect: return @"connect"; case AWSEC2TransitGatewayAttachmentResourceTypePeering: return @"peering"; case AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering: return @"tgw-peering"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayRouteTable + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"creationTime" : @"CreationTime", @"defaultAssociationRouteTable" : @"DefaultAssociationRouteTable", @"defaultPropagationRouteTable" : @"DefaultPropagationRouteTable", @"state" : @"State", @"tags" : @"Tags", @"transitGatewayId" : @"TransitGatewayId", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } + (NSValueTransformer *)creationTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteTableStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteTableStateAvailable); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteTableStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteTableStateDeleted); } return @(AWSEC2TransitGatewayRouteTableStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayRouteTableStatePending: return @"pending"; case AWSEC2TransitGatewayRouteTableStateAvailable: return @"available"; case AWSEC2TransitGatewayRouteTableStateDeleting: return @"deleting"; case AWSEC2TransitGatewayRouteTableStateDeleted: return @"deleted"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2TransitGatewayRouteTableAnnouncement + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"announcementDirection" : @"AnnouncementDirection", @"coreNetworkId" : @"CoreNetworkId", @"creationTime" : @"CreationTime", @"peerCoreNetworkId" : @"PeerCoreNetworkId", @"peerTransitGatewayId" : @"PeerTransitGatewayId", @"peeringAttachmentId" : @"PeeringAttachmentId", @"state" : @"State", @"tags" : @"Tags", @"transitGatewayId" : @"TransitGatewayId", @"transitGatewayRouteTableAnnouncementId" : @"TransitGatewayRouteTableAnnouncementId", @"transitGatewayRouteTableId" : @"TransitGatewayRouteTableId", }; } + (NSValueTransformer *)announcementDirectionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"outgoing"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteTableAnnouncementDirectionOutgoing); } if ([value caseInsensitiveCompare:@"incoming"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteTableAnnouncementDirectionIncoming); } return @(AWSEC2TransitGatewayRouteTableAnnouncementDirectionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayRouteTableAnnouncementDirectionOutgoing: return @"outgoing"; case AWSEC2TransitGatewayRouteTableAnnouncementDirectionIncoming: return @"incoming"; default: return nil; } }]; } + (NSValueTransformer *)creationTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteTableAnnouncementStateAvailable); } if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteTableAnnouncementStatePending); } if ([value caseInsensitiveCompare:@"failing"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteTableAnnouncementStateFailing); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteTableAnnouncementStateFailed); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteTableAnnouncementStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2TransitGatewayRouteTableAnnouncementStateDeleted); } return @(AWSEC2TransitGatewayRouteTableAnnouncementStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayRouteTableAnnouncementStateAvailable: return @"available"; case AWSEC2TransitGatewayRouteTableAnnouncementStatePending: return @"pending"; case AWSEC2TransitGatewayRouteTableAnnouncementStateFailing: return @"failing"; case AWSEC2TransitGatewayRouteTableAnnouncementStateFailed: return @"failed"; case AWSEC2TransitGatewayRouteTableAnnouncementStateDeleting: return @"deleting"; case AWSEC2TransitGatewayRouteTableAnnouncementStateDeleted: return @"deleted"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2TransitGatewayRouteTableAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceId" : @"ResourceId", @"resourceType" : @"ResourceType", @"state" : @"State", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", }; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpn"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVpn); } if ([value caseInsensitiveCompare:@"direct-connect-gateway"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway); } if ([value caseInsensitiveCompare:@"connect"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeConnect); } if ([value caseInsensitiveCompare:@"peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypePeering); } if ([value caseInsensitiveCompare:@"tgw-peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering); } return @(AWSEC2TransitGatewayAttachmentResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAttachmentResourceTypeVPC: return @"vpc"; case AWSEC2TransitGatewayAttachmentResourceTypeVpn: return @"vpn"; case AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway: return @"direct-connect-gateway"; case AWSEC2TransitGatewayAttachmentResourceTypeConnect: return @"connect"; case AWSEC2TransitGatewayAttachmentResourceTypePeering: return @"peering"; case AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering: return @"tgw-peering"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"associating"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateAssociating); } if ([value caseInsensitiveCompare:@"associated"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateAssociated); } if ([value caseInsensitiveCompare:@"disassociating"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateDisassociating); } if ([value caseInsensitiveCompare:@"disassociated"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAssociationStateDisassociated); } return @(AWSEC2TransitGatewayAssociationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAssociationStateAssociating: return @"associating"; case AWSEC2TransitGatewayAssociationStateAssociated: return @"associated"; case AWSEC2TransitGatewayAssociationStateDisassociating: return @"disassociating"; case AWSEC2TransitGatewayAssociationStateDisassociated: return @"disassociated"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayRouteTablePropagation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"resourceId" : @"ResourceId", @"resourceType" : @"ResourceType", @"state" : @"State", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayRouteTableAnnouncementId" : @"TransitGatewayRouteTableAnnouncementId", }; } + (NSValueTransformer *)resourceTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVPC); } if ([value caseInsensitiveCompare:@"vpn"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeVpn); } if ([value caseInsensitiveCompare:@"direct-connect-gateway"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway); } if ([value caseInsensitiveCompare:@"connect"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeConnect); } if ([value caseInsensitiveCompare:@"peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypePeering); } if ([value caseInsensitiveCompare:@"tgw-peering"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering); } return @(AWSEC2TransitGatewayAttachmentResourceTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAttachmentResourceTypeVPC: return @"vpc"; case AWSEC2TransitGatewayAttachmentResourceTypeVpn: return @"vpn"; case AWSEC2TransitGatewayAttachmentResourceTypeDirectConnectGateway: return @"direct-connect-gateway"; case AWSEC2TransitGatewayAttachmentResourceTypeConnect: return @"connect"; case AWSEC2TransitGatewayAttachmentResourceTypePeering: return @"peering"; case AWSEC2TransitGatewayAttachmentResourceTypeTgwPeering: return @"tgw-peering"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enabling"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPropagationStateEnabling); } if ([value caseInsensitiveCompare:@"enabled"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPropagationStateEnabled); } if ([value caseInsensitiveCompare:@"disabling"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPropagationStateDisabling); } if ([value caseInsensitiveCompare:@"disabled"] == NSOrderedSame) { return @(AWSEC2TransitGatewayPropagationStateDisabled); } return @(AWSEC2TransitGatewayPropagationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayPropagationStateEnabling: return @"enabling"; case AWSEC2TransitGatewayPropagationStateEnabled: return @"enabled"; case AWSEC2TransitGatewayPropagationStateDisabling: return @"disabling"; case AWSEC2TransitGatewayPropagationStateDisabled: return @"disabled"; default: return nil; } }]; } @end @implementation AWSEC2TransitGatewayRouteTableRoute + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attachmentId" : @"AttachmentId", @"destinationCidr" : @"DestinationCidr", @"prefixListId" : @"PrefixListId", @"resourceId" : @"ResourceId", @"resourceType" : @"ResourceType", @"routeOrigin" : @"RouteOrigin", @"state" : @"State", }; } @end @implementation AWSEC2TransitGatewayVpcAttachment + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"creationTime" : @"CreationTime", @"options" : @"Options", @"state" : @"State", @"subnetIds" : @"SubnetIds", @"tags" : @"Tags", @"transitGatewayAttachmentId" : @"TransitGatewayAttachmentId", @"transitGatewayId" : @"TransitGatewayId", @"vpcId" : @"VpcId", @"vpcOwnerId" : @"VpcOwnerId", }; } + (NSValueTransformer *)creationTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)optionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2TransitGatewayVpcAttachmentOptions class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"initiating"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateInitiating); } if ([value caseInsensitiveCompare:@"initiatingRequest"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateInitiatingRequest); } if ([value caseInsensitiveCompare:@"pendingAcceptance"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStatePendingAcceptance); } if ([value caseInsensitiveCompare:@"rollingBack"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateRollingBack); } if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateAvailable); } if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateModifying); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateDeleted); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateFailed); } if ([value caseInsensitiveCompare:@"rejected"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateRejected); } if ([value caseInsensitiveCompare:@"rejecting"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateRejecting); } if ([value caseInsensitiveCompare:@"failing"] == NSOrderedSame) { return @(AWSEC2TransitGatewayAttachmentStateFailing); } return @(AWSEC2TransitGatewayAttachmentStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TransitGatewayAttachmentStateInitiating: return @"initiating"; case AWSEC2TransitGatewayAttachmentStateInitiatingRequest: return @"initiatingRequest"; case AWSEC2TransitGatewayAttachmentStatePendingAcceptance: return @"pendingAcceptance"; case AWSEC2TransitGatewayAttachmentStateRollingBack: return @"rollingBack"; case AWSEC2TransitGatewayAttachmentStatePending: return @"pending"; case AWSEC2TransitGatewayAttachmentStateAvailable: return @"available"; case AWSEC2TransitGatewayAttachmentStateModifying: return @"modifying"; case AWSEC2TransitGatewayAttachmentStateDeleting: return @"deleting"; case AWSEC2TransitGatewayAttachmentStateDeleted: return @"deleted"; case AWSEC2TransitGatewayAttachmentStateFailed: return @"failed"; case AWSEC2TransitGatewayAttachmentStateRejected: return @"rejected"; case AWSEC2TransitGatewayAttachmentStateRejecting: return @"rejecting"; case AWSEC2TransitGatewayAttachmentStateFailing: return @"failing"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2TransitGatewayVpcAttachmentOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"applianceModeSupport" : @"ApplianceModeSupport", @"dnsSupport" : @"DnsSupport", @"ipv6Support" : @"Ipv6Support", }; } + (NSValueTransformer *)applianceModeSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2ApplianceModeSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2ApplianceModeSupportValueDisable); } return @(AWSEC2ApplianceModeSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2ApplianceModeSupportValueEnable: return @"enable"; case AWSEC2ApplianceModeSupportValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)dnsSupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2DnsSupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2DnsSupportValueDisable); } return @(AWSEC2DnsSupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DnsSupportValueEnable: return @"enable"; case AWSEC2DnsSupportValueDisable: return @"disable"; default: return nil; } }]; } + (NSValueTransformer *)ipv6SupportJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"enable"] == NSOrderedSame) { return @(AWSEC2Ipv6SupportValueEnable); } if ([value caseInsensitiveCompare:@"disable"] == NSOrderedSame) { return @(AWSEC2Ipv6SupportValueDisable); } return @(AWSEC2Ipv6SupportValueUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2Ipv6SupportValueEnable: return @"enable"; case AWSEC2Ipv6SupportValueDisable: return @"disable"; default: return nil; } }]; } @end @implementation AWSEC2TrunkInterfaceAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"branchInterfaceId" : @"BranchInterfaceId", @"greKey" : @"GreKey", @"interfaceProtocol" : @"InterfaceProtocol", @"tags" : @"Tags", @"trunkInterfaceId" : @"TrunkInterfaceId", @"vlanId" : @"VlanId", }; } + (NSValueTransformer *)interfaceProtocolJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"VLAN"] == NSOrderedSame) { return @(AWSEC2InterfaceProtocolTypeVlan); } if ([value caseInsensitiveCompare:@"GRE"] == NSOrderedSame) { return @(AWSEC2InterfaceProtocolTypeGre); } return @(AWSEC2InterfaceProtocolTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2InterfaceProtocolTypeVlan: return @"VLAN"; case AWSEC2InterfaceProtocolTypeGre: return @"GRE"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2TunnelOption + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dpdTimeoutAction" : @"DpdTimeoutAction", @"dpdTimeoutSeconds" : @"DpdTimeoutSeconds", @"enableTunnelLifecycleControl" : @"EnableTunnelLifecycleControl", @"ikeVersions" : @"IkeVersions", @"logOptions" : @"LogOptions", @"outsideIpAddress" : @"OutsideIpAddress", @"phase1DHGroupNumbers" : @"Phase1DHGroupNumbers", @"phase1EncryptionAlgorithms" : @"Phase1EncryptionAlgorithms", @"phase1IntegrityAlgorithms" : @"Phase1IntegrityAlgorithms", @"phase1LifetimeSeconds" : @"Phase1LifetimeSeconds", @"phase2DHGroupNumbers" : @"Phase2DHGroupNumbers", @"phase2EncryptionAlgorithms" : @"Phase2EncryptionAlgorithms", @"phase2IntegrityAlgorithms" : @"Phase2IntegrityAlgorithms", @"phase2LifetimeSeconds" : @"Phase2LifetimeSeconds", @"preSharedKey" : @"PreSharedKey", @"rekeyFuzzPercentage" : @"RekeyFuzzPercentage", @"rekeyMarginTimeSeconds" : @"RekeyMarginTimeSeconds", @"replayWindowSize" : @"ReplayWindowSize", @"startupAction" : @"StartupAction", @"tunnelInsideCidr" : @"TunnelInsideCidr", @"tunnelInsideIpv6Cidr" : @"TunnelInsideIpv6Cidr", }; } + (NSValueTransformer *)ikeVersionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IKEVersionsListValue class]]; } + (NSValueTransformer *)logOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpnTunnelLogOptions class]]; } + (NSValueTransformer *)phase1DHGroupNumbersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase1DHGroupNumbersListValue class]]; } + (NSValueTransformer *)phase1EncryptionAlgorithmsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase1EncryptionAlgorithmsListValue class]]; } + (NSValueTransformer *)phase1IntegrityAlgorithmsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase1IntegrityAlgorithmsListValue class]]; } + (NSValueTransformer *)phase2DHGroupNumbersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase2DHGroupNumbersListValue class]]; } + (NSValueTransformer *)phase2EncryptionAlgorithmsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase2EncryptionAlgorithmsListValue class]]; } + (NSValueTransformer *)phase2IntegrityAlgorithmsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase2IntegrityAlgorithmsListValue class]]; } @end @implementation AWSEC2UnassignIpv6AddressesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv6Addresses" : @"Ipv6Addresses", @"ipv6Prefixes" : @"Ipv6Prefixes", @"networkInterfaceId" : @"NetworkInterfaceId", }; } @end @implementation AWSEC2UnassignIpv6AddressesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInterfaceId" : @"NetworkInterfaceId", @"unassignedIpv6Addresses" : @"UnassignedIpv6Addresses", @"unassignedIpv6Prefixes" : @"UnassignedIpv6Prefixes", }; } @end @implementation AWSEC2UnassignPrivateIpAddressesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"ipv4Prefixes" : @"Ipv4Prefixes", @"networkInterfaceId" : @"NetworkInterfaceId", @"privateIpAddresses" : @"PrivateIpAddresses", }; } @end @implementation AWSEC2UnassignPrivateNatGatewayAddressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"maxDrainDurationSeconds" : @"MaxDrainDurationSeconds", @"natGatewayId" : @"NatGatewayId", @"privateIpAddresses" : @"PrivateIpAddresses", }; } @end @implementation AWSEC2UnassignPrivateNatGatewayAddressResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"natGatewayAddresses" : @"NatGatewayAddresses", @"natGatewayId" : @"NatGatewayId", }; } + (NSValueTransformer *)natGatewayAddressesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2NatGatewayAddress class]]; } @end @implementation AWSEC2UnmonitorInstancesRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"instanceIds" : @"InstanceIds", }; } @end @implementation AWSEC2UnmonitorInstancesResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceMonitorings" : @"InstanceMonitorings", }; } + (NSValueTransformer *)instanceMonitoringsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2InstanceMonitoring class]]; } @end @implementation AWSEC2UnsuccessfulInstanceCreditSpecificationItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"error" : @"Error", @"instanceId" : @"InstanceId", }; } + (NSValueTransformer *)errorJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2UnsuccessfulInstanceCreditSpecificationItemError class]]; } @end @implementation AWSEC2UnsuccessfulInstanceCreditSpecificationItemError + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"InvalidInstanceID.Malformed"] == NSOrderedSame) { return @(AWSEC2UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIDMalformed); } if ([value caseInsensitiveCompare:@"InvalidInstanceID.NotFound"] == NSOrderedSame) { return @(AWSEC2UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIDNotFound); } if ([value caseInsensitiveCompare:@"IncorrectInstanceState"] == NSOrderedSame) { return @(AWSEC2UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState); } if ([value caseInsensitiveCompare:@"InstanceCreditSpecification.NotSupported"] == NSOrderedSame) { return @(AWSEC2UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported); } return @(AWSEC2UnsuccessfulInstanceCreditSpecificationErrorCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIDMalformed: return @"InvalidInstanceID.Malformed"; case AWSEC2UnsuccessfulInstanceCreditSpecificationErrorCodeInvalidInstanceIDNotFound: return @"InvalidInstanceID.NotFound"; case AWSEC2UnsuccessfulInstanceCreditSpecificationErrorCodeIncorrectInstanceState: return @"IncorrectInstanceState"; case AWSEC2UnsuccessfulInstanceCreditSpecificationErrorCodeInstanceCreditSpecificationNotSupported: return @"InstanceCreditSpecification.NotSupported"; default: return nil; } }]; } @end @implementation AWSEC2UnsuccessfulItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"error" : @"Error", @"resourceId" : @"ResourceId", }; } + (NSValueTransformer *)errorJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2UnsuccessfulItemError class]]; } @end @implementation AWSEC2UnsuccessfulItemError + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } @end @implementation AWSEC2UpdateSecurityGroupRuleDescriptionsEgressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"groupId" : @"GroupId", @"groupName" : @"GroupName", @"ipPermissions" : @"IpPermissions", @"securityGroupRuleDescriptions" : @"SecurityGroupRuleDescriptions", }; } + (NSValueTransformer *)ipPermissionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpPermission class]]; } + (NSValueTransformer *)securityGroupRuleDescriptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SecurityGroupRuleDescription class]]; } @end @implementation AWSEC2UpdateSecurityGroupRuleDescriptionsEgressResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2UpdateSecurityGroupRuleDescriptionsIngressRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"dryRun" : @"DryRun", @"groupId" : @"GroupId", @"groupName" : @"GroupName", @"ipPermissions" : @"IpPermissions", @"securityGroupRuleDescriptions" : @"SecurityGroupRuleDescriptions", }; } + (NSValueTransformer *)ipPermissionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IpPermission class]]; } + (NSValueTransformer *)securityGroupRuleDescriptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SecurityGroupRuleDescription class]]; } @end @implementation AWSEC2UpdateSecurityGroupRuleDescriptionsIngressResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"returned" : @"Return", }; } @end @implementation AWSEC2UserBucket + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"s3Bucket" : @"S3Bucket", @"s3Key" : @"S3Key", }; } @end @implementation AWSEC2UserBucketDetails + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"s3Bucket" : @"S3Bucket", @"s3Key" : @"S3Key", }; } @end @implementation AWSEC2UserData + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"data" : @"Data", }; } @end @implementation AWSEC2UserIdGroupPair + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"groupId" : @"GroupId", @"groupName" : @"GroupName", @"peeringStatus" : @"PeeringStatus", @"userId" : @"UserId", @"vpcId" : @"VpcId", @"vpcPeeringConnectionId" : @"VpcPeeringConnectionId", }; } @end @implementation AWSEC2VCpuCountRange + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2VCpuCountRangeRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"max" : @"Max", @"min" : @"Min", }; } @end @implementation AWSEC2VCpuInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"defaultCores" : @"DefaultCores", @"defaultThreadsPerCore" : @"DefaultThreadsPerCore", @"defaultVCpus" : @"DefaultVCpus", @"validCores" : @"ValidCores", @"validThreadsPerCore" : @"ValidThreadsPerCore", }; } @end @implementation AWSEC2ValidationError + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } @end @implementation AWSEC2ValidationWarning + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"errors" : @"Errors", }; } + (NSValueTransformer *)errorsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2ValidationError class]]; } @end @implementation AWSEC2VerifiedAccessEndpoint + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"applicationDomain" : @"ApplicationDomain", @"attachmentType" : @"AttachmentType", @"creationTime" : @"CreationTime", @"deletionTime" : @"DeletionTime", @"detail" : @"Description", @"deviceValidationDomain" : @"DeviceValidationDomain", @"domainCertificateArn" : @"DomainCertificateArn", @"endpointDomain" : @"EndpointDomain", @"endpointType" : @"EndpointType", @"lastUpdatedTime" : @"LastUpdatedTime", @"loadBalancerOptions" : @"LoadBalancerOptions", @"networkInterfaceOptions" : @"NetworkInterfaceOptions", @"securityGroupIds" : @"SecurityGroupIds", @"status" : @"Status", @"tags" : @"Tags", @"verifiedAccessEndpointId" : @"VerifiedAccessEndpointId", @"verifiedAccessGroupId" : @"VerifiedAccessGroupId", @"verifiedAccessInstanceId" : @"VerifiedAccessInstanceId", }; } + (NSValueTransformer *)attachmentTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"vpc"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointAttachmentTypeVPC); } return @(AWSEC2VerifiedAccessEndpointAttachmentTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VerifiedAccessEndpointAttachmentTypeVPC: return @"vpc"; default: return nil; } }]; } + (NSValueTransformer *)endpointTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"load-balancer"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointTypeLoadBalancer); } if ([value caseInsensitiveCompare:@"network-interface"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointTypeNetworkInterface); } return @(AWSEC2VerifiedAccessEndpointTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VerifiedAccessEndpointTypeLoadBalancer: return @"load-balancer"; case AWSEC2VerifiedAccessEndpointTypeNetworkInterface: return @"network-interface"; default: return nil; } }]; } + (NSValueTransformer *)loadBalancerOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessEndpointLoadBalancerOptions class]]; } + (NSValueTransformer *)networkInterfaceOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessEndpointEniOptions class]]; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessEndpointStatus class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2VerifiedAccessEndpointEniOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"networkInterfaceId" : @"NetworkInterfaceId", @"port" : @"Port", @"protocols" : @"Protocol", }; } + (NSValueTransformer *)protocolsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"http"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointProtocolHTTP); } if ([value caseInsensitiveCompare:@"https"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointProtocolHTTPS); } return @(AWSEC2VerifiedAccessEndpointProtocolUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VerifiedAccessEndpointProtocolHTTP: return @"http"; case AWSEC2VerifiedAccessEndpointProtocolHTTPS: return @"https"; default: return nil; } }]; } @end @implementation AWSEC2VerifiedAccessEndpointLoadBalancerOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"loadBalancerArn" : @"LoadBalancerArn", @"port" : @"Port", @"protocols" : @"Protocol", @"subnetIds" : @"SubnetIds", }; } + (NSValueTransformer *)protocolsJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"http"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointProtocolHTTP); } if ([value caseInsensitiveCompare:@"https"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointProtocolHTTPS); } return @(AWSEC2VerifiedAccessEndpointProtocolUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VerifiedAccessEndpointProtocolHTTP: return @"http"; case AWSEC2VerifiedAccessEndpointProtocolHTTPS: return @"https"; default: return nil; } }]; } @end @implementation AWSEC2VerifiedAccessEndpointStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointStatusCodePending); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointStatusCodeActive); } if ([value caseInsensitiveCompare:@"updating"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointStatusCodeUpdating); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointStatusCodeDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessEndpointStatusCodeDeleted); } return @(AWSEC2VerifiedAccessEndpointStatusCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VerifiedAccessEndpointStatusCodePending: return @"pending"; case AWSEC2VerifiedAccessEndpointStatusCodeActive: return @"active"; case AWSEC2VerifiedAccessEndpointStatusCodeUpdating: return @"updating"; case AWSEC2VerifiedAccessEndpointStatusCodeDeleting: return @"deleting"; case AWSEC2VerifiedAccessEndpointStatusCodeDeleted: return @"deleted"; default: return nil; } }]; } @end @implementation AWSEC2VerifiedAccessGroup + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"creationTime" : @"CreationTime", @"deletionTime" : @"DeletionTime", @"detail" : @"Description", @"lastUpdatedTime" : @"LastUpdatedTime", @"owner" : @"Owner", @"tags" : @"Tags", @"verifiedAccessGroupArn" : @"VerifiedAccessGroupArn", @"verifiedAccessGroupId" : @"VerifiedAccessGroupId", @"verifiedAccessInstanceId" : @"VerifiedAccessInstanceId", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2VerifiedAccessInstance + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"creationTime" : @"CreationTime", @"detail" : @"Description", @"lastUpdatedTime" : @"LastUpdatedTime", @"tags" : @"Tags", @"verifiedAccessInstanceId" : @"VerifiedAccessInstanceId", @"verifiedAccessTrustProviders" : @"VerifiedAccessTrustProviders", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)verifiedAccessTrustProvidersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VerifiedAccessTrustProviderCondensed class]]; } @end @implementation AWSEC2VerifiedAccessInstanceLoggingConfiguration + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"accessLogs" : @"AccessLogs", @"verifiedAccessInstanceId" : @"VerifiedAccessInstanceId", }; } + (NSValueTransformer *)accessLogsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessLogs class]]; } @end @implementation AWSEC2VerifiedAccessLogCloudWatchLogsDestination + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deliveryStatus" : @"DeliveryStatus", @"enabled" : @"Enabled", @"logGroup" : @"LogGroup", }; } + (NSValueTransformer *)deliveryStatusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessLogDeliveryStatus class]]; } @end @implementation AWSEC2VerifiedAccessLogCloudWatchLogsDestinationOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enabled" : @"Enabled", @"logGroup" : @"LogGroup", }; } @end @implementation AWSEC2VerifiedAccessLogDeliveryStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"success"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessLogDeliveryStatusCodeSuccess); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2VerifiedAccessLogDeliveryStatusCodeFailed); } return @(AWSEC2VerifiedAccessLogDeliveryStatusCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VerifiedAccessLogDeliveryStatusCodeSuccess: return @"success"; case AWSEC2VerifiedAccessLogDeliveryStatusCodeFailed: return @"failed"; default: return nil; } }]; } @end @implementation AWSEC2VerifiedAccessLogKinesisDataFirehoseDestination + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deliveryStatus" : @"DeliveryStatus", @"deliveryStream" : @"DeliveryStream", @"enabled" : @"Enabled", }; } + (NSValueTransformer *)deliveryStatusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessLogDeliveryStatus class]]; } @end @implementation AWSEC2VerifiedAccessLogKinesisDataFirehoseDestinationOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"deliveryStream" : @"DeliveryStream", @"enabled" : @"Enabled", }; } @end @implementation AWSEC2VerifiedAccessLogOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cloudWatchLogs" : @"CloudWatchLogs", @"includeTrustContext" : @"IncludeTrustContext", @"kinesisDataFirehose" : @"KinesisDataFirehose", @"logVersion" : @"LogVersion", @"s3" : @"S3", }; } + (NSValueTransformer *)cloudWatchLogsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessLogCloudWatchLogsDestinationOptions class]]; } + (NSValueTransformer *)kinesisDataFirehoseJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessLogKinesisDataFirehoseDestinationOptions class]]; } + (NSValueTransformer *)s3JSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessLogS3DestinationOptions class]]; } @end @implementation AWSEC2VerifiedAccessLogS3Destination + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bucketName" : @"BucketName", @"bucketOwner" : @"BucketOwner", @"deliveryStatus" : @"DeliveryStatus", @"enabled" : @"Enabled", @"prefix" : @"Prefix", }; } + (NSValueTransformer *)deliveryStatusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessLogDeliveryStatus class]]; } @end @implementation AWSEC2VerifiedAccessLogS3DestinationOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"bucketName" : @"BucketName", @"bucketOwner" : @"BucketOwner", @"enabled" : @"Enabled", @"prefix" : @"Prefix", }; } @end @implementation AWSEC2VerifiedAccessLogs + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cloudWatchLogs" : @"CloudWatchLogs", @"includeTrustContext" : @"IncludeTrustContext", @"kinesisDataFirehose" : @"KinesisDataFirehose", @"logVersion" : @"LogVersion", @"s3" : @"S3", }; } + (NSValueTransformer *)cloudWatchLogsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessLogCloudWatchLogsDestination class]]; } + (NSValueTransformer *)kinesisDataFirehoseJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessLogKinesisDataFirehoseDestination class]]; } + (NSValueTransformer *)s3JSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VerifiedAccessLogS3Destination class]]; } @end @implementation AWSEC2VerifiedAccessTrustProvider + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"creationTime" : @"CreationTime", @"detail" : @"Description", @"deviceOptions" : @"DeviceOptions", @"deviceTrustProviderType" : @"DeviceTrustProviderType", @"lastUpdatedTime" : @"LastUpdatedTime", @"oidcOptions" : @"OidcOptions", @"policyReferenceName" : @"PolicyReferenceName", @"tags" : @"Tags", @"trustProviderType" : @"TrustProviderType", @"userTrustProviderType" : @"UserTrustProviderType", @"verifiedAccessTrustProviderId" : @"VerifiedAccessTrustProviderId", }; } + (NSValueTransformer *)deviceOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DeviceOptions class]]; } + (NSValueTransformer *)deviceTrustProviderTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"jamf"] == NSOrderedSame) { return @(AWSEC2DeviceTrustProviderTypeJamf); } if ([value caseInsensitiveCompare:@"crowdstrike"] == NSOrderedSame) { return @(AWSEC2DeviceTrustProviderTypeCrowdstrike); } return @(AWSEC2DeviceTrustProviderTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DeviceTrustProviderTypeJamf: return @"jamf"; case AWSEC2DeviceTrustProviderTypeCrowdstrike: return @"crowdstrike"; default: return nil; } }]; } + (NSValueTransformer *)oidcOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2OidcOptions class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)trustProviderTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"user"] == NSOrderedSame) { return @(AWSEC2TrustProviderTypeUser); } if ([value caseInsensitiveCompare:@"device"] == NSOrderedSame) { return @(AWSEC2TrustProviderTypeDevice); } return @(AWSEC2TrustProviderTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TrustProviderTypeUser: return @"user"; case AWSEC2TrustProviderTypeDevice: return @"device"; default: return nil; } }]; } + (NSValueTransformer *)userTrustProviderTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"iam-identity-center"] == NSOrderedSame) { return @(AWSEC2UserTrustProviderTypeIamIdentityCenter); } if ([value caseInsensitiveCompare:@"oidc"] == NSOrderedSame) { return @(AWSEC2UserTrustProviderTypeOidc); } return @(AWSEC2UserTrustProviderTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2UserTrustProviderTypeIamIdentityCenter: return @"iam-identity-center"; case AWSEC2UserTrustProviderTypeOidc: return @"oidc"; default: return nil; } }]; } @end @implementation AWSEC2VerifiedAccessTrustProviderCondensed + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"deviceTrustProviderType" : @"DeviceTrustProviderType", @"trustProviderType" : @"TrustProviderType", @"userTrustProviderType" : @"UserTrustProviderType", @"verifiedAccessTrustProviderId" : @"VerifiedAccessTrustProviderId", }; } + (NSValueTransformer *)deviceTrustProviderTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"jamf"] == NSOrderedSame) { return @(AWSEC2DeviceTrustProviderTypeJamf); } if ([value caseInsensitiveCompare:@"crowdstrike"] == NSOrderedSame) { return @(AWSEC2DeviceTrustProviderTypeCrowdstrike); } return @(AWSEC2DeviceTrustProviderTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2DeviceTrustProviderTypeJamf: return @"jamf"; case AWSEC2DeviceTrustProviderTypeCrowdstrike: return @"crowdstrike"; default: return nil; } }]; } + (NSValueTransformer *)trustProviderTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"user"] == NSOrderedSame) { return @(AWSEC2TrustProviderTypeUser); } if ([value caseInsensitiveCompare:@"device"] == NSOrderedSame) { return @(AWSEC2TrustProviderTypeDevice); } return @(AWSEC2TrustProviderTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TrustProviderTypeUser: return @"user"; case AWSEC2TrustProviderTypeDevice: return @"device"; default: return nil; } }]; } + (NSValueTransformer *)userTrustProviderTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"iam-identity-center"] == NSOrderedSame) { return @(AWSEC2UserTrustProviderTypeIamIdentityCenter); } if ([value caseInsensitiveCompare:@"oidc"] == NSOrderedSame) { return @(AWSEC2UserTrustProviderTypeOidc); } return @(AWSEC2UserTrustProviderTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2UserTrustProviderTypeIamIdentityCenter: return @"iam-identity-center"; case AWSEC2UserTrustProviderTypeOidc: return @"oidc"; default: return nil; } }]; } @end @implementation AWSEC2VgwTelemetry + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"acceptedRouteCount" : @"AcceptedRouteCount", @"certificateArn" : @"CertificateArn", @"lastStatusChange" : @"LastStatusChange", @"outsideIpAddress" : @"OutsideIpAddress", @"status" : @"Status", @"statusMessage" : @"StatusMessage", }; } + (NSValueTransformer *)lastStatusChangeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"UP"] == NSOrderedSame) { return @(AWSEC2TelemetryStatusUp); } if ([value caseInsensitiveCompare:@"DOWN"] == NSOrderedSame) { return @(AWSEC2TelemetryStatusDown); } return @(AWSEC2TelemetryStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TelemetryStatusUp: return @"UP"; case AWSEC2TelemetryStatusDown: return @"DOWN"; default: return nil; } }]; } @end @implementation AWSEC2Volume + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attachments" : @"Attachments", @"availabilityZone" : @"AvailabilityZone", @"createTime" : @"CreateTime", @"encrypted" : @"Encrypted", @"fastRestored" : @"FastRestored", @"iops" : @"Iops", @"kmsKeyId" : @"KmsKeyId", @"multiAttachEnabled" : @"MultiAttachEnabled", @"outpostArn" : @"OutpostArn", @"size" : @"Size", @"snapshotId" : @"SnapshotId", @"state" : @"State", @"tags" : @"Tags", @"throughput" : @"Throughput", @"volumeId" : @"VolumeId", @"volumeType" : @"VolumeType", }; } + (NSValueTransformer *)attachmentsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VolumeAttachment class]]; } + (NSValueTransformer *)createTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"creating"] == NSOrderedSame) { return @(AWSEC2VolumeStateCreating); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2VolumeStateAvailable); } if ([value caseInsensitiveCompare:@"in-use"] == NSOrderedSame) { return @(AWSEC2VolumeStateInUse); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2VolumeStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2VolumeStateDeleted); } if ([value caseInsensitiveCompare:@"error"] == NSOrderedSame) { return @(AWSEC2VolumeStateError); } return @(AWSEC2VolumeStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VolumeStateCreating: return @"creating"; case AWSEC2VolumeStateAvailable: return @"available"; case AWSEC2VolumeStateInUse: return @"in-use"; case AWSEC2VolumeStateDeleting: return @"deleting"; case AWSEC2VolumeStateDeleted: return @"deleted"; case AWSEC2VolumeStateError: return @"error"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)volumeTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2VolumeTypeStandard); } if ([value caseInsensitiveCompare:@"io1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIO1); } if ([value caseInsensitiveCompare:@"io2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIo2); } if ([value caseInsensitiveCompare:@"gp2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp2); } if ([value caseInsensitiveCompare:@"sc1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSc1); } if ([value caseInsensitiveCompare:@"st1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSt1); } if ([value caseInsensitiveCompare:@"gp3"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp3); } return @(AWSEC2VolumeTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VolumeTypeStandard: return @"standard"; case AWSEC2VolumeTypeIO1: return @"io1"; case AWSEC2VolumeTypeIo2: return @"io2"; case AWSEC2VolumeTypeGp2: return @"gp2"; case AWSEC2VolumeTypeSc1: return @"sc1"; case AWSEC2VolumeTypeSt1: return @"st1"; case AWSEC2VolumeTypeGp3: return @"gp3"; default: return nil; } }]; } @end @implementation AWSEC2VolumeAttachment + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"attachTime" : @"AttachTime", @"deleteOnTermination" : @"DeleteOnTermination", @"device" : @"Device", @"instanceId" : @"InstanceId", @"state" : @"State", @"volumeId" : @"VolumeId", }; } + (NSValueTransformer *)attachTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"attaching"] == NSOrderedSame) { return @(AWSEC2VolumeAttachmentStateAttaching); } if ([value caseInsensitiveCompare:@"attached"] == NSOrderedSame) { return @(AWSEC2VolumeAttachmentStateAttached); } if ([value caseInsensitiveCompare:@"detaching"] == NSOrderedSame) { return @(AWSEC2VolumeAttachmentStateDetaching); } if ([value caseInsensitiveCompare:@"detached"] == NSOrderedSame) { return @(AWSEC2VolumeAttachmentStateDetached); } if ([value caseInsensitiveCompare:@"busy"] == NSOrderedSame) { return @(AWSEC2VolumeAttachmentStateBusy); } return @(AWSEC2VolumeAttachmentStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VolumeAttachmentStateAttaching: return @"attaching"; case AWSEC2VolumeAttachmentStateAttached: return @"attached"; case AWSEC2VolumeAttachmentStateDetaching: return @"detaching"; case AWSEC2VolumeAttachmentStateDetached: return @"detached"; case AWSEC2VolumeAttachmentStateBusy: return @"busy"; default: return nil; } }]; } @end @implementation AWSEC2VolumeDetail + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"size" : @"Size", }; } @end @implementation AWSEC2VolumeModification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"endTime" : @"EndTime", @"modificationState" : @"ModificationState", @"originalIops" : @"OriginalIops", @"originalMultiAttachEnabled" : @"OriginalMultiAttachEnabled", @"originalSize" : @"OriginalSize", @"originalThroughput" : @"OriginalThroughput", @"originalVolumeType" : @"OriginalVolumeType", @"progress" : @"Progress", @"startTime" : @"StartTime", @"statusMessage" : @"StatusMessage", @"targetIops" : @"TargetIops", @"targetMultiAttachEnabled" : @"TargetMultiAttachEnabled", @"targetSize" : @"TargetSize", @"targetThroughput" : @"TargetThroughput", @"targetVolumeType" : @"TargetVolumeType", @"volumeId" : @"VolumeId", }; } + (NSValueTransformer *)endTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)modificationStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"modifying"] == NSOrderedSame) { return @(AWSEC2VolumeModificationStateModifying); } if ([value caseInsensitiveCompare:@"optimizing"] == NSOrderedSame) { return @(AWSEC2VolumeModificationStateOptimizing); } if ([value caseInsensitiveCompare:@"completed"] == NSOrderedSame) { return @(AWSEC2VolumeModificationStateCompleted); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2VolumeModificationStateFailed); } return @(AWSEC2VolumeModificationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VolumeModificationStateModifying: return @"modifying"; case AWSEC2VolumeModificationStateOptimizing: return @"optimizing"; case AWSEC2VolumeModificationStateCompleted: return @"completed"; case AWSEC2VolumeModificationStateFailed: return @"failed"; default: return nil; } }]; } + (NSValueTransformer *)originalVolumeTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2VolumeTypeStandard); } if ([value caseInsensitiveCompare:@"io1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIO1); } if ([value caseInsensitiveCompare:@"io2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIo2); } if ([value caseInsensitiveCompare:@"gp2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp2); } if ([value caseInsensitiveCompare:@"sc1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSc1); } if ([value caseInsensitiveCompare:@"st1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSt1); } if ([value caseInsensitiveCompare:@"gp3"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp3); } return @(AWSEC2VolumeTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VolumeTypeStandard: return @"standard"; case AWSEC2VolumeTypeIO1: return @"io1"; case AWSEC2VolumeTypeIo2: return @"io2"; case AWSEC2VolumeTypeGp2: return @"gp2"; case AWSEC2VolumeTypeSc1: return @"sc1"; case AWSEC2VolumeTypeSt1: return @"st1"; case AWSEC2VolumeTypeGp3: return @"gp3"; default: return nil; } }]; } + (NSValueTransformer *)startTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)targetVolumeTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"standard"] == NSOrderedSame) { return @(AWSEC2VolumeTypeStandard); } if ([value caseInsensitiveCompare:@"io1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIO1); } if ([value caseInsensitiveCompare:@"io2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeIo2); } if ([value caseInsensitiveCompare:@"gp2"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp2); } if ([value caseInsensitiveCompare:@"sc1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSc1); } if ([value caseInsensitiveCompare:@"st1"] == NSOrderedSame) { return @(AWSEC2VolumeTypeSt1); } if ([value caseInsensitiveCompare:@"gp3"] == NSOrderedSame) { return @(AWSEC2VolumeTypeGp3); } return @(AWSEC2VolumeTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VolumeTypeStandard: return @"standard"; case AWSEC2VolumeTypeIO1: return @"io1"; case AWSEC2VolumeTypeIo2: return @"io2"; case AWSEC2VolumeTypeGp2: return @"gp2"; case AWSEC2VolumeTypeSc1: return @"sc1"; case AWSEC2VolumeTypeSt1: return @"st1"; case AWSEC2VolumeTypeGp3: return @"gp3"; default: return nil; } }]; } @end @implementation AWSEC2VolumeStatusAction + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"detail" : @"Description", @"eventId" : @"EventId", @"eventType" : @"EventType", }; } @end @implementation AWSEC2VolumeStatusAttachmentStatus + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"instanceId" : @"InstanceId", @"ioPerformance" : @"IoPerformance", }; } @end @implementation AWSEC2VolumeStatusDetails + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"name" : @"Name", @"status" : @"Status", }; } + (NSValueTransformer *)nameJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"io-enabled"] == NSOrderedSame) { return @(AWSEC2VolumeStatusNameIoEnabled); } if ([value caseInsensitiveCompare:@"io-performance"] == NSOrderedSame) { return @(AWSEC2VolumeStatusNameIoPerformance); } return @(AWSEC2VolumeStatusNameUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VolumeStatusNameIoEnabled: return @"io-enabled"; case AWSEC2VolumeStatusNameIoPerformance: return @"io-performance"; default: return nil; } }]; } @end @implementation AWSEC2VolumeStatusEvent + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"detail" : @"Description", @"eventId" : @"EventId", @"eventType" : @"EventType", @"instanceId" : @"InstanceId", @"notAfter" : @"NotAfter", @"notBefore" : @"NotBefore", }; } + (NSValueTransformer *)notAfterJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)notBeforeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } @end @implementation AWSEC2VolumeStatusInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"details" : @"Details", @"status" : @"Status", }; } + (NSValueTransformer *)detailsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VolumeStatusDetails class]]; } + (NSValueTransformer *)statusJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ok"] == NSOrderedSame) { return @(AWSEC2VolumeStatusInfoStatusOK); } if ([value caseInsensitiveCompare:@"impaired"] == NSOrderedSame) { return @(AWSEC2VolumeStatusInfoStatusImpaired); } if ([value caseInsensitiveCompare:@"insufficient-data"] == NSOrderedSame) { return @(AWSEC2VolumeStatusInfoStatusInsufficientData); } return @(AWSEC2VolumeStatusInfoStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VolumeStatusInfoStatusOK: return @"ok"; case AWSEC2VolumeStatusInfoStatusImpaired: return @"impaired"; case AWSEC2VolumeStatusInfoStatusInsufficientData: return @"insufficient-data"; default: return nil; } }]; } @end @implementation AWSEC2VolumeStatusItem + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"actions" : @"Actions", @"attachmentStatuses" : @"AttachmentStatuses", @"availabilityZone" : @"AvailabilityZone", @"events" : @"Events", @"outpostArn" : @"OutpostArn", @"volumeId" : @"VolumeId", @"volumeStatus" : @"VolumeStatus", }; } + (NSValueTransformer *)actionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VolumeStatusAction class]]; } + (NSValueTransformer *)attachmentStatusesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VolumeStatusAttachmentStatus class]]; } + (NSValueTransformer *)eventsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VolumeStatusEvent class]]; } + (NSValueTransformer *)volumeStatusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VolumeStatusInfo class]]; } @end @implementation AWSEC2Vpc + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrBlock" : @"CidrBlock", @"cidrBlockAssociationSet" : @"CidrBlockAssociationSet", @"dhcpOptionsId" : @"DhcpOptionsId", @"instanceTenancy" : @"InstanceTenancy", @"ipv6CidrBlockAssociationSet" : @"Ipv6CidrBlockAssociationSet", @"isDefault" : @"IsDefault", @"ownerId" : @"OwnerId", @"state" : @"State", @"tags" : @"Tags", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)cidrBlockAssociationSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VpcCidrBlockAssociation class]]; } + (NSValueTransformer *)instanceTenancyJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"default"] == NSOrderedSame) { return @(AWSEC2TenancyDefault); } if ([value caseInsensitiveCompare:@"dedicated"] == NSOrderedSame) { return @(AWSEC2TenancyDedicated); } if ([value caseInsensitiveCompare:@"host"] == NSOrderedSame) { return @(AWSEC2TenancyHost); } return @(AWSEC2TenancyUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TenancyDefault: return @"default"; case AWSEC2TenancyDedicated: return @"dedicated"; case AWSEC2TenancyHost: return @"host"; default: return nil; } }]; } + (NSValueTransformer *)ipv6CidrBlockAssociationSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VpcIpv6CidrBlockAssociation class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2VpcStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2VpcStateAvailable); } return @(AWSEC2VpcStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VpcStatePending: return @"pending"; case AWSEC2VpcStateAvailable: return @"available"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2VpcAttachment + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"state" : @"State", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"attaching"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusAttaching); } if ([value caseInsensitiveCompare:@"attached"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusAttached); } if ([value caseInsensitiveCompare:@"detaching"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusDetaching); } if ([value caseInsensitiveCompare:@"detached"] == NSOrderedSame) { return @(AWSEC2AttachmentStatusDetached); } return @(AWSEC2AttachmentStatusUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2AttachmentStatusAttaching: return @"attaching"; case AWSEC2AttachmentStatusAttached: return @"attached"; case AWSEC2AttachmentStatusDetaching: return @"detaching"; case AWSEC2AttachmentStatusDetached: return @"detached"; default: return nil; } }]; } @end @implementation AWSEC2VpcCidrBlockAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"cidrBlock" : @"CidrBlock", @"cidrBlockState" : @"CidrBlockState", }; } + (NSValueTransformer *)cidrBlockStateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpcCidrBlockState class]]; } @end @implementation AWSEC2VpcCidrBlockState + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"state" : @"State", @"statusMessage" : @"StatusMessage", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"associating"] == NSOrderedSame) { return @(AWSEC2VpcCidrBlockStateCodeAssociating); } if ([value caseInsensitiveCompare:@"associated"] == NSOrderedSame) { return @(AWSEC2VpcCidrBlockStateCodeAssociated); } if ([value caseInsensitiveCompare:@"disassociating"] == NSOrderedSame) { return @(AWSEC2VpcCidrBlockStateCodeDisassociating); } if ([value caseInsensitiveCompare:@"disassociated"] == NSOrderedSame) { return @(AWSEC2VpcCidrBlockStateCodeDisassociated); } if ([value caseInsensitiveCompare:@"failing"] == NSOrderedSame) { return @(AWSEC2VpcCidrBlockStateCodeFailing); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2VpcCidrBlockStateCodeFailed); } return @(AWSEC2VpcCidrBlockStateCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VpcCidrBlockStateCodeAssociating: return @"associating"; case AWSEC2VpcCidrBlockStateCodeAssociated: return @"associated"; case AWSEC2VpcCidrBlockStateCodeDisassociating: return @"disassociating"; case AWSEC2VpcCidrBlockStateCodeDisassociated: return @"disassociated"; case AWSEC2VpcCidrBlockStateCodeFailing: return @"failing"; case AWSEC2VpcCidrBlockStateCodeFailed: return @"failed"; default: return nil; } }]; } @end @implementation AWSEC2VpcClassicLink + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"classicLinkEnabled" : @"ClassicLinkEnabled", @"tags" : @"Tags", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2VpcEndpoint + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"creationTimestamp" : @"CreationTimestamp", @"dnsEntries" : @"DnsEntries", @"dnsOptions" : @"DnsOptions", @"groups" : @"Groups", @"ipAddressType" : @"IpAddressType", @"lastError" : @"LastError", @"networkInterfaceIds" : @"NetworkInterfaceIds", @"ownerId" : @"OwnerId", @"policyDocument" : @"PolicyDocument", @"privateDnsEnabled" : @"PrivateDnsEnabled", @"requesterManaged" : @"RequesterManaged", @"routeTableIds" : @"RouteTableIds", @"serviceName" : @"ServiceName", @"state" : @"State", @"subnetIds" : @"SubnetIds", @"tags" : @"Tags", @"vpcEndpointId" : @"VpcEndpointId", @"vpcEndpointType" : @"VpcEndpointType", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)creationTimestampJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)dnsEntriesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DnsEntry class]]; } + (NSValueTransformer *)dnsOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2DnsOptions class]]; } + (NSValueTransformer *)groupsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2SecurityGroupIdentifier class]]; } + (NSValueTransformer *)ipAddressTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ipv4"] == NSOrderedSame) { return @(AWSEC2IpAddressTypeIpv4); } if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { return @(AWSEC2IpAddressTypeDualstack); } if ([value caseInsensitiveCompare:@"ipv6"] == NSOrderedSame) { return @(AWSEC2IpAddressTypeIpv6); } return @(AWSEC2IpAddressTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpAddressTypeIpv4: return @"ipv4"; case AWSEC2IpAddressTypeDualstack: return @"dualstack"; case AWSEC2IpAddressTypeIpv6: return @"ipv6"; default: return nil; } }]; } + (NSValueTransformer *)lastErrorJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2LastError class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"PendingAcceptance"] == NSOrderedSame) { return @(AWSEC2StatePendingAcceptance); } if ([value caseInsensitiveCompare:@"Pending"] == NSOrderedSame) { return @(AWSEC2StatePending); } if ([value caseInsensitiveCompare:@"Available"] == NSOrderedSame) { return @(AWSEC2StateAvailable); } if ([value caseInsensitiveCompare:@"Deleting"] == NSOrderedSame) { return @(AWSEC2StateDeleting); } if ([value caseInsensitiveCompare:@"Deleted"] == NSOrderedSame) { return @(AWSEC2StateDeleted); } if ([value caseInsensitiveCompare:@"Rejected"] == NSOrderedSame) { return @(AWSEC2StateRejected); } if ([value caseInsensitiveCompare:@"Failed"] == NSOrderedSame) { return @(AWSEC2StateFailed); } if ([value caseInsensitiveCompare:@"Expired"] == NSOrderedSame) { return @(AWSEC2StateExpired); } return @(AWSEC2StateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2StatePendingAcceptance: return @"PendingAcceptance"; case AWSEC2StatePending: return @"Pending"; case AWSEC2StateAvailable: return @"Available"; case AWSEC2StateDeleting: return @"Deleting"; case AWSEC2StateDeleted: return @"Deleted"; case AWSEC2StateRejected: return @"Rejected"; case AWSEC2StateFailed: return @"Failed"; case AWSEC2StateExpired: return @"Expired"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)vpcEndpointTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Interface"] == NSOrderedSame) { return @(AWSEC2VpcEndpointTypeInterface); } if ([value caseInsensitiveCompare:@"Gateway"] == NSOrderedSame) { return @(AWSEC2VpcEndpointTypeGateway); } if ([value caseInsensitiveCompare:@"GatewayLoadBalancer"] == NSOrderedSame) { return @(AWSEC2VpcEndpointTypeGatewayLoadBalancer); } return @(AWSEC2VpcEndpointTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VpcEndpointTypeInterface: return @"Interface"; case AWSEC2VpcEndpointTypeGateway: return @"Gateway"; case AWSEC2VpcEndpointTypeGatewayLoadBalancer: return @"GatewayLoadBalancer"; default: return nil; } }]; } @end @implementation AWSEC2VpcEndpointConnection + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"creationTimestamp" : @"CreationTimestamp", @"dnsEntries" : @"DnsEntries", @"gatewayLoadBalancerArns" : @"GatewayLoadBalancerArns", @"ipAddressType" : @"IpAddressType", @"networkLoadBalancerArns" : @"NetworkLoadBalancerArns", @"serviceId" : @"ServiceId", @"tags" : @"Tags", @"vpcEndpointConnectionId" : @"VpcEndpointConnectionId", @"vpcEndpointId" : @"VpcEndpointId", @"vpcEndpointOwner" : @"VpcEndpointOwner", @"vpcEndpointState" : @"VpcEndpointState", }; } + (NSValueTransformer *)creationTimestampJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)dnsEntriesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2DnsEntry class]]; } + (NSValueTransformer *)ipAddressTypeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ipv4"] == NSOrderedSame) { return @(AWSEC2IpAddressTypeIpv4); } if ([value caseInsensitiveCompare:@"dualstack"] == NSOrderedSame) { return @(AWSEC2IpAddressTypeDualstack); } if ([value caseInsensitiveCompare:@"ipv6"] == NSOrderedSame) { return @(AWSEC2IpAddressTypeIpv6); } return @(AWSEC2IpAddressTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2IpAddressTypeIpv4: return @"ipv4"; case AWSEC2IpAddressTypeDualstack: return @"dualstack"; case AWSEC2IpAddressTypeIpv6: return @"ipv6"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)vpcEndpointStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"PendingAcceptance"] == NSOrderedSame) { return @(AWSEC2StatePendingAcceptance); } if ([value caseInsensitiveCompare:@"Pending"] == NSOrderedSame) { return @(AWSEC2StatePending); } if ([value caseInsensitiveCompare:@"Available"] == NSOrderedSame) { return @(AWSEC2StateAvailable); } if ([value caseInsensitiveCompare:@"Deleting"] == NSOrderedSame) { return @(AWSEC2StateDeleting); } if ([value caseInsensitiveCompare:@"Deleted"] == NSOrderedSame) { return @(AWSEC2StateDeleted); } if ([value caseInsensitiveCompare:@"Rejected"] == NSOrderedSame) { return @(AWSEC2StateRejected); } if ([value caseInsensitiveCompare:@"Failed"] == NSOrderedSame) { return @(AWSEC2StateFailed); } if ([value caseInsensitiveCompare:@"Expired"] == NSOrderedSame) { return @(AWSEC2StateExpired); } return @(AWSEC2StateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2StatePendingAcceptance: return @"PendingAcceptance"; case AWSEC2StatePending: return @"Pending"; case AWSEC2StateAvailable: return @"Available"; case AWSEC2StateDeleting: return @"Deleting"; case AWSEC2StateDeleted: return @"Deleted"; case AWSEC2StateRejected: return @"Rejected"; case AWSEC2StateFailed: return @"Failed"; case AWSEC2StateExpired: return @"Expired"; default: return nil; } }]; } @end @implementation AWSEC2VpcIpv6CidrBlockAssociation + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"associationId" : @"AssociationId", @"ipv6CidrBlock" : @"Ipv6CidrBlock", @"ipv6CidrBlockState" : @"Ipv6CidrBlockState", @"ipv6Pool" : @"Ipv6Pool", @"networkBorderGroup" : @"NetworkBorderGroup", }; } + (NSValueTransformer *)ipv6CidrBlockStateJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpcCidrBlockState class]]; } @end @implementation AWSEC2VpcPeeringConnection + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"accepterVpcInfo" : @"AccepterVpcInfo", @"expirationTime" : @"ExpirationTime", @"requesterVpcInfo" : @"RequesterVpcInfo", @"status" : @"Status", @"tags" : @"Tags", @"vpcPeeringConnectionId" : @"VpcPeeringConnectionId", }; } + (NSValueTransformer *)accepterVpcInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpcPeeringConnectionVpcInfo class]]; } + (NSValueTransformer *)expirationTimeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^id(NSString *str) { return [NSDate aws_dateFromString:str]; } reverseBlock:^id(NSDate *date) { return [date aws_stringValue:AWSDateISO8601DateFormat1]; }]; } + (NSValueTransformer *)requesterVpcInfoJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpcPeeringConnectionVpcInfo class]]; } + (NSValueTransformer *)statusJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpcPeeringConnectionStateReason class]]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } @end @implementation AWSEC2VpcPeeringConnectionOptionsDescription + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"allowDnsResolutionFromRemoteVpc" : @"AllowDnsResolutionFromRemoteVpc", @"allowEgressFromLocalClassicLinkToRemoteVpc" : @"AllowEgressFromLocalClassicLinkToRemoteVpc", @"allowEgressFromLocalVpcToRemoteClassicLink" : @"AllowEgressFromLocalVpcToRemoteClassicLink", }; } @end @implementation AWSEC2VpcPeeringConnectionStateReason + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"code" : @"Code", @"message" : @"Message", }; } + (NSValueTransformer *)codeJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"initiating-request"] == NSOrderedSame) { return @(AWSEC2VpcPeeringConnectionStateReasonCodeInitiatingRequest); } if ([value caseInsensitiveCompare:@"pending-acceptance"] == NSOrderedSame) { return @(AWSEC2VpcPeeringConnectionStateReasonCodePendingAcceptance); } if ([value caseInsensitiveCompare:@"active"] == NSOrderedSame) { return @(AWSEC2VpcPeeringConnectionStateReasonCodeActive); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2VpcPeeringConnectionStateReasonCodeDeleted); } if ([value caseInsensitiveCompare:@"rejected"] == NSOrderedSame) { return @(AWSEC2VpcPeeringConnectionStateReasonCodeRejected); } if ([value caseInsensitiveCompare:@"failed"] == NSOrderedSame) { return @(AWSEC2VpcPeeringConnectionStateReasonCodeFailed); } if ([value caseInsensitiveCompare:@"expired"] == NSOrderedSame) { return @(AWSEC2VpcPeeringConnectionStateReasonCodeExpired); } if ([value caseInsensitiveCompare:@"provisioning"] == NSOrderedSame) { return @(AWSEC2VpcPeeringConnectionStateReasonCodeProvisioning); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2VpcPeeringConnectionStateReasonCodeDeleting); } return @(AWSEC2VpcPeeringConnectionStateReasonCodeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VpcPeeringConnectionStateReasonCodeInitiatingRequest: return @"initiating-request"; case AWSEC2VpcPeeringConnectionStateReasonCodePendingAcceptance: return @"pending-acceptance"; case AWSEC2VpcPeeringConnectionStateReasonCodeActive: return @"active"; case AWSEC2VpcPeeringConnectionStateReasonCodeDeleted: return @"deleted"; case AWSEC2VpcPeeringConnectionStateReasonCodeRejected: return @"rejected"; case AWSEC2VpcPeeringConnectionStateReasonCodeFailed: return @"failed"; case AWSEC2VpcPeeringConnectionStateReasonCodeExpired: return @"expired"; case AWSEC2VpcPeeringConnectionStateReasonCodeProvisioning: return @"provisioning"; case AWSEC2VpcPeeringConnectionStateReasonCodeDeleting: return @"deleting"; default: return nil; } }]; } @end @implementation AWSEC2VpcPeeringConnectionVpcInfo + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidrBlock" : @"CidrBlock", @"cidrBlockSet" : @"CidrBlockSet", @"ipv6CidrBlockSet" : @"Ipv6CidrBlockSet", @"ownerId" : @"OwnerId", @"peeringOptions" : @"PeeringOptions", @"region" : @"Region", @"vpcId" : @"VpcId", }; } + (NSValueTransformer *)cidrBlockSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2CidrBlock class]]; } + (NSValueTransformer *)ipv6CidrBlockSetJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Ipv6CidrBlock class]]; } + (NSValueTransformer *)peeringOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpcPeeringConnectionOptionsDescription class]]; } @end @implementation AWSEC2VpnConnection + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"category" : @"Category", @"coreNetworkArn" : @"CoreNetworkArn", @"coreNetworkAttachmentArn" : @"CoreNetworkAttachmentArn", @"customerGatewayConfiguration" : @"CustomerGatewayConfiguration", @"customerGatewayId" : @"CustomerGatewayId", @"gatewayAssociationState" : @"GatewayAssociationState", @"options" : @"Options", @"routes" : @"Routes", @"state" : @"State", @"tags" : @"Tags", @"transitGatewayId" : @"TransitGatewayId", @"types" : @"Type", @"vgwTelemetry" : @"VgwTelemetry", @"vpnConnectionId" : @"VpnConnectionId", @"vpnGatewayId" : @"VpnGatewayId", }; } + (NSValueTransformer *)gatewayAssociationStateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"associated"] == NSOrderedSame) { return @(AWSEC2GatewayAssociationStateAssociated); } if ([value caseInsensitiveCompare:@"not-associated"] == NSOrderedSame) { return @(AWSEC2GatewayAssociationStateNotAssociated); } if ([value caseInsensitiveCompare:@"associating"] == NSOrderedSame) { return @(AWSEC2GatewayAssociationStateAssociating); } if ([value caseInsensitiveCompare:@"disassociating"] == NSOrderedSame) { return @(AWSEC2GatewayAssociationStateDisassociating); } return @(AWSEC2GatewayAssociationStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2GatewayAssociationStateAssociated: return @"associated"; case AWSEC2GatewayAssociationStateNotAssociated: return @"not-associated"; case AWSEC2GatewayAssociationStateAssociating: return @"associating"; case AWSEC2GatewayAssociationStateDisassociating: return @"disassociating"; default: return nil; } }]; } + (NSValueTransformer *)optionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpnConnectionOptions class]]; } + (NSValueTransformer *)routesJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VpnStaticRoute class]]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2VpnStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2VpnStateAvailable); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2VpnStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2VpnStateDeleted); } return @(AWSEC2VpnStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VpnStatePending: return @"pending"; case AWSEC2VpnStateAvailable: return @"available"; case AWSEC2VpnStateDeleting: return @"deleting"; case AWSEC2VpnStateDeleted: return @"deleted"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ipsec.1"] == NSOrderedSame) { return @(AWSEC2GatewayTypeIpsec1); } return @(AWSEC2GatewayTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2GatewayTypeIpsec1: return @"ipsec.1"; default: return nil; } }]; } + (NSValueTransformer *)vgwTelemetryJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VgwTelemetry class]]; } @end @implementation AWSEC2VpnConnectionDeviceType + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"platform" : @"Platform", @"software" : @"Software", @"vendor" : @"Vendor", @"vpnConnectionDeviceTypeId" : @"VpnConnectionDeviceTypeId", }; } @end @implementation AWSEC2VpnConnectionOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enableAcceleration" : @"EnableAcceleration", @"localIpv4NetworkCidr" : @"LocalIpv4NetworkCidr", @"localIpv6NetworkCidr" : @"LocalIpv6NetworkCidr", @"outsideIpAddressType" : @"OutsideIpAddressType", @"remoteIpv4NetworkCidr" : @"RemoteIpv4NetworkCidr", @"remoteIpv6NetworkCidr" : @"RemoteIpv6NetworkCidr", @"staticRoutesOnly" : @"StaticRoutesOnly", @"transportTransitGatewayAttachmentId" : @"TransportTransitGatewayAttachmentId", @"tunnelInsideIpVersion" : @"TunnelInsideIpVersion", @"tunnelOptions" : @"TunnelOptions", }; } + (NSValueTransformer *)tunnelInsideIpVersionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ipv4"] == NSOrderedSame) { return @(AWSEC2TunnelInsideIpVersionIpv4); } if ([value caseInsensitiveCompare:@"ipv6"] == NSOrderedSame) { return @(AWSEC2TunnelInsideIpVersionIpv6); } return @(AWSEC2TunnelInsideIpVersionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TunnelInsideIpVersionIpv4: return @"ipv4"; case AWSEC2TunnelInsideIpVersionIpv6: return @"ipv6"; default: return nil; } }]; } + (NSValueTransformer *)tunnelOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2TunnelOption class]]; } @end @implementation AWSEC2VpnConnectionOptionsSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"enableAcceleration" : @"EnableAcceleration", @"localIpv4NetworkCidr" : @"LocalIpv4NetworkCidr", @"localIpv6NetworkCidr" : @"LocalIpv6NetworkCidr", @"outsideIpAddressType" : @"OutsideIpAddressType", @"remoteIpv4NetworkCidr" : @"RemoteIpv4NetworkCidr", @"remoteIpv6NetworkCidr" : @"RemoteIpv6NetworkCidr", @"staticRoutesOnly" : @"StaticRoutesOnly", @"transportTransitGatewayAttachmentId" : @"TransportTransitGatewayAttachmentId", @"tunnelInsideIpVersion" : @"TunnelInsideIpVersion", @"tunnelOptions" : @"TunnelOptions", }; } + (NSValueTransformer *)tunnelInsideIpVersionJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ipv4"] == NSOrderedSame) { return @(AWSEC2TunnelInsideIpVersionIpv4); } if ([value caseInsensitiveCompare:@"ipv6"] == NSOrderedSame) { return @(AWSEC2TunnelInsideIpVersionIpv6); } return @(AWSEC2TunnelInsideIpVersionUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2TunnelInsideIpVersionIpv4: return @"ipv4"; case AWSEC2TunnelInsideIpVersionIpv6: return @"ipv6"; default: return nil; } }]; } + (NSValueTransformer *)tunnelOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VpnTunnelOptionsSpecification class]]; } @end @implementation AWSEC2VpnGateway + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"amazonSideAsn" : @"AmazonSideAsn", @"availabilityZone" : @"AvailabilityZone", @"state" : @"State", @"tags" : @"Tags", @"types" : @"Type", @"vpcAttachments" : @"VpcAttachments", @"vpnGatewayId" : @"VpnGatewayId", }; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2VpnStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2VpnStateAvailable); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2VpnStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2VpnStateDeleted); } return @(AWSEC2VpnStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VpnStatePending: return @"pending"; case AWSEC2VpnStateAvailable: return @"available"; case AWSEC2VpnStateDeleting: return @"deleting"; case AWSEC2VpnStateDeleted: return @"deleted"; default: return nil; } }]; } + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Tag class]]; } + (NSValueTransformer *)typesJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"ipsec.1"] == NSOrderedSame) { return @(AWSEC2GatewayTypeIpsec1); } return @(AWSEC2GatewayTypeUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2GatewayTypeIpsec1: return @"ipsec.1"; default: return nil; } }]; } + (NSValueTransformer *)vpcAttachmentsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2VpcAttachment class]]; } @end @implementation AWSEC2VpnStaticRoute + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"destinationCidrBlock" : @"DestinationCidrBlock", @"source" : @"Source", @"state" : @"State", }; } + (NSValueTransformer *)sourceJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"Static"] == NSOrderedSame) { return @(AWSEC2VpnStaticRouteSourceStatic); } return @(AWSEC2VpnStaticRouteSourceUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VpnStaticRouteSourceStatic: return @"Static"; default: return nil; } }]; } + (NSValueTransformer *)stateJSONTransformer { return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { if ([value caseInsensitiveCompare:@"pending"] == NSOrderedSame) { return @(AWSEC2VpnStatePending); } if ([value caseInsensitiveCompare:@"available"] == NSOrderedSame) { return @(AWSEC2VpnStateAvailable); } if ([value caseInsensitiveCompare:@"deleting"] == NSOrderedSame) { return @(AWSEC2VpnStateDeleting); } if ([value caseInsensitiveCompare:@"deleted"] == NSOrderedSame) { return @(AWSEC2VpnStateDeleted); } return @(AWSEC2VpnStateUnknown); } reverseBlock:^NSString *(NSNumber *value) { switch ([value integerValue]) { case AWSEC2VpnStatePending: return @"pending"; case AWSEC2VpnStateAvailable: return @"available"; case AWSEC2VpnStateDeleting: return @"deleting"; case AWSEC2VpnStateDeleted: return @"deleted"; default: return nil; } }]; } @end @implementation AWSEC2VpnTunnelLogOptions + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cloudWatchLogOptions" : @"CloudWatchLogOptions", }; } + (NSValueTransformer *)cloudWatchLogOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CloudWatchLogOptions class]]; } @end @implementation AWSEC2VpnTunnelLogOptionsSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cloudWatchLogOptions" : @"CloudWatchLogOptions", }; } + (NSValueTransformer *)cloudWatchLogOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2CloudWatchLogOptionsSpecification class]]; } @end @implementation AWSEC2VpnTunnelOptionsSpecification + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"DPDTimeoutAction" : @"DPDTimeoutAction", @"DPDTimeoutSeconds" : @"DPDTimeoutSeconds", @"enableTunnelLifecycleControl" : @"EnableTunnelLifecycleControl", @"IKEVersions" : @"IKEVersions", @"logOptions" : @"LogOptions", @"phase1DHGroupNumbers" : @"Phase1DHGroupNumbers", @"phase1EncryptionAlgorithms" : @"Phase1EncryptionAlgorithms", @"phase1IntegrityAlgorithms" : @"Phase1IntegrityAlgorithms", @"phase1LifetimeSeconds" : @"Phase1LifetimeSeconds", @"phase2DHGroupNumbers" : @"Phase2DHGroupNumbers", @"phase2EncryptionAlgorithms" : @"Phase2EncryptionAlgorithms", @"phase2IntegrityAlgorithms" : @"Phase2IntegrityAlgorithms", @"phase2LifetimeSeconds" : @"Phase2LifetimeSeconds", @"preSharedKey" : @"PreSharedKey", @"rekeyFuzzPercentage" : @"RekeyFuzzPercentage", @"rekeyMarginTimeSeconds" : @"RekeyMarginTimeSeconds", @"replayWindowSize" : @"ReplayWindowSize", @"startupAction" : @"StartupAction", @"tunnelInsideCidr" : @"TunnelInsideCidr", @"tunnelInsideIpv6Cidr" : @"TunnelInsideIpv6Cidr", }; } + (NSValueTransformer *)IKEVersionsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2IKEVersionsRequestListValue class]]; } + (NSValueTransformer *)logOptionsJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2VpnTunnelLogOptionsSpecification class]]; } + (NSValueTransformer *)phase1DHGroupNumbersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase1DHGroupNumbersRequestListValue class]]; } + (NSValueTransformer *)phase1EncryptionAlgorithmsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase1EncryptionAlgorithmsRequestListValue class]]; } + (NSValueTransformer *)phase1IntegrityAlgorithmsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase1IntegrityAlgorithmsRequestListValue class]]; } + (NSValueTransformer *)phase2DHGroupNumbersJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase2DHGroupNumbersRequestListValue class]]; } + (NSValueTransformer *)phase2EncryptionAlgorithmsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase2EncryptionAlgorithmsRequestListValue class]]; } + (NSValueTransformer *)phase2IntegrityAlgorithmsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSEC2Phase2IntegrityAlgorithmsRequestListValue class]]; } @end @implementation AWSEC2WithdrawByoipCidrRequest + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"cidr" : @"Cidr", @"dryRun" : @"DryRun", }; } @end @implementation AWSEC2WithdrawByoipCidrResult + (BOOL)supportsSecureCoding { return YES; } + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"byoipCidr" : @"ByoipCidr", }; } + (NSValueTransformer *)byoipCidrJSONTransformer { return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSEC2ByoipCidr class]]; } @end