from datetime import datetime
from enum import StrEnum
from typing import TypedDict

from localstack.aws.api import RequestContext, ServiceRequest, handler
from localstack.aws.api import ServiceException as ServiceException

AccountID = str
AddressMaxResults = int
AllocationId = str
AllowedInstanceType = str
AssetId = str
AutoRecoveryFlag = bool
AvailabilityZoneId = str
AvailabilityZoneName = str
BareMetalFlag = bool
BaselineBandwidthInGbps = float
BaselineBandwidthInMbps = int
BaselineIops = int
BaselineThroughputInMBps = float
Boolean = bool
BoxedBoolean = bool
BoxedDouble = float
BoxedInteger = int
BundleId = str
BurstablePerformanceFlag = bool
CancelCapacityReservationFleetErrorCode = str
CancelCapacityReservationFleetErrorMessage = str
CapacityBlockId = str
CapacityManagerDataExportId = str
CapacityReservationFleetId = str
CapacityReservationId = str
CarrierGatewayId = str
CarrierGatewayMaxResults = int
CertificateArn = str
CertificateId = str
ClientSecretType = str
ClientVpnEndpointId = str
CloudWatchLogGroupArn = str
CoipPoolId = str
CoipPoolMaxResults = int
ComponentAccount = str
ComponentRegion = str
ConnectionNotificationId = str
ConversionTaskId = str
CoolOffPeriodRequestHours = int
CoolOffPeriodResponseHours = int
CopySnapshotRequestPSU = str
CoreCount = int
CoreNetworkArn = str
CpuManufacturerName = str
CurrentGenerationFlag = bool
CustomerGatewayId = str
DITMaxResults = int
DITOMaxResults = int
DeclarativePoliciesMaxResults = int
DeclarativePoliciesReportId = str
DedicatedHostFlag = bool
DedicatedHostId = str
DefaultEnaQueueCountPerInterface = int
DefaultNetworkCardIndex = int
DefaultingDhcpOptionsId = str
DescribeAddressTransfersMaxResults = int
DescribeByoipCidrsMaxResults = int
DescribeCapacityBlockExtensionOfferingsMaxResults = int
DescribeCapacityBlockOfferingsMaxResults = int
DescribeCapacityBlockStatusMaxResults = int
DescribeCapacityBlocksMaxResults = int
DescribeCapacityManagerDataExportsRequestMaxResults = int
DescribeCapacityReservationBillingRequestsRequestMaxResults = int
DescribeCapacityReservationFleetsMaxResults = int
DescribeCapacityReservationTopologyMaxResults = int
DescribeCapacityReservationsMaxResults = int
DescribeClassicLinkInstancesMaxResults = int
DescribeClientVpnAuthorizationRulesMaxResults = int
DescribeClientVpnConnectionsMaxResults = int
DescribeClientVpnEndpointMaxResults = int
DescribeClientVpnRoutesMaxResults = int
DescribeClientVpnTargetNetworksMaxResults = int
DescribeDhcpOptionsMaxResults = int
DescribeEgressOnlyInternetGatewaysMaxResults = int
DescribeElasticGpusMaxResults = int
DescribeExportImageTasksMaxResults = int
DescribeFastLaunchImagesRequestMaxResults = int
DescribeFastSnapshotRestoresMaxResults = int
DescribeFpgaImagesMaxResults = int
DescribeFutureCapacityMaxResults = int
DescribeHostReservationsMaxResults = int
DescribeIamInstanceProfileAssociationsMaxResults = int
DescribeImageReferencesMaxResults = int
DescribeImageUsageReportEntriesMaxResults = int
DescribeImageUsageReportsMaxResults = int
DescribeInstanceCreditSpecificationsMaxResults = int
DescribeInstanceImageMetadataMaxResults = int
DescribeInstanceSqlHaStatesRequestMaxResultsInteger = int
DescribeInstanceTopologyMaxResults = int
DescribeInternetGatewaysMaxResults = int
DescribeIpamByoasnMaxResults = int
DescribeLaunchTemplatesMaxResults = int
DescribeLockedSnapshotsMaxResults = int
DescribeMacHostsRequestMaxResults = int
DescribeMacModificationTasksMaxResults = int
DescribeMovingAddressesMaxResults = int
DescribeNatGatewaysMaxResults = int
DescribeNetworkAclsMaxResults = int
DescribeNetworkInterfacePermissionsMaxResults = int
DescribeNetworkInterfacesMaxResults = int
DescribePrincipalIdFormatMaxResults = int
DescribeReplaceRootVolumeTasksMaxResults = int
DescribeRouteTablesMaxResults = int
DescribeScheduledInstanceAvailabilityMaxResults = int
DescribeSecurityGroupRulesMaxResults = int
DescribeSecurityGroupVpcAssociationsMaxResults = int
DescribeSecurityGroupsMaxResults = int
DescribeSnapshotTierStatusMaxResults = int
DescribeSpotFleetInstancesMaxResults = int
DescribeSpotFleetRequestHistoryMaxResults = int
DescribeStaleSecurityGroupsMaxResults = int
DescribeStaleSecurityGroupsNextToken = str
DescribeStoreImageTasksRequestMaxResults = int
DescribeSubnetsMaxResults = int
DescribeTrunkInterfaceAssociationsMaxResults = int
DescribeVerifiedAccessEndpointsMaxResults = int
DescribeVerifiedAccessGroupMaxResults = int
DescribeVerifiedAccessInstanceLoggingConfigurationsMaxResults = int
DescribeVerifiedAccessInstancesMaxResults = int
DescribeVerifiedAccessTrustProvidersMaxResults = int
DescribeVpcBlockPublicAccessExclusionsMaxResults = int
DescribeVpcClassicLinkDnsSupportMaxResults = int
DescribeVpcClassicLinkDnsSupportNextToken = str
DescribeVpcEncryptionControlsMaxResults = int
DescribeVpcPeeringConnectionsMaxResults = int
DescribeVpcsMaxResults = int
DhcpOptionsId = str
DisassociateSecurityGroupVpcSecurityGroupId = str
DiskCount = int
Double = float
DoubleWithConstraints = float
DrainSeconds = int
EbsCardIndex = int
EfaSupportedFlag = bool
EgressOnlyInternetGatewayId = str
EipAllocationPublicIp = str
EkPubKeyValue = str
ElasticGpuId = str
ElasticInferenceAcceleratorCount = int
ElasticIpAssociationId = str
EnaSrdSupported = bool
EncryptionInTransitSupported = bool
ExcludedInstanceType = str
ExportImageTaskId = str
ExportTaskId = str
ExportVmTaskId = str
FleetId = str
Float = float
FlowLogResourceId = str
FpgaDeviceCount = int
FpgaDeviceManufacturerName = str
FpgaDeviceMemorySize = int
FpgaDeviceName = str
FpgaImageId = str
FreeTierEligibleFlag = bool
GVCDMaxResults = int
GetCapacityReservationUsageRequestMaxResults = int
GetGroupsForCapacityReservationRequestMaxResults = int
GetIpamPoolAllocationsMaxResults = int
GetManagedPrefixListAssociationsMaxResults = int
GetNetworkInsightsAccessScopeAnalysisFindingsMaxResults = int
GetSecurityGroupsForVpcRequestMaxResults = int
GetSubnetCidrReservationsMaxResults = int
GetVerifiedAccessEndpointTargetsMaxResults = int
GetVpcResourcesBlockingEncryptionEnforcementMaxResults = int
GpuDeviceCount = int
GpuDeviceManufacturerName = str
GpuDeviceMemorySize = int
GpuDeviceName = str
GpuPartitionSize = float
HibernationFlag = bool
HostReservationId = str
Hour = int
IamInstanceProfileAssociationId = str
ImageId = str
ImageName = str
ImageNameRequest = str
ImageProvider = str
ImageProviderRequest = str
ImageUsageReportId = str
ImageUsageReportState = str
ImageUsageReportStateReason = str
ImageUsageResourceTypeName = str
ImageUsageResourceTypeOptionValue = str
ImportImageTaskId = str
ImportManifestUrl = str
ImportSnapshotTaskId = str
ImportTaskId = str
InferenceDeviceCount = int
InferenceDeviceManufacturerName = str
InferenceDeviceMemorySize = int
InferenceDeviceName = str
InstanceConnectEndpointId = str
InstanceConnectEndpointMaxResults = int
InstanceEventId = str
InstanceEventWindowCronExpression = str
InstanceEventWindowId = str
InstanceId = str
InstanceIdForResolver = str
InstanceIdWithVolumeResolver = str
InstanceStorageFlag = bool
Integer = int
IntegerWithConstraints = int
InternetGatewayId = str
IpAddress = str
IpamAddressHistoryMaxResults = int
IpamExternalResourceVerificationTokenId = str
IpamId = str
IpamMaxResults = int
IpamNetmaskLength = int
IpamPolicyId = str
IpamPoolAllocationId = str
IpamPoolCidrId = str
IpamPoolId = str
IpamPrefixListResolverId = str
IpamPrefixListResolverTargetId = str
IpamResourceDiscoveryAssociationId = str
IpamResourceDiscoveryId = str
IpamScopeId = str
Ipv4PoolCoipId = str
Ipv4PoolEc2Id = str
Ipv6Address = str
Ipv6Flag = bool
Ipv6PoolEc2Id = str
Ipv6PoolMaxResults = int
KernelId = str
KeyPairId = str
KeyPairName = str
KeyPairNameWithResolver = str
KmsKeyArn = str
KmsKeyId = str
LaunchTemplateElasticInferenceAcceleratorCount = int
LaunchTemplateId = str
LaunchTemplateName = str
ListImagesInRecycleBinMaxResults = int
ListSnapshotsInRecycleBinMaxResults = int
LoadBalancerArn = str
LocalGatewayId = str
LocalGatewayMaxResults = int
LocalGatewayRouteTableVirtualInterfaceGroupAssociationId = str
LocalGatewayRouteTableVpcAssociationId = str
LocalGatewayRoutetableId = str
LocalGatewayVirtualInterfaceGroupId = str
LocalGatewayVirtualInterfaceId = str
Location = str
LogicalGpuCount = int
MacModificationTaskId = str
MarketplaceProductCode = str
MarketplaceProductCodeRequest = str
MaxIpv4AddrPerInterface = int
MaxIpv6AddrPerInterface = int
MaxNetworkInterfaces = int
MaxResults = int
MaxResultsParam = int
MaximumBandwidthInMbps = int
MaximumDaysSinceCreatedValue = int
MaximumDaysSinceDeprecatedValue = int
MaximumEbsAttachments = int
MaximumEbsCards = int
MaximumEfaInterfaces = int
MaximumEnaQueueCount = int
MaximumEnaQueueCountPerInterface = int
MaximumIops = int
MaximumNetworkCards = int
MaximumThroughputInMBps = float
MediaDeviceCount = int
MediaDeviceManufacturerName = str
MediaDeviceMemorySize = int
MediaDeviceName = str
NatGatewayId = str
NetmaskLength = int
NetworkAclAssociationId = str
NetworkAclId = str
NetworkCardIndex = int
NetworkInsightsAccessScopeAnalysisId = str
NetworkInsightsAccessScopeId = str
NetworkInsightsAnalysisId = str
NetworkInsightsMaxResults = int
NetworkInsightsPathId = str
NetworkInsightsResourceId = str
NetworkInterfaceAttachmentId = str
NetworkInterfaceId = str
NetworkInterfacePermissionId = str
NetworkPerformance = str
NeuronDeviceCoreCount = int
NeuronDeviceCoreVersion = int
NeuronDeviceCount = int
NeuronDeviceMemorySize = int
NeuronDeviceName = str
NextToken = str
NitroTpmSupportedVersionType = str
OdbNetworkArn = str
OfferingId = str
OutpostArn = str
OutpostLagId = str
OutpostLagMaxResults = int
PasswordData = str
PeakBandwidthInGbps = float
Period = int
PlacementGroupArn = str
PlacementGroupId = str
PlacementGroupName = str
PoolMaxResults = int
Port = int
PrefixListMaxResults = int
PrefixListResourceId = str
Priority = int
PrivateIpAddressCount = int
ProcessorSustainedClockSpeed = float
ProtocolInt = int
PublicIpAddress = str
RamdiskId = str
RdsDbClusterArn = str
RdsDbInstanceArn = str
RdsDbProxyArn = str
ReplaceRootVolumeTaskId = str
ReportInstanceStatusRequestDescription = str
ReservationId = str
ReservedInstancesListingId = str
ReservedInstancesModificationId = str
ReservedInstancesOfferingId = str
ResourceArn = str
ResourceConfigurationArn = str
ResourceTypeOptionValue = str
RestoreSnapshotTierRequestTemporaryRestoreDays = int
ResultRange = int
RetentionPeriodRequestDays = int
RetentionPeriodResponseDays = int
RoleId = str
RouteGatewayId = str
RouteServerEndpointId = str
RouteServerId = str
RouteServerMaxResults = int
RouteServerPeerId = str
RouteTableAssociationId = str
RouteTableId = str
RunInstancesUserData = str
S3StorageUploadPolicy = str
S3StorageUploadPolicySignature = str
ScheduledInstanceId = str
SecretArn = str
SecurityGroupId = str
SecurityGroupName = str
SecurityGroupRuleId = str
SensitiveMacCredentials = str
SensitiveUrl = str
SensitiveUserData = str
ServiceLinkMaxResults = int
ServiceLinkVirtualInterfaceId = str
ServiceNetworkArn = str
SnapshotCompletionDurationMinutesRequest = int
SnapshotCompletionDurationMinutesResponse = int
SnapshotId = str
SpotFleetRequestId = str
SpotInstanceRequestId = str
SpotPlacementScoresMaxResults = int
SpotPlacementScoresTargetCapacity = int
String = str
StringType = str
SubnetCidrAssociationId = str
SubnetCidrReservationId = str
SubnetId = str
TaggableResourceId = str
ThreadsPerCore = int
TotalMediaMemory = int
TotalNeuronMemory = int
TrafficMirrorFilterId = str
TrafficMirrorFilterRuleIdWithResolver = str
TrafficMirrorSessionId = str
TrafficMirrorTargetId = str
TrafficMirroringMaxResults = int
TransitAssociationGatewayId = str
TransitGatewayAttachmentId = str
TransitGatewayConnectPeerId = str
TransitGatewayId = str
TransitGatewayMaxResults = int
TransitGatewayMeteringPolicyId = str
TransitGatewayMulticastDomainId = str
TransitGatewayPolicyTableId = str
TransitGatewayRouteTableAnnouncementId = str
TransitGatewayRouteTableId = str
TrunkInterfaceAssociationId = str
VCpuCount = int
VerifiedAccessEndpointId = str
VerifiedAccessEndpointPortNumber = int
VerifiedAccessGroupId = str
VerifiedAccessInstanceId = str
VerifiedAccessTrustProviderId = str
VersionDescription = str
VolumeId = str
VolumeIdWithResolver = str
VpcBlockPublicAccessExclusionId = str
VpcCidrAssociationId = str
VpcEncryptionControlId = str
VpcEndpointId = str
VpcEndpointServiceId = str
VpcFlowLogId = str
VpcId = str
VpcPeeringConnectionId = str
VpcPeeringConnectionIdWithResolver = str
VpnConcentratorId = str
VpnConnectionDeviceSampleConfiguration = str
VpnConnectionDeviceTypeId = str
VpnConnectionId = str
VpnGatewayId = str
Workload = str
customerGatewayConfiguration = str
maxResults = int
preSharedKey = str
totalFpgaMemory = int
totalGpuMemory = int
totalInferenceMemory = int


class AcceleratorManufacturer(StrEnum):
    amazon_web_services = "amazon-web-services"
    amd = "amd"
    nvidia = "nvidia"
    xilinx = "xilinx"
    habana = "habana"


class AcceleratorName(StrEnum):
    a100 = "a100"
    inferentia = "inferentia"
    k520 = "k520"
    k80 = "k80"
    m60 = "m60"
    radeon_pro_v520 = "radeon-pro-v520"
    t4 = "t4"
    vu9p = "vu9p"
    v100 = "v100"
    a10g = "a10g"
    h100 = "h100"
    t4g = "t4g"
    l40s = "l40s"
    l4 = "l4"
    gaudi_hl_205 = "gaudi-hl-205"
    inferentia2 = "inferentia2"
    trainium = "trainium"
    trainium2 = "trainium2"
    u30 = "u30"


class AcceleratorType(StrEnum):
    gpu = "gpu"
    fpga = "fpga"
    inference = "inference"
    media = "media"


class AccountAttributeName(StrEnum):
    supported_platforms = "supported-platforms"
    default_vpc = "default-vpc"


class ActivityStatus(StrEnum):
    error = "error"
    pending_fulfillment = "pending_fulfillment"
    pending_termination = "pending_termination"
    fulfilled = "fulfilled"


class AddressAttributeName(StrEnum):
    domain_name = "domain-name"


class AddressFamily(StrEnum):
    ipv4 = "ipv4"
    ipv6 = "ipv6"


class AddressTransferStatus(StrEnum):
    pending = "pending"
    disabled = "disabled"
    accepted = "accepted"


class Affinity(StrEnum):
    default = "default"
    host = "host"


class AllocationState(StrEnum):
    available = "available"
    under_assessment = "under-assessment"
    permanent_failure = "permanent-failure"
    released = "released"
    released_permanent_failure = "released-permanent-failure"
    pending = "pending"


class AllocationStrategy(StrEnum):
    lowestPrice = "lowestPrice"
    diversified = "diversified"
    capacityOptimized = "capacityOptimized"
    capacityOptimizedPrioritized = "capacityOptimizedPrioritized"
    priceCapacityOptimized = "priceCapacityOptimized"


class AllocationType(StrEnum):
    used = "used"
    future = "future"


class AllowedImagesSettingsDisabledState(StrEnum):
    disabled = "disabled"


class AllowedImagesSettingsEnabledState(StrEnum):
    enabled = "enabled"
    audit_mode = "audit-mode"


class AllowsMultipleInstanceTypes(StrEnum):
    on = "on"
    off = "off"


class AmdSevSnpSpecification(StrEnum):
    enabled = "enabled"
    disabled = "disabled"


class AnalysisStatus(StrEnum):
    running = "running"
    succeeded = "succeeded"
    failed = "failed"


class ApplianceModeSupportValue(StrEnum):
    enable = "enable"
    disable = "disable"


class ArchitectureType(StrEnum):
    i386 = "i386"
    x86_64 = "x86_64"
    arm64 = "arm64"
    x86_64_mac = "x86_64_mac"
    arm64_mac = "arm64_mac"


class ArchitectureValues(StrEnum):
    i386 = "i386"
    x86_64 = "x86_64"
    arm64 = "arm64"
    x86_64_mac = "x86_64_mac"
    arm64_mac = "arm64_mac"


class AsnAssociationState(StrEnum):
    disassociated = "disassociated"
    failed_disassociation = "failed-disassociation"
    failed_association = "failed-association"
    pending_disassociation = "pending-disassociation"
    pending_association = "pending-association"
    associated = "associated"


class AsnState(StrEnum):
    deprovisioned = "deprovisioned"
    failed_deprovision = "failed-deprovision"
    failed_provision = "failed-provision"
    pending_deprovision = "pending-deprovision"
    pending_provision = "pending-provision"
    provisioned = "provisioned"


class AssociatedNetworkType(StrEnum):
    vpc = "vpc"


class AssociationStatusCode(StrEnum):
    associating = "associating"
    associated = "associated"
    association_failed = "association-failed"
    disassociating = "disassociating"
    disassociated = "disassociated"


class AttachmentLimitType(StrEnum):
    shared = "shared"
    dedicated = "dedicated"


class AttachmentStatus(StrEnum):
    attaching = "attaching"
    attached = "attached"
    detaching = "detaching"
    detached = "detached"


class AutoAcceptSharedAssociationsValue(StrEnum):
    enable = "enable"
    disable = "disable"


class AutoAcceptSharedAttachmentsValue(StrEnum):
    enable = "enable"
    disable = "disable"


class AutoPlacement(StrEnum):
    on = "on"
    off = "off"


class AutoProvisionZonesState(StrEnum):
    enabled = "enabled"
    disabled = "disabled"


class AutoScalingIpsState(StrEnum):
    enabled = "enabled"
    disabled = "disabled"


class AvailabilityMode(StrEnum):
    zonal = "zonal"
    regional = "regional"


class AvailabilityZoneOptInStatus(StrEnum):
    opt_in_not_required = "opt-in-not-required"
    opted_in = "opted-in"
    not_opted_in = "not-opted-in"


class AvailabilityZoneState(StrEnum):
    available = "available"
    information = "information"
    impaired = "impaired"
    unavailable = "unavailable"
    constrained = "constrained"


class BandwidthWeightingType(StrEnum):
    default = "default"
    vpc_1 = "vpc-1"
    ebs_1 = "ebs-1"


class BareMetal(StrEnum):
    included = "included"
    required = "required"
    excluded = "excluded"


class BatchState(StrEnum):
    submitted = "submitted"
    active = "active"
    cancelled = "cancelled"
    failed = "failed"
    cancelled_running = "cancelled_running"
    cancelled_terminating = "cancelled_terminating"
    modifying = "modifying"


class BgpStatus(StrEnum):
    up = "up"
    down = "down"


class BlockPublicAccessMode(StrEnum):
    off = "off"
    block_bidirectional = "block-bidirectional"
    block_ingress = "block-ingress"


class BootModeType(StrEnum):
    legacy_bios = "legacy-bios"
    uefi = "uefi"


class BootModeValues(StrEnum):
    legacy_bios = "legacy-bios"
    uefi = "uefi"
    uefi_preferred = "uefi-preferred"


class BundleTaskState(StrEnum):
    pending = "pending"
    waiting_for_shutdown = "waiting-for-shutdown"
    bundling = "bundling"
    storing = "storing"
    cancelling = "cancelling"
    complete = "complete"
    failed = "failed"


class BurstablePerformance(StrEnum):
    included = "included"
    required = "required"
    excluded = "excluded"


class ByoipCidrState(StrEnum):
    advertised = "advertised"
    deprovisioned = "deprovisioned"
    failed_deprovision = "failed-deprovision"
    failed_provision = "failed-provision"
    pending_advertising = "pending-advertising"
    pending_deprovision = "pending-deprovision"
    pending_provision = "pending-provision"
    pending_withdrawal = "pending-withdrawal"
    provisioned = "provisioned"
    provisioned_not_publicly_advertisable = "provisioned-not-publicly-advertisable"


class CallerRole(StrEnum):
    odcr_owner = "odcr-owner"
    unused_reservation_billing_owner = "unused-reservation-billing-owner"


class CancelBatchErrorCode(StrEnum):
    fleetRequestIdDoesNotExist = "fleetRequestIdDoesNotExist"
    fleetRequestIdMalformed = "fleetRequestIdMalformed"
    fleetRequestNotInCancellableState = "fleetRequestNotInCancellableState"
    unexpectedError = "unexpectedError"


class CancelSpotInstanceRequestState(StrEnum):
    active = "active"
    open = "open"
    closed = "closed"
    cancelled = "cancelled"
    completed = "completed"


class CapacityBlockExtensionStatus(StrEnum):
    payment_pending = "payment-pending"
    payment_failed = "payment-failed"
    payment_succeeded = "payment-succeeded"


class CapacityBlockInterconnectStatus(StrEnum):
    ok = "ok"
    impaired = "impaired"
    insufficient_data = "insufficient-data"


class CapacityBlockResourceState(StrEnum):
    active = "active"
    expired = "expired"
    unavailable = "unavailable"
    cancelled = "cancelled"
    failed = "failed"
    scheduled = "scheduled"
    payment_pending = "payment-pending"
    payment_failed = "payment-failed"


class CapacityManagerDataExportStatus(StrEnum):
    pending = "pending"
    in_progress = "in-progress"
    delivered = "delivered"
    failed = "failed"


class CapacityManagerStatus(StrEnum):
    enabled = "enabled"
    disabled = "disabled"


class CapacityReservationBillingRequestStatus(StrEnum):
    pending = "pending"
    accepted = "accepted"
    rejected = "rejected"
    cancelled = "cancelled"
    revoked = "revoked"
    expired = "expired"


class CapacityReservationDeliveryPreference(StrEnum):
    fixed = "fixed"
    incremental = "incremental"


class CapacityReservationFleetState(StrEnum):
    submitted = "submitted"
    modifying = "modifying"
    active = "active"
    partially_fulfilled = "partially_fulfilled"
    expiring = "expiring"
    expired = "expired"
    cancelling = "cancelling"
    cancelled = "cancelled"
    failed = "failed"


class CapacityReservationInstancePlatform(StrEnum):
    Linux_UNIX = "Linux/UNIX"
    Red_Hat_Enterprise_Linux = "Red Hat Enterprise Linux"
    SUSE_Linux = "SUSE Linux"
    Windows = "Windows"
    Windows_with_SQL_Server = "Windows with SQL Server"
    Windows_with_SQL_Server_Enterprise = "Windows with SQL Server Enterprise"
    Windows_with_SQL_Server_Standard = "Windows with SQL Server Standard"
    Windows_with_SQL_Server_Web = "Windows with SQL Server Web"
    Linux_with_SQL_Server_Standard = "Linux with SQL Server Standard"
    Linux_with_SQL_Server_Web = "Linux with SQL Server Web"
    Linux_with_SQL_Server_Enterprise = "Linux with SQL Server Enterprise"
    RHEL_with_SQL_Server_Standard = "RHEL with SQL Server Standard"
    RHEL_with_SQL_Server_Enterprise = "RHEL with SQL Server Enterprise"
    RHEL_with_SQL_Server_Web = "RHEL with SQL Server Web"
    RHEL_with_HA = "RHEL with HA"
    RHEL_with_HA_and_SQL_Server_Standard = "RHEL with HA and SQL Server Standard"
    RHEL_with_HA_and_SQL_Server_Enterprise = "RHEL with HA and SQL Server Enterprise"
    Ubuntu_Pro = "Ubuntu Pro"


class CapacityReservationPreference(StrEnum):
    capacity_reservations_only = "capacity-reservations-only"
    open = "open"
    none = "none"


class CapacityReservationState(StrEnum):
    active = "active"
    expired = "expired"
    cancelled = "cancelled"
    pending = "pending"
    failed = "failed"
    scheduled = "scheduled"
    payment_pending = "payment-pending"
    payment_failed = "payment-failed"
    assessing = "assessing"
    delayed = "delayed"
    unsupported = "unsupported"
    unavailable = "unavailable"


class CapacityReservationTenancy(StrEnum):
    default = "default"
    dedicated = "dedicated"


class CapacityReservationType(StrEnum):
    default = "default"
    capacity_block = "capacity-block"


class CapacityTenancy(StrEnum):
    default = "default"
    dedicated = "dedicated"


class CarrierGatewayState(StrEnum):
    pending = "pending"
    available = "available"
    deleting = "deleting"
    deleted = "deleted"


class ClientCertificateRevocationListStatusCode(StrEnum):
    pending = "pending"
    active = "active"


class ClientVpnAuthenticationType(StrEnum):
    certificate_authentication = "certificate-authentication"
    directory_service_authentication = "directory-service-authentication"
    federated_authentication = "federated-authentication"


class ClientVpnAuthorizationRuleStatusCode(StrEnum):
    authorizing = "authorizing"
    active = "active"
    failed = "failed"
    revoking = "revoking"


class ClientVpnConnectionStatusCode(StrEnum):
    active = "active"
    failed_to_terminate = "failed-to-terminate"
    terminating = "terminating"
    terminated = "terminated"


class ClientVpnEndpointAttributeStatusCode(StrEnum):
    applying = "applying"
    applied = "applied"


class ClientVpnEndpointStatusCode(StrEnum):
    pending_associate = "pending-associate"
    available = "available"
    deleting = "deleting"
    deleted = "deleted"


class ClientVpnRouteStatusCode(StrEnum):
    creating = "creating"
    active = "active"
    failed = "failed"
    deleting = "deleting"


class Comparison(StrEnum):
    equals = "equals"
    in_ = "in"


class ConnectionNotificationState(StrEnum):
    Enabled = "Enabled"
    Disabled = "Disabled"


class ConnectionNotificationType(StrEnum):
    Topic = "Topic"


class ConnectivityType(StrEnum):
    private = "private"
    public = "public"


class ContainerFormat(StrEnum):
    ova = "ova"


class ConversionTaskState(StrEnum):
    active = "active"
    cancelling = "cancelling"
    cancelled = "cancelled"
    completed = "completed"


class CopyTagsFromSource(StrEnum):
    volume = "volume"


class CpuManufacturer(StrEnum):
    intel = "intel"
    amd = "amd"
    amazon_web_services = "amazon-web-services"
    apple = "apple"


class CurrencyCodeValues(StrEnum):
    USD = "USD"


class DatafeedSubscriptionState(StrEnum):
    Active = "Active"
    Inactive = "Inactive"


class DefaultInstanceMetadataEndpointState(StrEnum):
    disabled = "disabled"
    enabled = "enabled"
    no_preference = "no-preference"


class DefaultInstanceMetadataTagsState(StrEnum):
    disabled = "disabled"
    enabled = "enabled"
    no_preference = "no-preference"


class DefaultRouteTableAssociationValue(StrEnum):
    enable = "enable"
    disable = "disable"


class DefaultRouteTablePropagationValue(StrEnum):
    enable = "enable"
    disable = "disable"


class DefaultTargetCapacityType(StrEnum):
    spot = "spot"
    on_demand = "on-demand"
    capacity_block = "capacity-block"


class DeleteFleetErrorCode(StrEnum):
    fleetIdDoesNotExist = "fleetIdDoesNotExist"
    fleetIdMalformed = "fleetIdMalformed"
    fleetNotInDeletableState = "fleetNotInDeletableState"
    unexpectedError = "unexpectedError"


class DeleteQueuedReservedInstancesErrorCode(StrEnum):
    reserved_instances_id_invalid = "reserved-instances-id-invalid"
    reserved_instances_not_in_queued_state = "reserved-instances-not-in-queued-state"
    unexpected_error = "unexpected-error"


class DestinationFileFormat(StrEnum):
    plain_text = "plain-text"
    parquet = "parquet"


class DeviceTrustProviderType(StrEnum):
    jamf = "jamf"
    crowdstrike = "crowdstrike"
    jumpcloud = "jumpcloud"


class DeviceType(StrEnum):
    ebs = "ebs"
    instance_store = "instance-store"


class DiskImageFormat(StrEnum):
    VMDK = "VMDK"
    RAW = "RAW"
    VHD = "VHD"


class DiskType(StrEnum):
    hdd = "hdd"
    ssd = "ssd"


class DnsNameState(StrEnum):
    pendingVerification = "pendingVerification"
    verified = "verified"
    failed = "failed"


class DnsRecordIpType(StrEnum):
    ipv4 = "ipv4"
    dualstack = "dualstack"
    ipv6 = "ipv6"
    service_defined = "service-defined"


class DnsSupportValue(StrEnum):
    enable = "enable"
    disable = "disable"


class DomainType(StrEnum):
    vpc = "vpc"
    standard = "standard"


class DynamicRoutingValue(StrEnum):
    enable = "enable"
    disable = "disable"


class EbsEncryptionSupport(StrEnum):
    unsupported = "unsupported"
    supported = "supported"


class EbsNvmeSupport(StrEnum):
    unsupported = "unsupported"
    supported = "supported"
    required = "required"


class EbsOptimizedSupport(StrEnum):
    unsupported = "unsupported"
    supported = "supported"
    default = "default"


class Ec2InstanceConnectEndpointState(StrEnum):
    create_in_progress = "create-in-progress"
    create_complete = "create-complete"
    create_failed = "create-failed"
    delete_in_progress = "delete-in-progress"
    delete_complete = "delete-complete"
    delete_failed = "delete-failed"
    update_in_progress = "update-in-progress"
    update_complete = "update-complete"
    update_failed = "update-failed"


class EkPubKeyFormat(StrEnum):
    der = "der"
    tpmt = "tpmt"


class EkPubKeyType(StrEnum):
    rsa_2048 = "rsa-2048"
    ecc_sec_p384 = "ecc-sec-p384"


class ElasticGpuState(StrEnum):
    ATTACHED = "ATTACHED"


class ElasticGpuStatus(StrEnum):
    OK = "OK"
    IMPAIRED = "IMPAIRED"


class EnaSupport(StrEnum):
    unsupported = "unsupported"
    supported = "supported"
    required = "required"


class EncryptionStateValue(StrEnum):
    enabling = "enabling"
    enabled = "enabled"
    disabling = "disabling"
    disabled = "disabled"


class EncryptionSupportOptionValue(StrEnum):
    enable = "enable"
    disable = "disable"


class EndDateType(StrEnum):
    unlimited = "unlimited"
    limited = "limited"


class EndpointIpAddressType(StrEnum):
    ipv4 = "ipv4"
    ipv6 = "ipv6"
    dual_stack = "dual-stack"


class EphemeralNvmeSupport(StrEnum):
    unsupported = "unsupported"
    supported = "supported"
    required = "required"


class EventCode(StrEnum):
    instance_reboot = "instance-reboot"
    system_reboot = "system-reboot"
    system_maintenance = "system-maintenance"
    instance_retirement = "instance-retirement"
    instance_stop = "instance-stop"


class EventType(StrEnum):
    instanceChange = "instanceChange"
    fleetRequestChange = "fleetRequestChange"
    error = "error"
    information = "information"


class ExcessCapacityTerminationPolicy(StrEnum):
    noTermination = "noTermination"
    default = "default"


class ExportEnvironment(StrEnum):
    citrix = "citrix"
    vmware = "vmware"
    microsoft = "microsoft"


class ExportTaskState(StrEnum):
    active = "active"
    cancelling = "cancelling"
    cancelled = "cancelled"
    completed = "completed"


class FastLaunchResourceType(StrEnum):
    snapshot = "snapshot"


class FastLaunchStateCode(StrEnum):
    enabling = "enabling"
    enabling_failed = "enabling-failed"
    enabled = "enabled"
    enabled_failed = "enabled-failed"
    disabling = "disabling"
    disabling_failed = "disabling-failed"


class FastSnapshotRestoreStateCode(StrEnum):
    enabling = "enabling"
    optimizing = "optimizing"
    enabled = "enabled"
    disabling = "disabling"
    disabled = "disabled"


class FilterByDimension(StrEnum):
    resource_region = "resource-region"
    availability_zone_id = "availability-zone-id"
    account_id = "account-id"
    instance_family = "instance-family"
    instance_type = "instance-type"
    instance_platform = "instance-platform"
    reservation_arn = "reservation-arn"
    reservation_id = "reservation-id"
    reservation_type = "reservation-type"
    reservation_create_timestamp = "reservation-create-timestamp"
    reservation_start_timestamp = "reservation-start-timestamp"
    reservation_end_timestamp = "reservation-end-timestamp"
    reservation_end_date_type = "reservation-end-date-type"
    tenancy = "tenancy"
    reservation_state = "reservation-state"
    reservation_instance_match_criteria = "reservation-instance-match-criteria"
    reservation_unused_financial_owner = "reservation-unused-financial-owner"


class FindingsFound(StrEnum):
    true = "true"
    false = "false"
    unknown = "unknown"


class FleetActivityStatus(StrEnum):
    error = "error"
    pending_fulfillment = "pending_fulfillment"
    pending_termination = "pending_termination"
    fulfilled = "fulfilled"


class FleetCapacityReservationTenancy(StrEnum):
    default = "default"


class FleetCapacityReservationUsageStrategy(StrEnum):
    use_capacity_reservations_first = "use-capacity-reservations-first"


class FleetEventType(StrEnum):
    instance_change = "instance-change"
    fleet_change = "fleet-change"
    service_error = "service-error"


class FleetExcessCapacityTerminationPolicy(StrEnum):
    no_termination = "no-termination"
    termination = "termination"


class FleetInstanceMatchCriteria(StrEnum):
    open = "open"


class FleetOnDemandAllocationStrategy(StrEnum):
    lowest_price = "lowest-price"
    prioritized = "prioritized"


class FleetReplacementStrategy(StrEnum):
    launch = "launch"
    launch_before_terminate = "launch-before-terminate"


class FleetStateCode(StrEnum):
    submitted = "submitted"
    active = "active"
    deleted = "deleted"
    failed = "failed"
    deleted_running = "deleted_running"
    deleted_terminating = "deleted_terminating"
    modifying = "modifying"


class FleetType(StrEnum):
    request = "request"
    maintain = "maintain"
    instant = "instant"


class FlexibleEnaQueuesSupport(StrEnum):
    unsupported = "unsupported"
    supported = "supported"


class FlowLogsResourceType(StrEnum):
    VPC = "VPC"
    Subnet = "Subnet"
    NetworkInterface = "NetworkInterface"
    TransitGateway = "TransitGateway"
    TransitGatewayAttachment = "TransitGatewayAttachment"
    RegionalNatGateway = "RegionalNatGateway"


class FpgaImageAttributeName(StrEnum):
    description = "description"
    name = "name"
    loadPermission = "loadPermission"
    productCodes = "productCodes"


class FpgaImageStateCode(StrEnum):
    pending = "pending"
    failed = "failed"
    available = "available"
    unavailable = "unavailable"


class GatewayAssociationState(StrEnum):
    associated = "associated"
    not_associated = "not-associated"
    associating = "associating"
    disassociating = "disassociating"


class GatewayType(StrEnum):
    ipsec_1 = "ipsec.1"


class GroupBy(StrEnum):
    resource_region = "resource-region"
    availability_zone_id = "availability-zone-id"
    account_id = "account-id"
    instance_family = "instance-family"
    instance_type = "instance-type"
    instance_platform = "instance-platform"
    reservation_arn = "reservation-arn"
    reservation_id = "reservation-id"
    reservation_type = "reservation-type"
    reservation_create_timestamp = "reservation-create-timestamp"
    reservation_start_timestamp = "reservation-start-timestamp"
    reservation_end_timestamp = "reservation-end-timestamp"
    reservation_end_date_type = "reservation-end-date-type"
    tenancy = "tenancy"
    reservation_state = "reservation-state"
    reservation_instance_match_criteria = "reservation-instance-match-criteria"
    reservation_unused_financial_owner = "reservation-unused-financial-owner"


class HaStatus(StrEnum):
    processing = "processing"
    active = "active"
    standby = "standby"
    invalid = "invalid"


class HostMaintenance(StrEnum):
    on = "on"
    off = "off"


class HostRecovery(StrEnum):
    on = "on"
    off = "off"


class HostTenancy(StrEnum):
    default = "default"
    dedicated = "dedicated"
    host = "host"


class HostnameType(StrEnum):
    ip_name = "ip-name"
    resource_name = "resource-name"


class HttpTokensState(StrEnum):
    optional = "optional"
    required = "required"


class HypervisorType(StrEnum):
    ovm = "ovm"
    xen = "xen"


class IamInstanceProfileAssociationState(StrEnum):
    associating = "associating"
    associated = "associated"
    disassociating = "disassociating"
    disassociated = "disassociated"


class Igmpv2SupportValue(StrEnum):
    enable = "enable"
    disable = "disable"


class ImageAttributeName(StrEnum):
    description = "description"
    kernel = "kernel"
    ramdisk = "ramdisk"
    launchPermission = "launchPermission"
    productCodes = "productCodes"
    blockDeviceMapping = "blockDeviceMapping"
    sriovNetSupport = "sriovNetSupport"
    bootMode = "bootMode"
    tpmSupport = "tpmSupport"
    uefiData = "uefiData"
    lastLaunchedTime = "lastLaunchedTime"
    imdsSupport = "imdsSupport"
    deregistrationProtection = "deregistrationProtection"


class ImageBlockPublicAccessDisabledState(StrEnum):
    unblocked = "unblocked"


class ImageBlockPublicAccessEnabledState(StrEnum):
    block_new_sharing = "block-new-sharing"


class ImageReferenceOptionName(StrEnum):
    state_name = "state-name"
    version_depth = "version-depth"


class ImageReferenceResourceType(StrEnum):
    ec2_Instance = "ec2:Instance"
    ec2_LaunchTemplate = "ec2:LaunchTemplate"
    ssm_Parameter = "ssm:Parameter"
    imagebuilder_ImageRecipe = "imagebuilder:ImageRecipe"
    imagebuilder_ContainerRecipe = "imagebuilder:ContainerRecipe"


class ImageState(StrEnum):
    pending = "pending"
    available = "available"
    invalid = "invalid"
    deregistered = "deregistered"
    transient = "transient"
    failed = "failed"
    error = "error"
    disabled = "disabled"


class ImageTypeValues(StrEnum):
    machine = "machine"
    kernel = "kernel"
    ramdisk = "ramdisk"


class ImdsSupportValues(StrEnum):
    v2_0 = "v2.0"


class IngestionStatus(StrEnum):
    initial_ingestion_in_progress = "initial-ingestion-in-progress"
    ingestion_complete = "ingestion-complete"
    ingestion_failed = "ingestion-failed"


class InitializationType(StrEnum):
    default = "default"
    provisioned_rate = "provisioned-rate"
    volume_copy = "volume-copy"


class InstanceAttributeName(StrEnum):
    instanceType = "instanceType"
    kernel = "kernel"
    ramdisk = "ramdisk"
    userData = "userData"
    disableApiTermination = "disableApiTermination"
    instanceInitiatedShutdownBehavior = "instanceInitiatedShutdownBehavior"
    rootDeviceName = "rootDeviceName"
    blockDeviceMapping = "blockDeviceMapping"
    productCodes = "productCodes"
    sourceDestCheck = "sourceDestCheck"
    groupSet = "groupSet"
    ebsOptimized = "ebsOptimized"
    sriovNetSupport = "sriovNetSupport"
    enaSupport = "enaSupport"
    enclaveOptions = "enclaveOptions"
    disableApiStop = "disableApiStop"


class InstanceAutoRecoveryState(StrEnum):
    disabled = "disabled"
    default = "default"


class InstanceBandwidthWeighting(StrEnum):
    default = "default"
    vpc_1 = "vpc-1"
    ebs_1 = "ebs-1"


class InstanceBootModeValues(StrEnum):
    legacy_bios = "legacy-bios"
    uefi = "uefi"


class InstanceEventWindowState(StrEnum):
    creating = "creating"
    deleting = "deleting"
    active = "active"
    deleted = "deleted"


class InstanceGeneration(StrEnum):
    current = "current"
    previous = "previous"


class InstanceHealthStatus(StrEnum):
    healthy = "healthy"
    unhealthy = "unhealthy"


class InstanceInterruptionBehavior(StrEnum):
    hibernate = "hibernate"
    stop = "stop"
    terminate = "terminate"


class InstanceLifecycle(StrEnum):
    spot = "spot"
    on_demand = "on-demand"


class InstanceLifecycleType(StrEnum):
    spot = "spot"
    scheduled = "scheduled"
    capacity_block = "capacity-block"
    interruptible_capacity_reservation = "interruptible-capacity-reservation"


class InstanceMatchCriteria(StrEnum):
    open = "open"
    targeted = "targeted"


class InstanceMetadataEndpointState(StrEnum):
    disabled = "disabled"
    enabled = "enabled"


class InstanceMetadataOptionsState(StrEnum):
    pending = "pending"
    applied = "applied"


class InstanceMetadataProtocolState(StrEnum):
    disabled = "disabled"
    enabled = "enabled"


class InstanceMetadataTagsState(StrEnum):
    disabled = "disabled"
    enabled = "enabled"


class InstanceRebootMigrationState(StrEnum):
    disabled = "disabled"
    default = "default"


class InstanceStateName(StrEnum):
    pending = "pending"
    running = "running"
    shutting_down = "shutting-down"
    terminated = "terminated"
    stopping = "stopping"
    stopped = "stopped"


class InstanceStorageEncryptionSupport(StrEnum):
    unsupported = "unsupported"
    required = "required"


class InstanceType(StrEnum):
    a1_medium = "a1.medium"
    a1_large = "a1.large"
    a1_xlarge = "a1.xlarge"
    a1_2xlarge = "a1.2xlarge"
    a1_4xlarge = "a1.4xlarge"
    a1_metal = "a1.metal"
    c1_medium = "c1.medium"
    c1_xlarge = "c1.xlarge"
    c3_large = "c3.large"
    c3_xlarge = "c3.xlarge"
    c3_2xlarge = "c3.2xlarge"
    c3_4xlarge = "c3.4xlarge"
    c3_8xlarge = "c3.8xlarge"
    c4_large = "c4.large"
    c4_xlarge = "c4.xlarge"
    c4_2xlarge = "c4.2xlarge"
    c4_4xlarge = "c4.4xlarge"
    c4_8xlarge = "c4.8xlarge"
    c5_large = "c5.large"
    c5_xlarge = "c5.xlarge"
    c5_2xlarge = "c5.2xlarge"
    c5_4xlarge = "c5.4xlarge"
    c5_9xlarge = "c5.9xlarge"
    c5_12xlarge = "c5.12xlarge"
    c5_18xlarge = "c5.18xlarge"
    c5_24xlarge = "c5.24xlarge"
    c5_metal = "c5.metal"
    c5a_large = "c5a.large"
    c5a_xlarge = "c5a.xlarge"
    c5a_2xlarge = "c5a.2xlarge"
    c5a_4xlarge = "c5a.4xlarge"
    c5a_8xlarge = "c5a.8xlarge"
    c5a_12xlarge = "c5a.12xlarge"
    c5a_16xlarge = "c5a.16xlarge"
    c5a_24xlarge = "c5a.24xlarge"
    c5ad_large = "c5ad.large"
    c5ad_xlarge = "c5ad.xlarge"
    c5ad_2xlarge = "c5ad.2xlarge"
    c5ad_4xlarge = "c5ad.4xlarge"
    c5ad_8xlarge = "c5ad.8xlarge"
    c5ad_12xlarge = "c5ad.12xlarge"
    c5ad_16xlarge = "c5ad.16xlarge"
    c5ad_24xlarge = "c5ad.24xlarge"
    c5d_large = "c5d.large"
    c5d_xlarge = "c5d.xlarge"
    c5d_2xlarge = "c5d.2xlarge"
    c5d_4xlarge = "c5d.4xlarge"
    c5d_9xlarge = "c5d.9xlarge"
    c5d_12xlarge = "c5d.12xlarge"
    c5d_18xlarge = "c5d.18xlarge"
    c5d_24xlarge = "c5d.24xlarge"
    c5d_metal = "c5d.metal"
    c5n_large = "c5n.large"
    c5n_xlarge = "c5n.xlarge"
    c5n_2xlarge = "c5n.2xlarge"
    c5n_4xlarge = "c5n.4xlarge"
    c5n_9xlarge = "c5n.9xlarge"
    c5n_18xlarge = "c5n.18xlarge"
    c5n_metal = "c5n.metal"
    c6g_medium = "c6g.medium"
    c6g_large = "c6g.large"
    c6g_xlarge = "c6g.xlarge"
    c6g_2xlarge = "c6g.2xlarge"
    c6g_4xlarge = "c6g.4xlarge"
    c6g_8xlarge = "c6g.8xlarge"
    c6g_12xlarge = "c6g.12xlarge"
    c6g_16xlarge = "c6g.16xlarge"
    c6g_metal = "c6g.metal"
    c6gd_medium = "c6gd.medium"
    c6gd_large = "c6gd.large"
    c6gd_xlarge = "c6gd.xlarge"
    c6gd_2xlarge = "c6gd.2xlarge"
    c6gd_4xlarge = "c6gd.4xlarge"
    c6gd_8xlarge = "c6gd.8xlarge"
    c6gd_12xlarge = "c6gd.12xlarge"
    c6gd_16xlarge = "c6gd.16xlarge"
    c6gd_metal = "c6gd.metal"
    c6gn_medium = "c6gn.medium"
    c6gn_large = "c6gn.large"
    c6gn_xlarge = "c6gn.xlarge"
    c6gn_2xlarge = "c6gn.2xlarge"
    c6gn_4xlarge = "c6gn.4xlarge"
    c6gn_8xlarge = "c6gn.8xlarge"
    c6gn_12xlarge = "c6gn.12xlarge"
    c6gn_16xlarge = "c6gn.16xlarge"
    c6i_large = "c6i.large"
    c6i_xlarge = "c6i.xlarge"
    c6i_2xlarge = "c6i.2xlarge"
    c6i_4xlarge = "c6i.4xlarge"
    c6i_8xlarge = "c6i.8xlarge"
    c6i_12xlarge = "c6i.12xlarge"
    c6i_16xlarge = "c6i.16xlarge"
    c6i_24xlarge = "c6i.24xlarge"
    c6i_32xlarge = "c6i.32xlarge"
    c6i_metal = "c6i.metal"
    cc1_4xlarge = "cc1.4xlarge"
    cc2_8xlarge = "cc2.8xlarge"
    cg1_4xlarge = "cg1.4xlarge"
    cr1_8xlarge = "cr1.8xlarge"
    d2_xlarge = "d2.xlarge"
    d2_2xlarge = "d2.2xlarge"
    d2_4xlarge = "d2.4xlarge"
    d2_8xlarge = "d2.8xlarge"
    d3_xlarge = "d3.xlarge"
    d3_2xlarge = "d3.2xlarge"
    d3_4xlarge = "d3.4xlarge"
    d3_8xlarge = "d3.8xlarge"
    d3en_xlarge = "d3en.xlarge"
    d3en_2xlarge = "d3en.2xlarge"
    d3en_4xlarge = "d3en.4xlarge"
    d3en_6xlarge = "d3en.6xlarge"
    d3en_8xlarge = "d3en.8xlarge"
    d3en_12xlarge = "d3en.12xlarge"
    dl1_24xlarge = "dl1.24xlarge"
    f1_2xlarge = "f1.2xlarge"
    f1_4xlarge = "f1.4xlarge"
    f1_16xlarge = "f1.16xlarge"
    g2_2xlarge = "g2.2xlarge"
    g2_8xlarge = "g2.8xlarge"
    g3_4xlarge = "g3.4xlarge"
    g3_8xlarge = "g3.8xlarge"
    g3_16xlarge = "g3.16xlarge"
    g3s_xlarge = "g3s.xlarge"
    g4ad_xlarge = "g4ad.xlarge"
    g4ad_2xlarge = "g4ad.2xlarge"
    g4ad_4xlarge = "g4ad.4xlarge"
    g4ad_8xlarge = "g4ad.8xlarge"
    g4ad_16xlarge = "g4ad.16xlarge"
    g4dn_xlarge = "g4dn.xlarge"
    g4dn_2xlarge = "g4dn.2xlarge"
    g4dn_4xlarge = "g4dn.4xlarge"
    g4dn_8xlarge = "g4dn.8xlarge"
    g4dn_12xlarge = "g4dn.12xlarge"
    g4dn_16xlarge = "g4dn.16xlarge"
    g4dn_metal = "g4dn.metal"
    g5_xlarge = "g5.xlarge"
    g5_2xlarge = "g5.2xlarge"
    g5_4xlarge = "g5.4xlarge"
    g5_8xlarge = "g5.8xlarge"
    g5_12xlarge = "g5.12xlarge"
    g5_16xlarge = "g5.16xlarge"
    g5_24xlarge = "g5.24xlarge"
    g5_48xlarge = "g5.48xlarge"
    g5g_xlarge = "g5g.xlarge"
    g5g_2xlarge = "g5g.2xlarge"
    g5g_4xlarge = "g5g.4xlarge"
    g5g_8xlarge = "g5g.8xlarge"
    g5g_16xlarge = "g5g.16xlarge"
    g5g_metal = "g5g.metal"
    hi1_4xlarge = "hi1.4xlarge"
    hpc6a_48xlarge = "hpc6a.48xlarge"
    hs1_8xlarge = "hs1.8xlarge"
    h1_2xlarge = "h1.2xlarge"
    h1_4xlarge = "h1.4xlarge"
    h1_8xlarge = "h1.8xlarge"
    h1_16xlarge = "h1.16xlarge"
    i2_xlarge = "i2.xlarge"
    i2_2xlarge = "i2.2xlarge"
    i2_4xlarge = "i2.4xlarge"
    i2_8xlarge = "i2.8xlarge"
    i3_large = "i3.large"
    i3_xlarge = "i3.xlarge"
    i3_2xlarge = "i3.2xlarge"
    i3_4xlarge = "i3.4xlarge"
    i3_8xlarge = "i3.8xlarge"
    i3_16xlarge = "i3.16xlarge"
    i3_metal = "i3.metal"
    i3en_large = "i3en.large"
    i3en_xlarge = "i3en.xlarge"
    i3en_2xlarge = "i3en.2xlarge"
    i3en_3xlarge = "i3en.3xlarge"
    i3en_6xlarge = "i3en.6xlarge"
    i3en_12xlarge = "i3en.12xlarge"
    i3en_24xlarge = "i3en.24xlarge"
    i3en_metal = "i3en.metal"
    im4gn_large = "im4gn.large"
    im4gn_xlarge = "im4gn.xlarge"
    im4gn_2xlarge = "im4gn.2xlarge"
    im4gn_4xlarge = "im4gn.4xlarge"
    im4gn_8xlarge = "im4gn.8xlarge"
    im4gn_16xlarge = "im4gn.16xlarge"
    inf1_xlarge = "inf1.xlarge"
    inf1_2xlarge = "inf1.2xlarge"
    inf1_6xlarge = "inf1.6xlarge"
    inf1_24xlarge = "inf1.24xlarge"
    is4gen_medium = "is4gen.medium"
    is4gen_large = "is4gen.large"
    is4gen_xlarge = "is4gen.xlarge"
    is4gen_2xlarge = "is4gen.2xlarge"
    is4gen_4xlarge = "is4gen.4xlarge"
    is4gen_8xlarge = "is4gen.8xlarge"
    m1_small = "m1.small"
    m1_medium = "m1.medium"
    m1_large = "m1.large"
    m1_xlarge = "m1.xlarge"
    m2_xlarge = "m2.xlarge"
    m2_2xlarge = "m2.2xlarge"
    m2_4xlarge = "m2.4xlarge"
    m3_medium = "m3.medium"
    m3_large = "m3.large"
    m3_xlarge = "m3.xlarge"
    m3_2xlarge = "m3.2xlarge"
    m4_large = "m4.large"
    m4_xlarge = "m4.xlarge"
    m4_2xlarge = "m4.2xlarge"
    m4_4xlarge = "m4.4xlarge"
    m4_10xlarge = "m4.10xlarge"
    m4_16xlarge = "m4.16xlarge"
    m5_large = "m5.large"
    m5_xlarge = "m5.xlarge"
    m5_2xlarge = "m5.2xlarge"
    m5_4xlarge = "m5.4xlarge"
    m5_8xlarge = "m5.8xlarge"
    m5_12xlarge = "m5.12xlarge"
    m5_16xlarge = "m5.16xlarge"
    m5_24xlarge = "m5.24xlarge"
    m5_metal = "m5.metal"
    m5a_large = "m5a.large"
    m5a_xlarge = "m5a.xlarge"
    m5a_2xlarge = "m5a.2xlarge"
    m5a_4xlarge = "m5a.4xlarge"
    m5a_8xlarge = "m5a.8xlarge"
    m5a_12xlarge = "m5a.12xlarge"
    m5a_16xlarge = "m5a.16xlarge"
    m5a_24xlarge = "m5a.24xlarge"
    m5ad_large = "m5ad.large"
    m5ad_xlarge = "m5ad.xlarge"
    m5ad_2xlarge = "m5ad.2xlarge"
    m5ad_4xlarge = "m5ad.4xlarge"
    m5ad_8xlarge = "m5ad.8xlarge"
    m5ad_12xlarge = "m5ad.12xlarge"
    m5ad_16xlarge = "m5ad.16xlarge"
    m5ad_24xlarge = "m5ad.24xlarge"
    m5d_large = "m5d.large"
    m5d_xlarge = "m5d.xlarge"
    m5d_2xlarge = "m5d.2xlarge"
    m5d_4xlarge = "m5d.4xlarge"
    m5d_8xlarge = "m5d.8xlarge"
    m5d_12xlarge = "m5d.12xlarge"
    m5d_16xlarge = "m5d.16xlarge"
    m5d_24xlarge = "m5d.24xlarge"
    m5d_metal = "m5d.metal"
    m5dn_large = "m5dn.large"
    m5dn_xlarge = "m5dn.xlarge"
    m5dn_2xlarge = "m5dn.2xlarge"
    m5dn_4xlarge = "m5dn.4xlarge"
    m5dn_8xlarge = "m5dn.8xlarge"
    m5dn_12xlarge = "m5dn.12xlarge"
    m5dn_16xlarge = "m5dn.16xlarge"
    m5dn_24xlarge = "m5dn.24xlarge"
    m5dn_metal = "m5dn.metal"
    m5n_large = "m5n.large"
    m5n_xlarge = "m5n.xlarge"
    m5n_2xlarge = "m5n.2xlarge"
    m5n_4xlarge = "m5n.4xlarge"
    m5n_8xlarge = "m5n.8xlarge"
    m5n_12xlarge = "m5n.12xlarge"
    m5n_16xlarge = "m5n.16xlarge"
    m5n_24xlarge = "m5n.24xlarge"
    m5n_metal = "m5n.metal"
    m5zn_large = "m5zn.large"
    m5zn_xlarge = "m5zn.xlarge"
    m5zn_2xlarge = "m5zn.2xlarge"
    m5zn_3xlarge = "m5zn.3xlarge"
    m5zn_6xlarge = "m5zn.6xlarge"
    m5zn_12xlarge = "m5zn.12xlarge"
    m5zn_metal = "m5zn.metal"
    m6a_large = "m6a.large"
    m6a_xlarge = "m6a.xlarge"
    m6a_2xlarge = "m6a.2xlarge"
    m6a_4xlarge = "m6a.4xlarge"
    m6a_8xlarge = "m6a.8xlarge"
    m6a_12xlarge = "m6a.12xlarge"
    m6a_16xlarge = "m6a.16xlarge"
    m6a_24xlarge = "m6a.24xlarge"
    m6a_32xlarge = "m6a.32xlarge"
    m6a_48xlarge = "m6a.48xlarge"
    m6g_metal = "m6g.metal"
    m6g_medium = "m6g.medium"
    m6g_large = "m6g.large"
    m6g_xlarge = "m6g.xlarge"
    m6g_2xlarge = "m6g.2xlarge"
    m6g_4xlarge = "m6g.4xlarge"
    m6g_8xlarge = "m6g.8xlarge"
    m6g_12xlarge = "m6g.12xlarge"
    m6g_16xlarge = "m6g.16xlarge"
    m6gd_metal = "m6gd.metal"
    m6gd_medium = "m6gd.medium"
    m6gd_large = "m6gd.large"
    m6gd_xlarge = "m6gd.xlarge"
    m6gd_2xlarge = "m6gd.2xlarge"
    m6gd_4xlarge = "m6gd.4xlarge"
    m6gd_8xlarge = "m6gd.8xlarge"
    m6gd_12xlarge = "m6gd.12xlarge"
    m6gd_16xlarge = "m6gd.16xlarge"
    m6i_large = "m6i.large"
    m6i_xlarge = "m6i.xlarge"
    m6i_2xlarge = "m6i.2xlarge"
    m6i_4xlarge = "m6i.4xlarge"
    m6i_8xlarge = "m6i.8xlarge"
    m6i_12xlarge = "m6i.12xlarge"
    m6i_16xlarge = "m6i.16xlarge"
    m6i_24xlarge = "m6i.24xlarge"
    m6i_32xlarge = "m6i.32xlarge"
    m6i_metal = "m6i.metal"
    mac1_metal = "mac1.metal"
    p2_xlarge = "p2.xlarge"
    p2_8xlarge = "p2.8xlarge"
    p2_16xlarge = "p2.16xlarge"
    p3_2xlarge = "p3.2xlarge"
    p3_8xlarge = "p3.8xlarge"
    p3_16xlarge = "p3.16xlarge"
    p3dn_24xlarge = "p3dn.24xlarge"
    p4d_24xlarge = "p4d.24xlarge"
    r3_large = "r3.large"
    r3_xlarge = "r3.xlarge"
    r3_2xlarge = "r3.2xlarge"
    r3_4xlarge = "r3.4xlarge"
    r3_8xlarge = "r3.8xlarge"
    r4_large = "r4.large"
    r4_xlarge = "r4.xlarge"
    r4_2xlarge = "r4.2xlarge"
    r4_4xlarge = "r4.4xlarge"
    r4_8xlarge = "r4.8xlarge"
    r4_16xlarge = "r4.16xlarge"
    r5_large = "r5.large"
    r5_xlarge = "r5.xlarge"
    r5_2xlarge = "r5.2xlarge"
    r5_4xlarge = "r5.4xlarge"
    r5_8xlarge = "r5.8xlarge"
    r5_12xlarge = "r5.12xlarge"
    r5_16xlarge = "r5.16xlarge"
    r5_24xlarge = "r5.24xlarge"
    r5_metal = "r5.metal"
    r5a_large = "r5a.large"
    r5a_xlarge = "r5a.xlarge"
    r5a_2xlarge = "r5a.2xlarge"
    r5a_4xlarge = "r5a.4xlarge"
    r5a_8xlarge = "r5a.8xlarge"
    r5a_12xlarge = "r5a.12xlarge"
    r5a_16xlarge = "r5a.16xlarge"
    r5a_24xlarge = "r5a.24xlarge"
    r5ad_large = "r5ad.large"
    r5ad_xlarge = "r5ad.xlarge"
    r5ad_2xlarge = "r5ad.2xlarge"
    r5ad_4xlarge = "r5ad.4xlarge"
    r5ad_8xlarge = "r5ad.8xlarge"
    r5ad_12xlarge = "r5ad.12xlarge"
    r5ad_16xlarge = "r5ad.16xlarge"
    r5ad_24xlarge = "r5ad.24xlarge"
    r5b_large = "r5b.large"
    r5b_xlarge = "r5b.xlarge"
    r5b_2xlarge = "r5b.2xlarge"
    r5b_4xlarge = "r5b.4xlarge"
    r5b_8xlarge = "r5b.8xlarge"
    r5b_12xlarge = "r5b.12xlarge"
    r5b_16xlarge = "r5b.16xlarge"
    r5b_24xlarge = "r5b.24xlarge"
    r5b_metal = "r5b.metal"
    r5d_large = "r5d.large"
    r5d_xlarge = "r5d.xlarge"
    r5d_2xlarge = "r5d.2xlarge"
    r5d_4xlarge = "r5d.4xlarge"
    r5d_8xlarge = "r5d.8xlarge"
    r5d_12xlarge = "r5d.12xlarge"
    r5d_16xlarge = "r5d.16xlarge"
    r5d_24xlarge = "r5d.24xlarge"
    r5d_metal = "r5d.metal"
    r5dn_large = "r5dn.large"
    r5dn_xlarge = "r5dn.xlarge"
    r5dn_2xlarge = "r5dn.2xlarge"
    r5dn_4xlarge = "r5dn.4xlarge"
    r5dn_8xlarge = "r5dn.8xlarge"
    r5dn_12xlarge = "r5dn.12xlarge"
    r5dn_16xlarge = "r5dn.16xlarge"
    r5dn_24xlarge = "r5dn.24xlarge"
    r5dn_metal = "r5dn.metal"
    r5n_large = "r5n.large"
    r5n_xlarge = "r5n.xlarge"
    r5n_2xlarge = "r5n.2xlarge"
    r5n_4xlarge = "r5n.4xlarge"
    r5n_8xlarge = "r5n.8xlarge"
    r5n_12xlarge = "r5n.12xlarge"
    r5n_16xlarge = "r5n.16xlarge"
    r5n_24xlarge = "r5n.24xlarge"
    r5n_metal = "r5n.metal"
    r6g_medium = "r6g.medium"
    r6g_large = "r6g.large"
    r6g_xlarge = "r6g.xlarge"
    r6g_2xlarge = "r6g.2xlarge"
    r6g_4xlarge = "r6g.4xlarge"
    r6g_8xlarge = "r6g.8xlarge"
    r6g_12xlarge = "r6g.12xlarge"
    r6g_16xlarge = "r6g.16xlarge"
    r6g_metal = "r6g.metal"
    r6gd_medium = "r6gd.medium"
    r6gd_large = "r6gd.large"
    r6gd_xlarge = "r6gd.xlarge"
    r6gd_2xlarge = "r6gd.2xlarge"
    r6gd_4xlarge = "r6gd.4xlarge"
    r6gd_8xlarge = "r6gd.8xlarge"
    r6gd_12xlarge = "r6gd.12xlarge"
    r6gd_16xlarge = "r6gd.16xlarge"
    r6gd_metal = "r6gd.metal"
    r6i_large = "r6i.large"
    r6i_xlarge = "r6i.xlarge"
    r6i_2xlarge = "r6i.2xlarge"
    r6i_4xlarge = "r6i.4xlarge"
    r6i_8xlarge = "r6i.8xlarge"
    r6i_12xlarge = "r6i.12xlarge"
    r6i_16xlarge = "r6i.16xlarge"
    r6i_24xlarge = "r6i.24xlarge"
    r6i_32xlarge = "r6i.32xlarge"
    r6i_metal = "r6i.metal"
    t1_micro = "t1.micro"
    t2_nano = "t2.nano"
    t2_micro = "t2.micro"
    t2_small = "t2.small"
    t2_medium = "t2.medium"
    t2_large = "t2.large"
    t2_xlarge = "t2.xlarge"
    t2_2xlarge = "t2.2xlarge"
    t3_nano = "t3.nano"
    t3_micro = "t3.micro"
    t3_small = "t3.small"
    t3_medium = "t3.medium"
    t3_large = "t3.large"
    t3_xlarge = "t3.xlarge"
    t3_2xlarge = "t3.2xlarge"
    t3a_nano = "t3a.nano"
    t3a_micro = "t3a.micro"
    t3a_small = "t3a.small"
    t3a_medium = "t3a.medium"
    t3a_large = "t3a.large"
    t3a_xlarge = "t3a.xlarge"
    t3a_2xlarge = "t3a.2xlarge"
    t4g_nano = "t4g.nano"
    t4g_micro = "t4g.micro"
    t4g_small = "t4g.small"
    t4g_medium = "t4g.medium"
    t4g_large = "t4g.large"
    t4g_xlarge = "t4g.xlarge"
    t4g_2xlarge = "t4g.2xlarge"
    u_6tb1_56xlarge = "u-6tb1.56xlarge"
    u_6tb1_112xlarge = "u-6tb1.112xlarge"
    u_9tb1_112xlarge = "u-9tb1.112xlarge"
    u_12tb1_112xlarge = "u-12tb1.112xlarge"
    u_6tb1_metal = "u-6tb1.metal"
    u_9tb1_metal = "u-9tb1.metal"
    u_12tb1_metal = "u-12tb1.metal"
    u_18tb1_metal = "u-18tb1.metal"
    u_24tb1_metal = "u-24tb1.metal"
    vt1_3xlarge = "vt1.3xlarge"
    vt1_6xlarge = "vt1.6xlarge"
    vt1_24xlarge = "vt1.24xlarge"
    x1_16xlarge = "x1.16xlarge"
    x1_32xlarge = "x1.32xlarge"
    x1e_xlarge = "x1e.xlarge"
    x1e_2xlarge = "x1e.2xlarge"
    x1e_4xlarge = "x1e.4xlarge"
    x1e_8xlarge = "x1e.8xlarge"
    x1e_16xlarge = "x1e.16xlarge"
    x1e_32xlarge = "x1e.32xlarge"
    x2iezn_2xlarge = "x2iezn.2xlarge"
    x2iezn_4xlarge = "x2iezn.4xlarge"
    x2iezn_6xlarge = "x2iezn.6xlarge"
    x2iezn_8xlarge = "x2iezn.8xlarge"
    x2iezn_12xlarge = "x2iezn.12xlarge"
    x2iezn_metal = "x2iezn.metal"
    x2gd_medium = "x2gd.medium"
    x2gd_large = "x2gd.large"
    x2gd_xlarge = "x2gd.xlarge"
    x2gd_2xlarge = "x2gd.2xlarge"
    x2gd_4xlarge = "x2gd.4xlarge"
    x2gd_8xlarge = "x2gd.8xlarge"
    x2gd_12xlarge = "x2gd.12xlarge"
    x2gd_16xlarge = "x2gd.16xlarge"
    x2gd_metal = "x2gd.metal"
    z1d_large = "z1d.large"
    z1d_xlarge = "z1d.xlarge"
    z1d_2xlarge = "z1d.2xlarge"
    z1d_3xlarge = "z1d.3xlarge"
    z1d_6xlarge = "z1d.6xlarge"
    z1d_12xlarge = "z1d.12xlarge"
    z1d_metal = "z1d.metal"
    x2idn_16xlarge = "x2idn.16xlarge"
    x2idn_24xlarge = "x2idn.24xlarge"
    x2idn_32xlarge = "x2idn.32xlarge"
    x2iedn_xlarge = "x2iedn.xlarge"
    x2iedn_2xlarge = "x2iedn.2xlarge"
    x2iedn_4xlarge = "x2iedn.4xlarge"
    x2iedn_8xlarge = "x2iedn.8xlarge"
    x2iedn_16xlarge = "x2iedn.16xlarge"
    x2iedn_24xlarge = "x2iedn.24xlarge"
    x2iedn_32xlarge = "x2iedn.32xlarge"
    c6a_large = "c6a.large"
    c6a_xlarge = "c6a.xlarge"
    c6a_2xlarge = "c6a.2xlarge"
    c6a_4xlarge = "c6a.4xlarge"
    c6a_8xlarge = "c6a.8xlarge"
    c6a_12xlarge = "c6a.12xlarge"
    c6a_16xlarge = "c6a.16xlarge"
    c6a_24xlarge = "c6a.24xlarge"
    c6a_32xlarge = "c6a.32xlarge"
    c6a_48xlarge = "c6a.48xlarge"
    c6a_metal = "c6a.metal"
    m6a_metal = "m6a.metal"
    i4i_large = "i4i.large"
    i4i_xlarge = "i4i.xlarge"
    i4i_2xlarge = "i4i.2xlarge"
    i4i_4xlarge = "i4i.4xlarge"
    i4i_8xlarge = "i4i.8xlarge"
    i4i_16xlarge = "i4i.16xlarge"
    i4i_32xlarge = "i4i.32xlarge"
    i4i_metal = "i4i.metal"
    x2idn_metal = "x2idn.metal"
    x2iedn_metal = "x2iedn.metal"
    c7g_medium = "c7g.medium"
    c7g_large = "c7g.large"
    c7g_xlarge = "c7g.xlarge"
    c7g_2xlarge = "c7g.2xlarge"
    c7g_4xlarge = "c7g.4xlarge"
    c7g_8xlarge = "c7g.8xlarge"
    c7g_12xlarge = "c7g.12xlarge"
    c7g_16xlarge = "c7g.16xlarge"
    mac2_metal = "mac2.metal"
    c6id_large = "c6id.large"
    c6id_xlarge = "c6id.xlarge"
    c6id_2xlarge = "c6id.2xlarge"
    c6id_4xlarge = "c6id.4xlarge"
    c6id_8xlarge = "c6id.8xlarge"
    c6id_12xlarge = "c6id.12xlarge"
    c6id_16xlarge = "c6id.16xlarge"
    c6id_24xlarge = "c6id.24xlarge"
    c6id_32xlarge = "c6id.32xlarge"
    c6id_metal = "c6id.metal"
    m6id_large = "m6id.large"
    m6id_xlarge = "m6id.xlarge"
    m6id_2xlarge = "m6id.2xlarge"
    m6id_4xlarge = "m6id.4xlarge"
    m6id_8xlarge = "m6id.8xlarge"
    m6id_12xlarge = "m6id.12xlarge"
    m6id_16xlarge = "m6id.16xlarge"
    m6id_24xlarge = "m6id.24xlarge"
    m6id_32xlarge = "m6id.32xlarge"
    m6id_metal = "m6id.metal"
    r6id_large = "r6id.large"
    r6id_xlarge = "r6id.xlarge"
    r6id_2xlarge = "r6id.2xlarge"
    r6id_4xlarge = "r6id.4xlarge"
    r6id_8xlarge = "r6id.8xlarge"
    r6id_12xlarge = "r6id.12xlarge"
    r6id_16xlarge = "r6id.16xlarge"
    r6id_24xlarge = "r6id.24xlarge"
    r6id_32xlarge = "r6id.32xlarge"
    r6id_metal = "r6id.metal"
    r6a_large = "r6a.large"
    r6a_xlarge = "r6a.xlarge"
    r6a_2xlarge = "r6a.2xlarge"
    r6a_4xlarge = "r6a.4xlarge"
    r6a_8xlarge = "r6a.8xlarge"
    r6a_12xlarge = "r6a.12xlarge"
    r6a_16xlarge = "r6a.16xlarge"
    r6a_24xlarge = "r6a.24xlarge"
    r6a_32xlarge = "r6a.32xlarge"
    r6a_48xlarge = "r6a.48xlarge"
    r6a_metal = "r6a.metal"
    p4de_24xlarge = "p4de.24xlarge"
    u_3tb1_56xlarge = "u-3tb1.56xlarge"
    u_18tb1_112xlarge = "u-18tb1.112xlarge"
    u_24tb1_112xlarge = "u-24tb1.112xlarge"
    trn1_2xlarge = "trn1.2xlarge"
    trn1_32xlarge = "trn1.32xlarge"
    hpc6id_32xlarge = "hpc6id.32xlarge"
    c6in_large = "c6in.large"
    c6in_xlarge = "c6in.xlarge"
    c6in_2xlarge = "c6in.2xlarge"
    c6in_4xlarge = "c6in.4xlarge"
    c6in_8xlarge = "c6in.8xlarge"
    c6in_12xlarge = "c6in.12xlarge"
    c6in_16xlarge = "c6in.16xlarge"
    c6in_24xlarge = "c6in.24xlarge"
    c6in_32xlarge = "c6in.32xlarge"
    m6in_large = "m6in.large"
    m6in_xlarge = "m6in.xlarge"
    m6in_2xlarge = "m6in.2xlarge"
    m6in_4xlarge = "m6in.4xlarge"
    m6in_8xlarge = "m6in.8xlarge"
    m6in_12xlarge = "m6in.12xlarge"
    m6in_16xlarge = "m6in.16xlarge"
    m6in_24xlarge = "m6in.24xlarge"
    m6in_32xlarge = "m6in.32xlarge"
    m6idn_large = "m6idn.large"
    m6idn_xlarge = "m6idn.xlarge"
    m6idn_2xlarge = "m6idn.2xlarge"
    m6idn_4xlarge = "m6idn.4xlarge"
    m6idn_8xlarge = "m6idn.8xlarge"
    m6idn_12xlarge = "m6idn.12xlarge"
    m6idn_16xlarge = "m6idn.16xlarge"
    m6idn_24xlarge = "m6idn.24xlarge"
    m6idn_32xlarge = "m6idn.32xlarge"
    r6in_large = "r6in.large"
    r6in_xlarge = "r6in.xlarge"
    r6in_2xlarge = "r6in.2xlarge"
    r6in_4xlarge = "r6in.4xlarge"
    r6in_8xlarge = "r6in.8xlarge"
    r6in_12xlarge = "r6in.12xlarge"
    r6in_16xlarge = "r6in.16xlarge"
    r6in_24xlarge = "r6in.24xlarge"
    r6in_32xlarge = "r6in.32xlarge"
    r6idn_large = "r6idn.large"
    r6idn_xlarge = "r6idn.xlarge"
    r6idn_2xlarge = "r6idn.2xlarge"
    r6idn_4xlarge = "r6idn.4xlarge"
    r6idn_8xlarge = "r6idn.8xlarge"
    r6idn_12xlarge = "r6idn.12xlarge"
    r6idn_16xlarge = "r6idn.16xlarge"
    r6idn_24xlarge = "r6idn.24xlarge"
    r6idn_32xlarge = "r6idn.32xlarge"
    c7g_metal = "c7g.metal"
    m7g_medium = "m7g.medium"
    m7g_large = "m7g.large"
    m7g_xlarge = "m7g.xlarge"
    m7g_2xlarge = "m7g.2xlarge"
    m7g_4xlarge = "m7g.4xlarge"
    m7g_8xlarge = "m7g.8xlarge"
    m7g_12xlarge = "m7g.12xlarge"
    m7g_16xlarge = "m7g.16xlarge"
    m7g_metal = "m7g.metal"
    r7g_medium = "r7g.medium"
    r7g_large = "r7g.large"
    r7g_xlarge = "r7g.xlarge"
    r7g_2xlarge = "r7g.2xlarge"
    r7g_4xlarge = "r7g.4xlarge"
    r7g_8xlarge = "r7g.8xlarge"
    r7g_12xlarge = "r7g.12xlarge"
    r7g_16xlarge = "r7g.16xlarge"
    r7g_metal = "r7g.metal"
    c6in_metal = "c6in.metal"
    m6in_metal = "m6in.metal"
    m6idn_metal = "m6idn.metal"
    r6in_metal = "r6in.metal"
    r6idn_metal = "r6idn.metal"
    inf2_xlarge = "inf2.xlarge"
    inf2_8xlarge = "inf2.8xlarge"
    inf2_24xlarge = "inf2.24xlarge"
    inf2_48xlarge = "inf2.48xlarge"
    trn1n_32xlarge = "trn1n.32xlarge"
    i4g_large = "i4g.large"
    i4g_xlarge = "i4g.xlarge"
    i4g_2xlarge = "i4g.2xlarge"
    i4g_4xlarge = "i4g.4xlarge"
    i4g_8xlarge = "i4g.8xlarge"
    i4g_16xlarge = "i4g.16xlarge"
    hpc7g_4xlarge = "hpc7g.4xlarge"
    hpc7g_8xlarge = "hpc7g.8xlarge"
    hpc7g_16xlarge = "hpc7g.16xlarge"
    c7gn_medium = "c7gn.medium"
    c7gn_large = "c7gn.large"
    c7gn_xlarge = "c7gn.xlarge"
    c7gn_2xlarge = "c7gn.2xlarge"
    c7gn_4xlarge = "c7gn.4xlarge"
    c7gn_8xlarge = "c7gn.8xlarge"
    c7gn_12xlarge = "c7gn.12xlarge"
    c7gn_16xlarge = "c7gn.16xlarge"
    p5_48xlarge = "p5.48xlarge"
    m7i_large = "m7i.large"
    m7i_xlarge = "m7i.xlarge"
    m7i_2xlarge = "m7i.2xlarge"
    m7i_4xlarge = "m7i.4xlarge"
    m7i_8xlarge = "m7i.8xlarge"
    m7i_12xlarge = "m7i.12xlarge"
    m7i_16xlarge = "m7i.16xlarge"
    m7i_24xlarge = "m7i.24xlarge"
    m7i_48xlarge = "m7i.48xlarge"
    m7i_flex_large = "m7i-flex.large"
    m7i_flex_xlarge = "m7i-flex.xlarge"
    m7i_flex_2xlarge = "m7i-flex.2xlarge"
    m7i_flex_4xlarge = "m7i-flex.4xlarge"
    m7i_flex_8xlarge = "m7i-flex.8xlarge"
    m7a_medium = "m7a.medium"
    m7a_large = "m7a.large"
    m7a_xlarge = "m7a.xlarge"
    m7a_2xlarge = "m7a.2xlarge"
    m7a_4xlarge = "m7a.4xlarge"
    m7a_8xlarge = "m7a.8xlarge"
    m7a_12xlarge = "m7a.12xlarge"
    m7a_16xlarge = "m7a.16xlarge"
    m7a_24xlarge = "m7a.24xlarge"
    m7a_32xlarge = "m7a.32xlarge"
    m7a_48xlarge = "m7a.48xlarge"
    m7a_metal_48xl = "m7a.metal-48xl"
    hpc7a_12xlarge = "hpc7a.12xlarge"
    hpc7a_24xlarge = "hpc7a.24xlarge"
    hpc7a_48xlarge = "hpc7a.48xlarge"
    hpc7a_96xlarge = "hpc7a.96xlarge"
    c7gd_medium = "c7gd.medium"
    c7gd_large = "c7gd.large"
    c7gd_xlarge = "c7gd.xlarge"
    c7gd_2xlarge = "c7gd.2xlarge"
    c7gd_4xlarge = "c7gd.4xlarge"
    c7gd_8xlarge = "c7gd.8xlarge"
    c7gd_12xlarge = "c7gd.12xlarge"
    c7gd_16xlarge = "c7gd.16xlarge"
    m7gd_medium = "m7gd.medium"
    m7gd_large = "m7gd.large"
    m7gd_xlarge = "m7gd.xlarge"
    m7gd_2xlarge = "m7gd.2xlarge"
    m7gd_4xlarge = "m7gd.4xlarge"
    m7gd_8xlarge = "m7gd.8xlarge"
    m7gd_12xlarge = "m7gd.12xlarge"
    m7gd_16xlarge = "m7gd.16xlarge"
    r7gd_medium = "r7gd.medium"
    r7gd_large = "r7gd.large"
    r7gd_xlarge = "r7gd.xlarge"
    r7gd_2xlarge = "r7gd.2xlarge"
    r7gd_4xlarge = "r7gd.4xlarge"
    r7gd_8xlarge = "r7gd.8xlarge"
    r7gd_12xlarge = "r7gd.12xlarge"
    r7gd_16xlarge = "r7gd.16xlarge"
    r7a_medium = "r7a.medium"
    r7a_large = "r7a.large"
    r7a_xlarge = "r7a.xlarge"
    r7a_2xlarge = "r7a.2xlarge"
    r7a_4xlarge = "r7a.4xlarge"
    r7a_8xlarge = "r7a.8xlarge"
    r7a_12xlarge = "r7a.12xlarge"
    r7a_16xlarge = "r7a.16xlarge"
    r7a_24xlarge = "r7a.24xlarge"
    r7a_32xlarge = "r7a.32xlarge"
    r7a_48xlarge = "r7a.48xlarge"
    c7i_large = "c7i.large"
    c7i_xlarge = "c7i.xlarge"
    c7i_2xlarge = "c7i.2xlarge"
    c7i_4xlarge = "c7i.4xlarge"
    c7i_8xlarge = "c7i.8xlarge"
    c7i_12xlarge = "c7i.12xlarge"
    c7i_16xlarge = "c7i.16xlarge"
    c7i_24xlarge = "c7i.24xlarge"
    c7i_48xlarge = "c7i.48xlarge"
    mac2_m2pro_metal = "mac2-m2pro.metal"
    r7iz_large = "r7iz.large"
    r7iz_xlarge = "r7iz.xlarge"
    r7iz_2xlarge = "r7iz.2xlarge"
    r7iz_4xlarge = "r7iz.4xlarge"
    r7iz_8xlarge = "r7iz.8xlarge"
    r7iz_12xlarge = "r7iz.12xlarge"
    r7iz_16xlarge = "r7iz.16xlarge"
    r7iz_32xlarge = "r7iz.32xlarge"
    c7a_medium = "c7a.medium"
    c7a_large = "c7a.large"
    c7a_xlarge = "c7a.xlarge"
    c7a_2xlarge = "c7a.2xlarge"
    c7a_4xlarge = "c7a.4xlarge"
    c7a_8xlarge = "c7a.8xlarge"
    c7a_12xlarge = "c7a.12xlarge"
    c7a_16xlarge = "c7a.16xlarge"
    c7a_24xlarge = "c7a.24xlarge"
    c7a_32xlarge = "c7a.32xlarge"
    c7a_48xlarge = "c7a.48xlarge"
    c7a_metal_48xl = "c7a.metal-48xl"
    r7a_metal_48xl = "r7a.metal-48xl"
    r7i_large = "r7i.large"
    r7i_xlarge = "r7i.xlarge"
    r7i_2xlarge = "r7i.2xlarge"
    r7i_4xlarge = "r7i.4xlarge"
    r7i_8xlarge = "r7i.8xlarge"
    r7i_12xlarge = "r7i.12xlarge"
    r7i_16xlarge = "r7i.16xlarge"
    r7i_24xlarge = "r7i.24xlarge"
    r7i_48xlarge = "r7i.48xlarge"
    dl2q_24xlarge = "dl2q.24xlarge"
    mac2_m2_metal = "mac2-m2.metal"
    i4i_12xlarge = "i4i.12xlarge"
    i4i_24xlarge = "i4i.24xlarge"
    c7i_metal_24xl = "c7i.metal-24xl"
    c7i_metal_48xl = "c7i.metal-48xl"
    m7i_metal_24xl = "m7i.metal-24xl"
    m7i_metal_48xl = "m7i.metal-48xl"
    r7i_metal_24xl = "r7i.metal-24xl"
    r7i_metal_48xl = "r7i.metal-48xl"
    r7iz_metal_16xl = "r7iz.metal-16xl"
    r7iz_metal_32xl = "r7iz.metal-32xl"
    c7gd_metal = "c7gd.metal"
    m7gd_metal = "m7gd.metal"
    r7gd_metal = "r7gd.metal"
    g6_xlarge = "g6.xlarge"
    g6_2xlarge = "g6.2xlarge"
    g6_4xlarge = "g6.4xlarge"
    g6_8xlarge = "g6.8xlarge"
    g6_12xlarge = "g6.12xlarge"
    g6_16xlarge = "g6.16xlarge"
    g6_24xlarge = "g6.24xlarge"
    g6_48xlarge = "g6.48xlarge"
    gr6_4xlarge = "gr6.4xlarge"
    gr6_8xlarge = "gr6.8xlarge"
    c7i_flex_large = "c7i-flex.large"
    c7i_flex_xlarge = "c7i-flex.xlarge"
    c7i_flex_2xlarge = "c7i-flex.2xlarge"
    c7i_flex_4xlarge = "c7i-flex.4xlarge"
    c7i_flex_8xlarge = "c7i-flex.8xlarge"
    u7i_12tb_224xlarge = "u7i-12tb.224xlarge"
    u7in_16tb_224xlarge = "u7in-16tb.224xlarge"
    u7in_24tb_224xlarge = "u7in-24tb.224xlarge"
    u7in_32tb_224xlarge = "u7in-32tb.224xlarge"
    u7ib_12tb_224xlarge = "u7ib-12tb.224xlarge"
    c7gn_metal = "c7gn.metal"
    r8g_medium = "r8g.medium"
    r8g_large = "r8g.large"
    r8g_xlarge = "r8g.xlarge"
    r8g_2xlarge = "r8g.2xlarge"
    r8g_4xlarge = "r8g.4xlarge"
    r8g_8xlarge = "r8g.8xlarge"
    r8g_12xlarge = "r8g.12xlarge"
    r8g_16xlarge = "r8g.16xlarge"
    r8g_24xlarge = "r8g.24xlarge"
    r8g_48xlarge = "r8g.48xlarge"
    r8g_metal_24xl = "r8g.metal-24xl"
    r8g_metal_48xl = "r8g.metal-48xl"
    mac2_m1ultra_metal = "mac2-m1ultra.metal"
    g6e_xlarge = "g6e.xlarge"
    g6e_2xlarge = "g6e.2xlarge"
    g6e_4xlarge = "g6e.4xlarge"
    g6e_8xlarge = "g6e.8xlarge"
    g6e_12xlarge = "g6e.12xlarge"
    g6e_16xlarge = "g6e.16xlarge"
    g6e_24xlarge = "g6e.24xlarge"
    g6e_48xlarge = "g6e.48xlarge"
    c8g_medium = "c8g.medium"
    c8g_large = "c8g.large"
    c8g_xlarge = "c8g.xlarge"
    c8g_2xlarge = "c8g.2xlarge"
    c8g_4xlarge = "c8g.4xlarge"
    c8g_8xlarge = "c8g.8xlarge"
    c8g_12xlarge = "c8g.12xlarge"
    c8g_16xlarge = "c8g.16xlarge"
    c8g_24xlarge = "c8g.24xlarge"
    c8g_48xlarge = "c8g.48xlarge"
    c8g_metal_24xl = "c8g.metal-24xl"
    c8g_metal_48xl = "c8g.metal-48xl"
    m8g_medium = "m8g.medium"
    m8g_large = "m8g.large"
    m8g_xlarge = "m8g.xlarge"
    m8g_2xlarge = "m8g.2xlarge"
    m8g_4xlarge = "m8g.4xlarge"
    m8g_8xlarge = "m8g.8xlarge"
    m8g_12xlarge = "m8g.12xlarge"
    m8g_16xlarge = "m8g.16xlarge"
    m8g_24xlarge = "m8g.24xlarge"
    m8g_48xlarge = "m8g.48xlarge"
    m8g_metal_24xl = "m8g.metal-24xl"
    m8g_metal_48xl = "m8g.metal-48xl"
    x8g_medium = "x8g.medium"
    x8g_large = "x8g.large"
    x8g_xlarge = "x8g.xlarge"
    x8g_2xlarge = "x8g.2xlarge"
    x8g_4xlarge = "x8g.4xlarge"
    x8g_8xlarge = "x8g.8xlarge"
    x8g_12xlarge = "x8g.12xlarge"
    x8g_16xlarge = "x8g.16xlarge"
    x8g_24xlarge = "x8g.24xlarge"
    x8g_48xlarge = "x8g.48xlarge"
    x8g_metal_24xl = "x8g.metal-24xl"
    x8g_metal_48xl = "x8g.metal-48xl"
    i7ie_large = "i7ie.large"
    i7ie_xlarge = "i7ie.xlarge"
    i7ie_2xlarge = "i7ie.2xlarge"
    i7ie_3xlarge = "i7ie.3xlarge"
    i7ie_6xlarge = "i7ie.6xlarge"
    i7ie_12xlarge = "i7ie.12xlarge"
    i7ie_18xlarge = "i7ie.18xlarge"
    i7ie_24xlarge = "i7ie.24xlarge"
    i7ie_48xlarge = "i7ie.48xlarge"
    i8g_large = "i8g.large"
    i8g_xlarge = "i8g.xlarge"
    i8g_2xlarge = "i8g.2xlarge"
    i8g_4xlarge = "i8g.4xlarge"
    i8g_8xlarge = "i8g.8xlarge"
    i8g_12xlarge = "i8g.12xlarge"
    i8g_16xlarge = "i8g.16xlarge"
    i8g_24xlarge = "i8g.24xlarge"
    i8g_metal_24xl = "i8g.metal-24xl"
    u7i_6tb_112xlarge = "u7i-6tb.112xlarge"
    u7i_8tb_112xlarge = "u7i-8tb.112xlarge"
    u7inh_32tb_480xlarge = "u7inh-32tb.480xlarge"
    p5e_48xlarge = "p5e.48xlarge"
    p5en_48xlarge = "p5en.48xlarge"
    f2_12xlarge = "f2.12xlarge"
    f2_48xlarge = "f2.48xlarge"
    trn2_48xlarge = "trn2.48xlarge"
    c7i_flex_12xlarge = "c7i-flex.12xlarge"
    c7i_flex_16xlarge = "c7i-flex.16xlarge"
    m7i_flex_12xlarge = "m7i-flex.12xlarge"
    m7i_flex_16xlarge = "m7i-flex.16xlarge"
    i7ie_metal_24xl = "i7ie.metal-24xl"
    i7ie_metal_48xl = "i7ie.metal-48xl"
    i8g_48xlarge = "i8g.48xlarge"
    c8gd_medium = "c8gd.medium"
    c8gd_large = "c8gd.large"
    c8gd_xlarge = "c8gd.xlarge"
    c8gd_2xlarge = "c8gd.2xlarge"
    c8gd_4xlarge = "c8gd.4xlarge"
    c8gd_8xlarge = "c8gd.8xlarge"
    c8gd_12xlarge = "c8gd.12xlarge"
    c8gd_16xlarge = "c8gd.16xlarge"
    c8gd_24xlarge = "c8gd.24xlarge"
    c8gd_48xlarge = "c8gd.48xlarge"
    c8gd_metal_24xl = "c8gd.metal-24xl"
    c8gd_metal_48xl = "c8gd.metal-48xl"
    i7i_large = "i7i.large"
    i7i_xlarge = "i7i.xlarge"
    i7i_2xlarge = "i7i.2xlarge"
    i7i_4xlarge = "i7i.4xlarge"
    i7i_8xlarge = "i7i.8xlarge"
    i7i_12xlarge = "i7i.12xlarge"
    i7i_16xlarge = "i7i.16xlarge"
    i7i_24xlarge = "i7i.24xlarge"
    i7i_48xlarge = "i7i.48xlarge"
    i7i_metal_24xl = "i7i.metal-24xl"
    i7i_metal_48xl = "i7i.metal-48xl"
    p6_b200_48xlarge = "p6-b200.48xlarge"
    m8gd_medium = "m8gd.medium"
    m8gd_large = "m8gd.large"
    m8gd_xlarge = "m8gd.xlarge"
    m8gd_2xlarge = "m8gd.2xlarge"
    m8gd_4xlarge = "m8gd.4xlarge"
    m8gd_8xlarge = "m8gd.8xlarge"
    m8gd_12xlarge = "m8gd.12xlarge"
    m8gd_16xlarge = "m8gd.16xlarge"
    m8gd_24xlarge = "m8gd.24xlarge"
    m8gd_48xlarge = "m8gd.48xlarge"
    m8gd_metal_24xl = "m8gd.metal-24xl"
    m8gd_metal_48xl = "m8gd.metal-48xl"
    r8gd_medium = "r8gd.medium"
    r8gd_large = "r8gd.large"
    r8gd_xlarge = "r8gd.xlarge"
    r8gd_2xlarge = "r8gd.2xlarge"
    r8gd_4xlarge = "r8gd.4xlarge"
    r8gd_8xlarge = "r8gd.8xlarge"
    r8gd_12xlarge = "r8gd.12xlarge"
    r8gd_16xlarge = "r8gd.16xlarge"
    r8gd_24xlarge = "r8gd.24xlarge"
    r8gd_48xlarge = "r8gd.48xlarge"
    r8gd_metal_24xl = "r8gd.metal-24xl"
    r8gd_metal_48xl = "r8gd.metal-48xl"
    c8gn_medium = "c8gn.medium"
    c8gn_large = "c8gn.large"
    c8gn_xlarge = "c8gn.xlarge"
    c8gn_2xlarge = "c8gn.2xlarge"
    c8gn_4xlarge = "c8gn.4xlarge"
    c8gn_8xlarge = "c8gn.8xlarge"
    c8gn_12xlarge = "c8gn.12xlarge"
    c8gn_16xlarge = "c8gn.16xlarge"
    c8gn_24xlarge = "c8gn.24xlarge"
    c8gn_48xlarge = "c8gn.48xlarge"
    c8gn_metal_24xl = "c8gn.metal-24xl"
    c8gn_metal_48xl = "c8gn.metal-48xl"
    f2_6xlarge = "f2.6xlarge"
    p6e_gb200_36xlarge = "p6e-gb200.36xlarge"
    g6f_large = "g6f.large"
    g6f_xlarge = "g6f.xlarge"
    g6f_2xlarge = "g6f.2xlarge"
    g6f_4xlarge = "g6f.4xlarge"
    gr6f_4xlarge = "gr6f.4xlarge"
    p5_4xlarge = "p5.4xlarge"
    r8i_large = "r8i.large"
    r8i_xlarge = "r8i.xlarge"
    r8i_2xlarge = "r8i.2xlarge"
    r8i_4xlarge = "r8i.4xlarge"
    r8i_8xlarge = "r8i.8xlarge"
    r8i_12xlarge = "r8i.12xlarge"
    r8i_16xlarge = "r8i.16xlarge"
    r8i_24xlarge = "r8i.24xlarge"
    r8i_32xlarge = "r8i.32xlarge"
    r8i_48xlarge = "r8i.48xlarge"
    r8i_96xlarge = "r8i.96xlarge"
    r8i_metal_48xl = "r8i.metal-48xl"
    r8i_metal_96xl = "r8i.metal-96xl"
    r8i_flex_large = "r8i-flex.large"
    r8i_flex_xlarge = "r8i-flex.xlarge"
    r8i_flex_2xlarge = "r8i-flex.2xlarge"
    r8i_flex_4xlarge = "r8i-flex.4xlarge"
    r8i_flex_8xlarge = "r8i-flex.8xlarge"
    r8i_flex_12xlarge = "r8i-flex.12xlarge"
    r8i_flex_16xlarge = "r8i-flex.16xlarge"
    m8i_large = "m8i.large"
    m8i_xlarge = "m8i.xlarge"
    m8i_2xlarge = "m8i.2xlarge"
    m8i_4xlarge = "m8i.4xlarge"
    m8i_8xlarge = "m8i.8xlarge"
    m8i_12xlarge = "m8i.12xlarge"
    m8i_16xlarge = "m8i.16xlarge"
    m8i_24xlarge = "m8i.24xlarge"
    m8i_32xlarge = "m8i.32xlarge"
    m8i_48xlarge = "m8i.48xlarge"
    m8i_96xlarge = "m8i.96xlarge"
    m8i_metal_48xl = "m8i.metal-48xl"
    m8i_metal_96xl = "m8i.metal-96xl"
    m8i_flex_large = "m8i-flex.large"
    m8i_flex_xlarge = "m8i-flex.xlarge"
    m8i_flex_2xlarge = "m8i-flex.2xlarge"
    m8i_flex_4xlarge = "m8i-flex.4xlarge"
    m8i_flex_8xlarge = "m8i-flex.8xlarge"
    m8i_flex_12xlarge = "m8i-flex.12xlarge"
    m8i_flex_16xlarge = "m8i-flex.16xlarge"
    i8ge_large = "i8ge.large"
    i8ge_xlarge = "i8ge.xlarge"
    i8ge_2xlarge = "i8ge.2xlarge"
    i8ge_3xlarge = "i8ge.3xlarge"
    i8ge_6xlarge = "i8ge.6xlarge"
    i8ge_12xlarge = "i8ge.12xlarge"
    i8ge_18xlarge = "i8ge.18xlarge"
    i8ge_24xlarge = "i8ge.24xlarge"
    i8ge_48xlarge = "i8ge.48xlarge"
    i8ge_metal_24xl = "i8ge.metal-24xl"
    i8ge_metal_48xl = "i8ge.metal-48xl"
    mac_m4_metal = "mac-m4.metal"
    mac_m4pro_metal = "mac-m4pro.metal"
    r8gn_medium = "r8gn.medium"
    r8gn_large = "r8gn.large"
    r8gn_xlarge = "r8gn.xlarge"
    r8gn_2xlarge = "r8gn.2xlarge"
    r8gn_4xlarge = "r8gn.4xlarge"
    r8gn_8xlarge = "r8gn.8xlarge"
    r8gn_12xlarge = "r8gn.12xlarge"
    r8gn_16xlarge = "r8gn.16xlarge"
    r8gn_24xlarge = "r8gn.24xlarge"
    r8gn_48xlarge = "r8gn.48xlarge"
    r8gn_metal_24xl = "r8gn.metal-24xl"
    r8gn_metal_48xl = "r8gn.metal-48xl"
    c8i_large = "c8i.large"
    c8i_xlarge = "c8i.xlarge"
    c8i_2xlarge = "c8i.2xlarge"
    c8i_4xlarge = "c8i.4xlarge"
    c8i_8xlarge = "c8i.8xlarge"
    c8i_12xlarge = "c8i.12xlarge"
    c8i_16xlarge = "c8i.16xlarge"
    c8i_24xlarge = "c8i.24xlarge"
    c8i_32xlarge = "c8i.32xlarge"
    c8i_48xlarge = "c8i.48xlarge"
    c8i_96xlarge = "c8i.96xlarge"
    c8i_metal_48xl = "c8i.metal-48xl"
    c8i_metal_96xl = "c8i.metal-96xl"
    c8i_flex_large = "c8i-flex.large"
    c8i_flex_xlarge = "c8i-flex.xlarge"
    c8i_flex_2xlarge = "c8i-flex.2xlarge"
    c8i_flex_4xlarge = "c8i-flex.4xlarge"
    c8i_flex_8xlarge = "c8i-flex.8xlarge"
    c8i_flex_12xlarge = "c8i-flex.12xlarge"
    c8i_flex_16xlarge = "c8i-flex.16xlarge"
    r8gb_medium = "r8gb.medium"
    r8gb_large = "r8gb.large"
    r8gb_xlarge = "r8gb.xlarge"
    r8gb_2xlarge = "r8gb.2xlarge"
    r8gb_4xlarge = "r8gb.4xlarge"
    r8gb_8xlarge = "r8gb.8xlarge"
    r8gb_12xlarge = "r8gb.12xlarge"
    r8gb_16xlarge = "r8gb.16xlarge"
    r8gb_24xlarge = "r8gb.24xlarge"
    r8gb_metal_24xl = "r8gb.metal-24xl"
    m8a_medium = "m8a.medium"
    m8a_large = "m8a.large"
    m8a_xlarge = "m8a.xlarge"
    m8a_2xlarge = "m8a.2xlarge"
    m8a_4xlarge = "m8a.4xlarge"
    m8a_8xlarge = "m8a.8xlarge"
    m8a_12xlarge = "m8a.12xlarge"
    m8a_16xlarge = "m8a.16xlarge"
    m8a_24xlarge = "m8a.24xlarge"
    m8a_48xlarge = "m8a.48xlarge"
    m8a_metal_24xl = "m8a.metal-24xl"
    m8a_metal_48xl = "m8a.metal-48xl"
    trn2_3xlarge = "trn2.3xlarge"
    r8a_medium = "r8a.medium"
    r8a_large = "r8a.large"
    r8a_xlarge = "r8a.xlarge"
    r8a_2xlarge = "r8a.2xlarge"
    r8a_4xlarge = "r8a.4xlarge"
    r8a_8xlarge = "r8a.8xlarge"
    r8a_12xlarge = "r8a.12xlarge"
    r8a_16xlarge = "r8a.16xlarge"
    r8a_24xlarge = "r8a.24xlarge"
    r8a_48xlarge = "r8a.48xlarge"
    r8a_metal_24xl = "r8a.metal-24xl"
    r8a_metal_48xl = "r8a.metal-48xl"
    p6_b300_48xlarge = "p6-b300.48xlarge"
    c8a_medium = "c8a.medium"
    c8a_large = "c8a.large"
    c8a_xlarge = "c8a.xlarge"
    c8a_2xlarge = "c8a.2xlarge"
    c8a_4xlarge = "c8a.4xlarge"
    c8a_8xlarge = "c8a.8xlarge"
    c8a_12xlarge = "c8a.12xlarge"
    c8a_16xlarge = "c8a.16xlarge"
    c8a_24xlarge = "c8a.24xlarge"
    c8a_48xlarge = "c8a.48xlarge"
    c8a_metal_24xl = "c8a.metal-24xl"
    c8a_metal_48xl = "c8a.metal-48xl"


class InstanceTypeHypervisor(StrEnum):
    nitro = "nitro"
    xen = "xen"


class InterfacePermissionType(StrEnum):
    INSTANCE_ATTACH = "INSTANCE-ATTACH"
    EIP_ASSOCIATE = "EIP-ASSOCIATE"


class InterfaceProtocolType(StrEnum):
    VLAN = "VLAN"
    GRE = "GRE"


class InternetGatewayBlockMode(StrEnum):
    off = "off"
    block_bidirectional = "block-bidirectional"
    block_ingress = "block-ingress"


class InternetGatewayExclusionMode(StrEnum):
    allow_bidirectional = "allow-bidirectional"
    allow_egress = "allow-egress"


class InterruptibleCapacityReservationAllocationStatus(StrEnum):
    pending = "pending"
    active = "active"
    updating = "updating"
    canceling = "canceling"
    canceled = "canceled"
    failed = "failed"


class InterruptionType(StrEnum):
    adhoc = "adhoc"


class IpAddressType(StrEnum):
    ipv4 = "ipv4"
    dualstack = "dualstack"
    ipv6 = "ipv6"


class IpSource(StrEnum):
    amazon = "amazon"
    byoip = "byoip"
    none = "none"


class IpamAddressHistoryResourceType(StrEnum):
    eip = "eip"
    vpc = "vpc"
    subnet = "subnet"
    network_interface = "network-interface"
    instance = "instance"


class IpamAssociatedResourceDiscoveryStatus(StrEnum):
    active = "active"
    not_found = "not-found"


class IpamComplianceStatus(StrEnum):
    compliant = "compliant"
    noncompliant = "noncompliant"
    unmanaged = "unmanaged"
    ignored = "ignored"


class IpamDiscoveryFailureCode(StrEnum):
    assume_role_failure = "assume-role-failure"
    throttling_failure = "throttling-failure"
    unauthorized_failure = "unauthorized-failure"


class IpamExternalResourceVerificationTokenState(StrEnum):
    create_in_progress = "create-in-progress"
    create_complete = "create-complete"
    create_failed = "create-failed"
    delete_in_progress = "delete-in-progress"
    delete_complete = "delete-complete"
    delete_failed = "delete-failed"


class IpamManagementState(StrEnum):
    managed = "managed"
    unmanaged = "unmanaged"
    ignored = "ignored"


class IpamMeteredAccount(StrEnum):
    ipam_owner = "ipam-owner"
    resource_owner = "resource-owner"


class IpamNetworkInterfaceAttachmentStatus(StrEnum):
    available = "available"
    in_use = "in-use"


class IpamOverlapStatus(StrEnum):
    overlapping = "overlapping"
    nonoverlapping = "nonoverlapping"
    ignored = "ignored"


class IpamPolicyManagedBy(StrEnum):
    account = "account"
    delegated_administrator_for_ipam = "delegated-administrator-for-ipam"


class IpamPolicyResourceType(StrEnum):
    alb = "alb"
    eip = "eip"
    rds = "rds"
    rnat = "rnat"


class IpamPolicyState(StrEnum):
    create_in_progress = "create-in-progress"
    create_complete = "create-complete"
    create_failed = "create-failed"
    modify_in_progress = "modify-in-progress"
    modify_complete = "modify-complete"
    modify_failed = "modify-failed"
    delete_in_progress = "delete-in-progress"
    delete_complete = "delete-complete"
    delete_failed = "delete-failed"
    isolate_in_progress = "isolate-in-progress"
    isolate_complete = "isolate-complete"
    restore_in_progress = "restore-in-progress"


class IpamPoolAllocationResourceType(StrEnum):
    ipam_pool = "ipam-pool"
    vpc = "vpc"
    ec2_public_ipv4_pool = "ec2-public-ipv4-pool"
    custom = "custom"
    subnet = "subnet"
    eip = "eip"
    anycast_ip_list = "anycast-ip-list"


class IpamPoolAwsService(StrEnum):
    ec2 = "ec2"
    global_services = "global-services"


class IpamPoolCidrFailureCode(StrEnum):
    cidr_not_available = "cidr-not-available"
    limit_exceeded = "limit-exceeded"


class IpamPoolCidrState(StrEnum):
    pending_provision = "pending-provision"
    provisioned = "provisioned"
    failed_provision = "failed-provision"
    pending_deprovision = "pending-deprovision"
    deprovisioned = "deprovisioned"
    failed_deprovision = "failed-deprovision"
    pending_import = "pending-import"
    failed_import = "failed-import"


class IpamPoolPublicIpSource(StrEnum):
    amazon = "amazon"
    byoip = "byoip"


class IpamPoolSourceResourceType(StrEnum):
    vpc = "vpc"


class IpamPoolState(StrEnum):
    create_in_progress = "create-in-progress"
    create_complete = "create-complete"
    create_failed = "create-failed"
    modify_in_progress = "modify-in-progress"
    modify_complete = "modify-complete"
    modify_failed = "modify-failed"
    delete_in_progress = "delete-in-progress"
    delete_complete = "delete-complete"
    delete_failed = "delete-failed"
    isolate_in_progress = "isolate-in-progress"
    isolate_complete = "isolate-complete"
    restore_in_progress = "restore-in-progress"


class IpamPrefixListResolverRuleConditionOperation(StrEnum):
    equals = "equals"
    not_equals = "not-equals"
    subnet_of = "subnet-of"


class IpamPrefixListResolverRuleType(StrEnum):
    static_cidr = "static-cidr"
    ipam_resource_cidr = "ipam-resource-cidr"
    ipam_pool_cidr = "ipam-pool-cidr"


class IpamPrefixListResolverState(StrEnum):
    create_in_progress = "create-in-progress"
    create_complete = "create-complete"
    create_failed = "create-failed"
    modify_in_progress = "modify-in-progress"
    modify_complete = "modify-complete"
    modify_failed = "modify-failed"
    delete_in_progress = "delete-in-progress"
    delete_complete = "delete-complete"
    delete_failed = "delete-failed"
    isolate_in_progress = "isolate-in-progress"
    isolate_complete = "isolate-complete"
    restore_in_progress = "restore-in-progress"


class IpamPrefixListResolverTargetState(StrEnum):
    create_in_progress = "create-in-progress"
    create_complete = "create-complete"
    create_failed = "create-failed"
    modify_in_progress = "modify-in-progress"
    modify_complete = "modify-complete"
    modify_failed = "modify-failed"
    sync_in_progress = "sync-in-progress"
    sync_complete = "sync-complete"
    sync_failed = "sync-failed"
    delete_in_progress = "delete-in-progress"
    delete_complete = "delete-complete"
    delete_failed = "delete-failed"
    isolate_in_progress = "isolate-in-progress"
    isolate_complete = "isolate-complete"
    restore_in_progress = "restore-in-progress"


class IpamPrefixListResolverVersionCreationStatus(StrEnum):
    pending = "pending"
    success = "success"
    failure = "failure"


class IpamPublicAddressAssociationStatus(StrEnum):
    associated = "associated"
    disassociated = "disassociated"


class IpamPublicAddressAwsService(StrEnum):
    nat_gateway = "nat-gateway"
    database_migration_service = "database-migration-service"
    redshift = "redshift"
    elastic_container_service = "elastic-container-service"
    relational_database_service = "relational-database-service"
    site_to_site_vpn = "site-to-site-vpn"
    load_balancer = "load-balancer"
    global_accelerator = "global-accelerator"
    cloudfront = "cloudfront"
    other = "other"


class IpamPublicAddressType(StrEnum):
    service_managed_ip = "service-managed-ip"
    service_managed_byoip = "service-managed-byoip"
    amazon_owned_eip = "amazon-owned-eip"
    amazon_owned_contig = "amazon-owned-contig"
    byoip = "byoip"
    ec2_public_ip = "ec2-public-ip"
    anycast_ip_list_ip = "anycast-ip-list-ip"


class IpamResourceCidrIpSource(StrEnum):
    amazon = "amazon"
    byoip = "byoip"
    none = "none"


class IpamResourceDiscoveryAssociationState(StrEnum):
    associate_in_progress = "associate-in-progress"
    associate_complete = "associate-complete"
    associate_failed = "associate-failed"
    disassociate_in_progress = "disassociate-in-progress"
    disassociate_complete = "disassociate-complete"
    disassociate_failed = "disassociate-failed"
    isolate_in_progress = "isolate-in-progress"
    isolate_complete = "isolate-complete"
    restore_in_progress = "restore-in-progress"


class IpamResourceDiscoveryState(StrEnum):
    create_in_progress = "create-in-progress"
    create_complete = "create-complete"
    create_failed = "create-failed"
    modify_in_progress = "modify-in-progress"
    modify_complete = "modify-complete"
    modify_failed = "modify-failed"
    delete_in_progress = "delete-in-progress"
    delete_complete = "delete-complete"
    delete_failed = "delete-failed"
    isolate_in_progress = "isolate-in-progress"
    isolate_complete = "isolate-complete"
    restore_in_progress = "restore-in-progress"


class IpamResourceType(StrEnum):
    vpc = "vpc"
    subnet = "subnet"
    eip = "eip"
    public_ipv4_pool = "public-ipv4-pool"
    ipv6_pool = "ipv6-pool"
    eni = "eni"
    anycast_ip_list = "anycast-ip-list"


class IpamScopeExternalAuthorityType(StrEnum):
    infoblox = "infoblox"


class IpamScopeState(StrEnum):
    create_in_progress = "create-in-progress"
    create_complete = "create-complete"
    create_failed = "create-failed"
    modify_in_progress = "modify-in-progress"
    modify_complete = "modify-complete"
    modify_failed = "modify-failed"
    delete_in_progress = "delete-in-progress"
    delete_complete = "delete-complete"
    delete_failed = "delete-failed"
    isolate_in_progress = "isolate-in-progress"
    isolate_complete = "isolate-complete"
    restore_in_progress = "restore-in-progress"


class IpamScopeType(StrEnum):
    public = "public"
    private = "private"


class IpamState(StrEnum):
    create_in_progress = "create-in-progress"
    create_complete = "create-complete"
    create_failed = "create-failed"
    modify_in_progress = "modify-in-progress"
    modify_complete = "modify-complete"
    modify_failed = "modify-failed"
    delete_in_progress = "delete-in-progress"
    delete_complete = "delete-complete"
    delete_failed = "delete-failed"
    isolate_in_progress = "isolate-in-progress"
    isolate_complete = "isolate-complete"
    restore_in_progress = "restore-in-progress"


class IpamTier(StrEnum):
    free = "free"
    advanced = "advanced"


class Ipv6AddressAttribute(StrEnum):
    public = "public"
    private = "private"


class Ipv6SupportValue(StrEnum):
    enable = "enable"
    disable = "disable"


class KeyFormat(StrEnum):
    pem = "pem"
    ppk = "ppk"


class KeyType(StrEnum):
    rsa = "rsa"
    ed25519 = "ed25519"


class LaunchTemplateAutoRecoveryState(StrEnum):
    default = "default"
    disabled = "disabled"


class LaunchTemplateErrorCode(StrEnum):
    launchTemplateIdDoesNotExist = "launchTemplateIdDoesNotExist"
    launchTemplateIdMalformed = "launchTemplateIdMalformed"
    launchTemplateNameDoesNotExist = "launchTemplateNameDoesNotExist"
    launchTemplateNameMalformed = "launchTemplateNameMalformed"
    launchTemplateVersionDoesNotExist = "launchTemplateVersionDoesNotExist"
    unexpectedError = "unexpectedError"


class LaunchTemplateHttpTokensState(StrEnum):
    optional = "optional"
    required = "required"


class LaunchTemplateInstanceMetadataEndpointState(StrEnum):
    disabled = "disabled"
    enabled = "enabled"


class LaunchTemplateInstanceMetadataOptionsState(StrEnum):
    pending = "pending"
    applied = "applied"


class LaunchTemplateInstanceMetadataProtocolIpv6(StrEnum):
    disabled = "disabled"
    enabled = "enabled"


class LaunchTemplateInstanceMetadataTagsState(StrEnum):
    disabled = "disabled"
    enabled = "enabled"


class ListingState(StrEnum):
    available = "available"
    sold = "sold"
    cancelled = "cancelled"
    pending = "pending"


class ListingStatus(StrEnum):
    active = "active"
    pending = "pending"
    cancelled = "cancelled"
    closed = "closed"


class LocalGatewayRouteState(StrEnum):
    pending = "pending"
    active = "active"
    blackhole = "blackhole"
    deleting = "deleting"
    deleted = "deleted"


class LocalGatewayRouteTableMode(StrEnum):
    direct_vpc_routing = "direct-vpc-routing"
    coip = "coip"


class LocalGatewayRouteType(StrEnum):
    static = "static"
    propagated = "propagated"


class LocalGatewayVirtualInterfaceConfigurationState(StrEnum):
    pending = "pending"
    available = "available"
    deleting = "deleting"
    deleted = "deleted"


class LocalGatewayVirtualInterfaceGroupConfigurationState(StrEnum):
    pending = "pending"
    incomplete = "incomplete"
    available = "available"
    deleting = "deleting"
    deleted = "deleted"


class LocalStorage(StrEnum):
    included = "included"
    required = "required"
    excluded = "excluded"


class LocalStorageType(StrEnum):
    hdd = "hdd"
    ssd = "ssd"


class LocationType(StrEnum):
    region = "region"
    availability_zone = "availability-zone"
    availability_zone_id = "availability-zone-id"
    outpost = "outpost"


class LockMode(StrEnum):
    compliance = "compliance"
    governance = "governance"


class LockState(StrEnum):
    compliance = "compliance"
    governance = "governance"
    compliance_cooloff = "compliance-cooloff"
    expired = "expired"


class LogDestinationType(StrEnum):
    cloud_watch_logs = "cloud-watch-logs"
    s3 = "s3"
    kinesis_data_firehose = "kinesis-data-firehose"


class MacModificationTaskState(StrEnum):
    successful = "successful"
    failed = "failed"
    in_progress = "in-progress"
    pending = "pending"


class MacModificationTaskType(StrEnum):
    sip_modification = "sip-modification"
    volume_ownership_delegation = "volume-ownership-delegation"


class MacSystemIntegrityProtectionSettingStatus(StrEnum):
    enabled = "enabled"
    disabled = "disabled"


class ManagedBy(StrEnum):
    account = "account"
    declarative_policy = "declarative-policy"


class MarketType(StrEnum):
    spot = "spot"
    capacity_block = "capacity-block"
    interruptible_capacity_reservation = "interruptible-capacity-reservation"


class MembershipType(StrEnum):
    static = "static"
    igmp = "igmp"


class MetadataDefaultHttpTokensState(StrEnum):
    optional = "optional"
    required = "required"
    no_preference = "no-preference"


class Metric(StrEnum):
    reservation_total_capacity_hrs_vcpu = "reservation-total-capacity-hrs-vcpu"
    reservation_total_capacity_hrs_inst = "reservation-total-capacity-hrs-inst"
    reservation_max_size_vcpu = "reservation-max-size-vcpu"
    reservation_max_size_inst = "reservation-max-size-inst"
    reservation_min_size_vcpu = "reservation-min-size-vcpu"
    reservation_min_size_inst = "reservation-min-size-inst"
    reservation_unused_total_capacity_hrs_vcpu = "reservation-unused-total-capacity-hrs-vcpu"
    reservation_unused_total_capacity_hrs_inst = "reservation-unused-total-capacity-hrs-inst"
    reservation_unused_total_estimated_cost = "reservation-unused-total-estimated-cost"
    reservation_max_unused_size_vcpu = "reservation-max-unused-size-vcpu"
    reservation_max_unused_size_inst = "reservation-max-unused-size-inst"
    reservation_min_unused_size_vcpu = "reservation-min-unused-size-vcpu"
    reservation_min_unused_size_inst = "reservation-min-unused-size-inst"
    reservation_max_utilization = "reservation-max-utilization"
    reservation_min_utilization = "reservation-min-utilization"
    reservation_avg_utilization_vcpu = "reservation-avg-utilization-vcpu"
    reservation_avg_utilization_inst = "reservation-avg-utilization-inst"
    reservation_total_count = "reservation-total-count"
    reservation_total_estimated_cost = "reservation-total-estimated-cost"
    reservation_avg_future_size_vcpu = "reservation-avg-future-size-vcpu"
    reservation_avg_future_size_inst = "reservation-avg-future-size-inst"
    reservation_min_future_size_vcpu = "reservation-min-future-size-vcpu"
    reservation_min_future_size_inst = "reservation-min-future-size-inst"
    reservation_max_future_size_vcpu = "reservation-max-future-size-vcpu"
    reservation_max_future_size_inst = "reservation-max-future-size-inst"
    reservation_avg_committed_size_vcpu = "reservation-avg-committed-size-vcpu"
    reservation_avg_committed_size_inst = "reservation-avg-committed-size-inst"
    reservation_max_committed_size_vcpu = "reservation-max-committed-size-vcpu"
    reservation_max_committed_size_inst = "reservation-max-committed-size-inst"
    reservation_min_committed_size_vcpu = "reservation-min-committed-size-vcpu"
    reservation_min_committed_size_inst = "reservation-min-committed-size-inst"
    reserved_total_usage_hrs_vcpu = "reserved-total-usage-hrs-vcpu"
    reserved_total_usage_hrs_inst = "reserved-total-usage-hrs-inst"
    reserved_total_estimated_cost = "reserved-total-estimated-cost"
    unreserved_total_usage_hrs_vcpu = "unreserved-total-usage-hrs-vcpu"
    unreserved_total_usage_hrs_inst = "unreserved-total-usage-hrs-inst"
    unreserved_total_estimated_cost = "unreserved-total-estimated-cost"
    spot_total_usage_hrs_vcpu = "spot-total-usage-hrs-vcpu"
    spot_total_usage_hrs_inst = "spot-total-usage-hrs-inst"
    spot_total_estimated_cost = "spot-total-estimated-cost"
    spot_avg_run_time_before_interruption_inst = "spot-avg-run-time-before-interruption-inst"
    spot_max_run_time_before_interruption_inst = "spot-max-run-time-before-interruption-inst"
    spot_min_run_time_before_interruption_inst = "spot-min-run-time-before-interruption-inst"
    spot_total_interruptions_inst = "spot-total-interruptions-inst"
    spot_total_interruptions_vcpu = "spot-total-interruptions-vcpu"
    spot_total_count_inst = "spot-total-count-inst"
    spot_total_count_vcpu = "spot-total-count-vcpu"
    spot_interruption_rate_inst = "spot-interruption-rate-inst"
    spot_interruption_rate_vcpu = "spot-interruption-rate-vcpu"


class MetricType(StrEnum):
    aggregate_latency = "aggregate-latency"


class ModifyAvailabilityZoneOptInStatus(StrEnum):
    opted_in = "opted-in"
    not_opted_in = "not-opted-in"


class MonitoringState(StrEnum):
    disabled = "disabled"
    disabling = "disabling"
    enabled = "enabled"
    pending = "pending"


class MoveStatus(StrEnum):
    movingToVpc = "movingToVpc"
    restoringToClassic = "restoringToClassic"


class MulticastSupportValue(StrEnum):
    enable = "enable"
    disable = "disable"


class NatGatewayAddressStatus(StrEnum):
    assigning = "assigning"
    unassigning = "unassigning"
    associating = "associating"
    disassociating = "disassociating"
    succeeded = "succeeded"
    failed = "failed"


class NatGatewayApplianceModifyState(StrEnum):
    modifying = "modifying"
    completed = "completed"
    failed = "failed"


class NatGatewayApplianceState(StrEnum):
    attaching = "attaching"
    attached = "attached"
    detaching = "detaching"
    detached = "detached"
    attach_failed = "attach-failed"
    detach_failed = "detach-failed"


class NatGatewayApplianceType(StrEnum):
    network_firewall_proxy = "network-firewall-proxy"


class NatGatewayState(StrEnum):
    pending = "pending"
    failed = "failed"
    available = "available"
    deleting = "deleting"
    deleted = "deleted"


class NetworkInterfaceAttribute(StrEnum):
    description = "description"
    groupSet = "groupSet"
    sourceDestCheck = "sourceDestCheck"
    attachment = "attachment"
    associatePublicIpAddress = "associatePublicIpAddress"


class NetworkInterfaceCreationType(StrEnum):
    efa = "efa"
    efa_only = "efa-only"
    branch = "branch"
    trunk = "trunk"


class NetworkInterfacePermissionStateCode(StrEnum):
    pending = "pending"
    granted = "granted"
    revoking = "revoking"
    revoked = "revoked"


class NetworkInterfaceStatus(StrEnum):
    available = "available"
    associated = "associated"
    attaching = "attaching"
    in_use = "in-use"
    detaching = "detaching"


class NetworkInterfaceType(StrEnum):
    interface = "interface"
    natGateway = "natGateway"
    efa = "efa"
    efa_only = "efa-only"
    trunk = "trunk"
    load_balancer = "load_balancer"
    network_load_balancer = "network_load_balancer"
    vpc_endpoint = "vpc_endpoint"
    branch = "branch"
    transit_gateway = "transit_gateway"
    lambda_ = "lambda"
    quicksight = "quicksight"
    global_accelerator_managed = "global_accelerator_managed"
    api_gateway_managed = "api_gateway_managed"
    gateway_load_balancer = "gateway_load_balancer"
    gateway_load_balancer_endpoint = "gateway_load_balancer_endpoint"
    iot_rules_managed = "iot_rules_managed"
    aws_codestar_connections_managed = "aws_codestar_connections_managed"


class NitroEnclavesSupport(StrEnum):
    unsupported = "unsupported"
    supported = "supported"


class NitroTpmSupport(StrEnum):
    unsupported = "unsupported"
    supported = "supported"


class OfferingClassType(StrEnum):
    standard = "standard"
    convertible = "convertible"


class OfferingTypeValues(StrEnum):
    Heavy_Utilization = "Heavy Utilization"
    Medium_Utilization = "Medium Utilization"
    Light_Utilization = "Light Utilization"
    No_Upfront = "No Upfront"
    Partial_Upfront = "Partial Upfront"
    All_Upfront = "All Upfront"


class OnDemandAllocationStrategy(StrEnum):
    lowestPrice = "lowestPrice"
    prioritized = "prioritized"


class OperationType(StrEnum):
    add = "add"
    remove = "remove"


class OutputFormat(StrEnum):
    csv = "csv"
    parquet = "parquet"


class PartitionLoadFrequency(StrEnum):
    none = "none"
    daily = "daily"
    weekly = "weekly"
    monthly = "monthly"


class PayerResponsibility(StrEnum):
    ServiceOwner = "ServiceOwner"


class PaymentOption(StrEnum):
    AllUpfront = "AllUpfront"
    PartialUpfront = "PartialUpfront"
    NoUpfront = "NoUpfront"


class PeriodType(StrEnum):
    five_minutes = "five-minutes"
    fifteen_minutes = "fifteen-minutes"
    one_hour = "one-hour"
    three_hours = "three-hours"
    one_day = "one-day"
    one_week = "one-week"


class PermissionGroup(StrEnum):
    all = "all"


class PhcSupport(StrEnum):
    unsupported = "unsupported"
    supported = "supported"


class PlacementGroupState(StrEnum):
    pending = "pending"
    available = "available"
    deleting = "deleting"
    deleted = "deleted"


class PlacementGroupStrategy(StrEnum):
    cluster = "cluster"
    partition = "partition"
    spread = "spread"


class PlacementStrategy(StrEnum):
    cluster = "cluster"
    spread = "spread"
    partition = "partition"


class PlatformValues(StrEnum):
    Windows = "Windows"


class PrefixListState(StrEnum):
    create_in_progress = "create-in-progress"
    create_complete = "create-complete"
    create_failed = "create-failed"
    modify_in_progress = "modify-in-progress"
    modify_complete = "modify-complete"
    modify_failed = "modify-failed"
    restore_in_progress = "restore-in-progress"
    restore_complete = "restore-complete"
    restore_failed = "restore-failed"
    delete_in_progress = "delete-in-progress"
    delete_complete = "delete-complete"
    delete_failed = "delete-failed"


class PrincipalType(StrEnum):
    All = "All"
    Service = "Service"
    OrganizationUnit = "OrganizationUnit"
    Account = "Account"
    User = "User"
    Role = "Role"


class ProductCodeValues(StrEnum):
    devpay = "devpay"
    marketplace = "marketplace"


class Protocol(StrEnum):
    tcp = "tcp"
    udp = "udp"


class ProtocolValue(StrEnum):
    gre = "gre"


class PublicIpDnsOption(StrEnum):
    public_dual_stack_dns_name = "public-dual-stack-dns-name"
    public_ipv4_dns_name = "public-ipv4-dns-name"
    public_ipv6_dns_name = "public-ipv6-dns-name"


class RIProductDescription(StrEnum):
    Linux_UNIX = "Linux/UNIX"
    Linux_UNIX_Amazon_VPC_ = "Linux/UNIX (Amazon VPC)"
    Windows = "Windows"
    Windows_Amazon_VPC_ = "Windows (Amazon VPC)"


class RebootMigrationSupport(StrEnum):
    unsupported = "unsupported"
    supported = "supported"


class RecurringChargeFrequency(StrEnum):
    Hourly = "Hourly"


class ReplaceRootVolumeTaskState(StrEnum):
    pending = "pending"
    in_progress = "in-progress"
    failing = "failing"
    succeeded = "succeeded"
    failed = "failed"
    failed_detached = "failed-detached"


class ReplacementStrategy(StrEnum):
    launch = "launch"
    launch_before_terminate = "launch-before-terminate"


class ReportInstanceReasonCodes(StrEnum):
    instance_stuck_in_state = "instance-stuck-in-state"
    unresponsive = "unresponsive"
    not_accepting_credentials = "not-accepting-credentials"
    password_not_available = "password-not-available"
    performance_network = "performance-network"
    performance_instance_store = "performance-instance-store"
    performance_ebs_volume = "performance-ebs-volume"
    performance_other = "performance-other"
    other = "other"


class ReportState(StrEnum):
    running = "running"
    cancelled = "cancelled"
    complete = "complete"
    error = "error"


class ReportStatusType(StrEnum):
    ok = "ok"
    impaired = "impaired"


class ReservationEndDateType(StrEnum):
    limited = "limited"
    unlimited = "unlimited"


class ReservationState(StrEnum):
    active = "active"
    expired = "expired"
    cancelled = "cancelled"
    scheduled = "scheduled"
    pending = "pending"
    failed = "failed"
    delayed = "delayed"
    unsupported = "unsupported"
    payment_pending = "payment-pending"
    payment_failed = "payment-failed"
    retired = "retired"


class ReservationType(StrEnum):
    capacity_block = "capacity-block"
    odcr = "odcr"


class ReservedInstanceState(StrEnum):
    payment_pending = "payment-pending"
    active = "active"
    payment_failed = "payment-failed"
    retired = "retired"
    queued = "queued"
    queued_deleted = "queued-deleted"


class ResetFpgaImageAttributeName(StrEnum):
    loadPermission = "loadPermission"


class ResetImageAttributeName(StrEnum):
    launchPermission = "launchPermission"


class ResourceType(StrEnum):
    capacity_reservation = "capacity-reservation"
    client_vpn_endpoint = "client-vpn-endpoint"
    customer_gateway = "customer-gateway"
    carrier_gateway = "carrier-gateway"
    coip_pool = "coip-pool"
    declarative_policies_report = "declarative-policies-report"
    dedicated_host = "dedicated-host"
    dhcp_options = "dhcp-options"
    egress_only_internet_gateway = "egress-only-internet-gateway"
    elastic_ip = "elastic-ip"
    elastic_gpu = "elastic-gpu"
    export_image_task = "export-image-task"
    export_instance_task = "export-instance-task"
    fleet = "fleet"
    fpga_image = "fpga-image"
    host_reservation = "host-reservation"
    image = "image"
    image_usage_report = "image-usage-report"
    import_image_task = "import-image-task"
    import_snapshot_task = "import-snapshot-task"
    instance = "instance"
    instance_event_window = "instance-event-window"
    internet_gateway = "internet-gateway"
    ipam = "ipam"
    ipam_pool = "ipam-pool"
    ipam_scope = "ipam-scope"
    ipv4pool_ec2 = "ipv4pool-ec2"
    ipv6pool_ec2 = "ipv6pool-ec2"
    key_pair = "key-pair"
    launch_template = "launch-template"
    local_gateway = "local-gateway"
    local_gateway_route_table = "local-gateway-route-table"
    local_gateway_virtual_interface = "local-gateway-virtual-interface"
    local_gateway_virtual_interface_group = "local-gateway-virtual-interface-group"
    local_gateway_route_table_vpc_association = "local-gateway-route-table-vpc-association"
    local_gateway_route_table_virtual_interface_group_association = (
        "local-gateway-route-table-virtual-interface-group-association"
    )
    natgateway = "natgateway"
    network_acl = "network-acl"
    network_interface = "network-interface"
    network_insights_analysis = "network-insights-analysis"
    network_insights_path = "network-insights-path"
    network_insights_access_scope = "network-insights-access-scope"
    network_insights_access_scope_analysis = "network-insights-access-scope-analysis"
    outpost_lag = "outpost-lag"
    placement_group = "placement-group"
    prefix_list = "prefix-list"
    replace_root_volume_task = "replace-root-volume-task"
    reserved_instances = "reserved-instances"
    route_table = "route-table"
    security_group = "security-group"
    security_group_rule = "security-group-rule"
    service_link_virtual_interface = "service-link-virtual-interface"
    snapshot = "snapshot"
    spot_fleet_request = "spot-fleet-request"
    spot_instances_request = "spot-instances-request"
    subnet = "subnet"
    subnet_cidr_reservation = "subnet-cidr-reservation"
    traffic_mirror_filter = "traffic-mirror-filter"
    traffic_mirror_session = "traffic-mirror-session"
    traffic_mirror_target = "traffic-mirror-target"
    transit_gateway = "transit-gateway"
    transit_gateway_attachment = "transit-gateway-attachment"
    transit_gateway_connect_peer = "transit-gateway-connect-peer"
    transit_gateway_multicast_domain = "transit-gateway-multicast-domain"
    transit_gateway_policy_table = "transit-gateway-policy-table"
    transit_gateway_metering_policy = "transit-gateway-metering-policy"
    transit_gateway_route_table = "transit-gateway-route-table"
    transit_gateway_route_table_announcement = "transit-gateway-route-table-announcement"
    volume = "volume"
    vpc = "vpc"
    vpc_endpoint = "vpc-endpoint"
    vpc_endpoint_connection = "vpc-endpoint-connection"
    vpc_endpoint_service = "vpc-endpoint-service"
    vpc_endpoint_service_permission = "vpc-endpoint-service-permission"
    vpc_peering_connection = "vpc-peering-connection"
    vpn_connection = "vpn-connection"
    vpn_gateway = "vpn-gateway"
    vpc_flow_log = "vpc-flow-log"
    capacity_reservation_fleet = "capacity-reservation-fleet"
    traffic_mirror_filter_rule = "traffic-mirror-filter-rule"
    vpc_endpoint_connection_device_type = "vpc-endpoint-connection-device-type"
    verified_access_instance = "verified-access-instance"
    verified_access_group = "verified-access-group"
    verified_access_endpoint = "verified-access-endpoint"
    verified_access_policy = "verified-access-policy"
    verified_access_trust_provider = "verified-access-trust-provider"
    vpn_connection_device_type = "vpn-connection-device-type"
    vpc_block_public_access_exclusion = "vpc-block-public-access-exclusion"
    vpc_encryption_control = "vpc-encryption-control"
    route_server = "route-server"
    route_server_endpoint = "route-server-endpoint"
    route_server_peer = "route-server-peer"
    ipam_resource_discovery = "ipam-resource-discovery"
    ipam_resource_discovery_association = "ipam-resource-discovery-association"
    instance_connect_endpoint = "instance-connect-endpoint"
    verified_access_endpoint_target = "verified-access-endpoint-target"
    ipam_external_resource_verification_token = "ipam-external-resource-verification-token"
    capacity_block = "capacity-block"
    mac_modification_task = "mac-modification-task"
    ipam_prefix_list_resolver = "ipam-prefix-list-resolver"
    ipam_policy = "ipam-policy"
    ipam_prefix_list_resolver_target = "ipam-prefix-list-resolver-target"
    capacity_manager_data_export = "capacity-manager-data-export"
    vpn_concentrator = "vpn-concentrator"


class RootDeviceType(StrEnum):
    ebs = "ebs"
    instance_store = "instance-store"


class RouteOrigin(StrEnum):
    CreateRouteTable = "CreateRouteTable"
    CreateRoute = "CreateRoute"
    EnableVgwRoutePropagation = "EnableVgwRoutePropagation"
    Advertisement = "Advertisement"


class RouteServerAssociationState(StrEnum):
    associating = "associating"
    associated = "associated"
    disassociating = "disassociating"


class RouteServerBfdState(StrEnum):
    up = "up"
    down = "down"


class RouteServerBgpState(StrEnum):
    up = "up"
    down = "down"


class RouteServerEndpointState(StrEnum):
    pending = "pending"
    available = "available"
    deleting = "deleting"
    deleted = "deleted"
    failing = "failing"
    failed = "failed"
    delete_failed = "delete-failed"


class RouteServerPeerLivenessMode(StrEnum):
    bfd = "bfd"
    bgp_keepalive = "bgp-keepalive"


class RouteServerPeerState(StrEnum):
    pending = "pending"
    available = "available"
    deleting = "deleting"
    deleted = "deleted"
    failing = "failing"
    failed = "failed"


class RouteServerPersistRoutesAction(StrEnum):
    enable = "enable"
    disable = "disable"
    reset = "reset"


class RouteServerPersistRoutesState(StrEnum):
    enabling = "enabling"
    enabled = "enabled"
    resetting = "resetting"
    disabling = "disabling"
    disabled = "disabled"
    modifying = "modifying"


class RouteServerPropagationState(StrEnum):
    pending = "pending"
    available = "available"
    deleting = "deleting"


class RouteServerRouteInstallationStatus(StrEnum):
    installed = "installed"
    rejected = "rejected"


class RouteServerRouteStatus(StrEnum):
    in_rib = "in-rib"
    in_fib = "in-fib"


class RouteServerState(StrEnum):
    pending = "pending"
    available = "available"
    modifying = "modifying"
    deleting = "deleting"
    deleted = "deleted"


class RouteState(StrEnum):
    active = "active"
    blackhole = "blackhole"
    filtered = "filtered"


class RouteTableAssociationStateCode(StrEnum):
    associating = "associating"
    associated = "associated"
    disassociating = "disassociating"
    disassociated = "disassociated"
    failed = "failed"


class RuleAction(StrEnum):
    allow = "allow"
    deny = "deny"


class SSEType(StrEnum):
    sse_ebs = "sse-ebs"
    sse_kms = "sse-kms"
    none = "none"


class Schedule(StrEnum):
    hourly = "hourly"


class SecurityGroupReferencingSupportValue(StrEnum):
    enable = "enable"
    disable = "disable"


class SecurityGroupVpcAssociationState(StrEnum):
    associating = "associating"
    associated = "associated"
    association_failed = "association-failed"
    disassociating = "disassociating"
    disassociated = "disassociated"
    disassociation_failed = "disassociation-failed"


class SelfServicePortal(StrEnum):
    enabled = "enabled"
    disabled = "disabled"


class ServiceConnectivityType(StrEnum):
    ipv4 = "ipv4"
    ipv6 = "ipv6"


class ServiceLinkVirtualInterfaceConfigurationState(StrEnum):
    pending = "pending"
    available = "available"
    deleting = "deleting"
    deleted = "deleted"


class ServiceManaged(StrEnum):
    alb = "alb"
    nlb = "nlb"
    rnat = "rnat"
    rds = "rds"


class ServiceState(StrEnum):
    Pending = "Pending"
    Available = "Available"
    Deleting = "Deleting"
    Deleted = "Deleted"
    Failed = "Failed"


class ServiceType(StrEnum):
    Interface = "Interface"
    Gateway = "Gateway"
    GatewayLoadBalancer = "GatewayLoadBalancer"


class ShutdownBehavior(StrEnum):
    stop = "stop"
    terminate = "terminate"


class SnapshotAttributeName(StrEnum):
    productCodes = "productCodes"
    createVolumePermission = "createVolumePermission"


class SnapshotBlockPublicAccessState(StrEnum):
    block_all_sharing = "block-all-sharing"
    block_new_sharing = "block-new-sharing"
    unblocked = "unblocked"


class SnapshotLocationEnum(StrEnum):
    regional = "regional"
    local = "local"


class SnapshotReturnCodes(StrEnum):
    success = "success"
    skipped = "skipped"
    missing_permissions = "missing-permissions"
    internal_error = "internal-error"
    client_error = "client-error"


class SnapshotState(StrEnum):
    pending = "pending"
    completed = "completed"
    error = "error"
    recoverable = "recoverable"
    recovering = "recovering"


class SpotAllocationStrategy(StrEnum):
    lowest_price = "lowest-price"
    diversified = "diversified"
    capacity_optimized = "capacity-optimized"
    capacity_optimized_prioritized = "capacity-optimized-prioritized"
    price_capacity_optimized = "price-capacity-optimized"


class SpotInstanceInterruptionBehavior(StrEnum):
    hibernate = "hibernate"
    stop = "stop"
    terminate = "terminate"


class SpotInstanceState(StrEnum):
    open = "open"
    active = "active"
    closed = "closed"
    cancelled = "cancelled"
    failed = "failed"
    disabled = "disabled"


class SpotInstanceType(StrEnum):
    one_time = "one-time"
    persistent = "persistent"


class SpreadLevel(StrEnum):
    host = "host"
    rack = "rack"


class SqlServerLicenseUsage(StrEnum):
    full = "full"
    waived = "waived"


class State(StrEnum):
    PendingAcceptance = "PendingAcceptance"
    Pending = "Pending"
    Available = "Available"
    Deleting = "Deleting"
    Deleted = "Deleted"
    Rejected = "Rejected"
    Failed = "Failed"
    Expired = "Expired"
    Partial = "Partial"


class StaticSourcesSupportValue(StrEnum):
    enable = "enable"
    disable = "disable"


class StatisticType(StrEnum):
    p50 = "p50"


class Status(StrEnum):
    MoveInProgress = "MoveInProgress"
    InVpc = "InVpc"
    InClassic = "InClassic"


class StatusName(StrEnum):
    reachability = "reachability"


class StatusType(StrEnum):
    passed = "passed"
    failed = "failed"
    insufficient_data = "insufficient-data"
    initializing = "initializing"


class StorageTier(StrEnum):
    archive = "archive"
    standard = "standard"


class SubnetCidrBlockStateCode(StrEnum):
    associating = "associating"
    associated = "associated"
    disassociating = "disassociating"
    disassociated = "disassociated"
    failing = "failing"
    failed = "failed"


class SubnetCidrReservationType(StrEnum):
    prefix = "prefix"
    explicit = "explicit"


class SubnetState(StrEnum):
    pending = "pending"
    available = "available"
    unavailable = "unavailable"
    failed = "failed"
    failed_insufficient_capacity = "failed-insufficient-capacity"


class SummaryStatus(StrEnum):
    ok = "ok"
    impaired = "impaired"
    insufficient_data = "insufficient-data"
    not_applicable = "not-applicable"
    initializing = "initializing"


class SupportedAdditionalProcessorFeature(StrEnum):
    amd_sev_snp = "amd-sev-snp"


class TargetCapacityUnitType(StrEnum):
    vcpu = "vcpu"
    memory_mib = "memory-mib"
    units = "units"


class TargetStorageTier(StrEnum):
    archive = "archive"


class TelemetryStatus(StrEnum):
    UP = "UP"
    DOWN = "DOWN"


class Tenancy(StrEnum):
    default = "default"
    dedicated = "dedicated"
    host = "host"


class TieringOperationStatus(StrEnum):
    archival_in_progress = "archival-in-progress"
    archival_completed = "archival-completed"
    archival_failed = "archival-failed"
    temporary_restore_in_progress = "temporary-restore-in-progress"
    temporary_restore_completed = "temporary-restore-completed"
    temporary_restore_failed = "temporary-restore-failed"
    permanent_restore_in_progress = "permanent-restore-in-progress"
    permanent_restore_completed = "permanent-restore-completed"
    permanent_restore_failed = "permanent-restore-failed"


class TokenState(StrEnum):
    valid = "valid"
    expired = "expired"


class TpmSupportValues(StrEnum):
    v2_0 = "v2.0"


class TrafficDirection(StrEnum):
    ingress = "ingress"
    egress = "egress"


class TrafficIpAddressType(StrEnum):
    ipv4 = "ipv4"
    ipv6 = "ipv6"
    dual_stack = "dual-stack"


class TrafficMirrorFilterRuleField(StrEnum):
    destination_port_range = "destination-port-range"
    source_port_range = "source-port-range"
    protocol = "protocol"
    description = "description"


class TrafficMirrorNetworkService(StrEnum):
    amazon_dns = "amazon-dns"


class TrafficMirrorRuleAction(StrEnum):
    accept = "accept"
    reject = "reject"


class TrafficMirrorSessionField(StrEnum):
    packet_length = "packet-length"
    description = "description"
    virtual_network_id = "virtual-network-id"


class TrafficMirrorTargetType(StrEnum):
    network_interface = "network-interface"
    network_load_balancer = "network-load-balancer"
    gateway_load_balancer_endpoint = "gateway-load-balancer-endpoint"


class TrafficType(StrEnum):
    ACCEPT = "ACCEPT"
    REJECT = "REJECT"
    ALL = "ALL"


class TransferType(StrEnum):
    time_based = "time-based"
    standard = "standard"


class TransitGatewayAssociationState(StrEnum):
    associating = "associating"
    associated = "associated"
    disassociating = "disassociating"
    disassociated = "disassociated"


class TransitGatewayAttachmentResourceType(StrEnum):
    vpc = "vpc"
    vpn = "vpn"
    vpn_concentrator = "vpn-concentrator"
    direct_connect_gateway = "direct-connect-gateway"
    connect = "connect"
    peering = "peering"
    tgw_peering = "tgw-peering"
    network_function = "network-function"


class TransitGatewayAttachmentState(StrEnum):
    initiating = "initiating"
    initiatingRequest = "initiatingRequest"
    pendingAcceptance = "pendingAcceptance"
    rollingBack = "rollingBack"
    pending = "pending"
    available = "available"
    modifying = "modifying"
    deleting = "deleting"
    deleted = "deleted"
    failed = "failed"
    rejected = "rejected"
    rejecting = "rejecting"
    failing = "failing"


class TransitGatewayConnectPeerState(StrEnum):
    pending = "pending"
    available = "available"
    deleting = "deleting"
    deleted = "deleted"


class TransitGatewayMeteringPayerType(StrEnum):
    source_attachment_owner = "source-attachment-owner"
    destination_attachment_owner = "destination-attachment-owner"
    transit_gateway_owner = "transit-gateway-owner"


class TransitGatewayMeteringPolicyEntryState(StrEnum):
    available = "available"
    deleted = "deleted"


class TransitGatewayMeteringPolicyState(StrEnum):
    available = "available"
    deleted = "deleted"
    pending = "pending"
    modifying = "modifying"
    deleting = "deleting"


class TransitGatewayMulitcastDomainAssociationState(StrEnum):
    pendingAcceptance = "pendingAcceptance"
    associating = "associating"
    associated = "associated"
    disassociating = "disassociating"
    disassociated = "disassociated"
    rejected = "rejected"
    failed = "failed"


class TransitGatewayMulticastDomainState(StrEnum):
    pending = "pending"
    available = "available"
    deleting = "deleting"
    deleted = "deleted"


class TransitGatewayPolicyTableState(StrEnum):
    pending = "pending"
    available = "available"
    deleting = "deleting"
    deleted = "deleted"


class TransitGatewayPrefixListReferenceState(StrEnum):
    pending = "pending"
    available = "available"
    modifying = "modifying"
    deleting = "deleting"


class TransitGatewayPropagationState(StrEnum):
    enabling = "enabling"
    enabled = "enabled"
    disabling = "disabling"
    disabled = "disabled"


class TransitGatewayRouteState(StrEnum):
    pending = "pending"
    active = "active"
    blackhole = "blackhole"
    deleting = "deleting"
    deleted = "deleted"


class TransitGatewayRouteTableAnnouncementDirection(StrEnum):
    outgoing = "outgoing"
    incoming = "incoming"


class TransitGatewayRouteTableAnnouncementState(StrEnum):
    available = "available"
    pending = "pending"
    failing = "failing"
    failed = "failed"
    deleting = "deleting"
    deleted = "deleted"


class TransitGatewayRouteTableState(StrEnum):
    pending = "pending"
    available = "available"
    deleting = "deleting"
    deleted = "deleted"


class TransitGatewayRouteType(StrEnum):
    static = "static"
    propagated = "propagated"


class TransitGatewayState(StrEnum):
    pending = "pending"
    available = "available"
    modifying = "modifying"
    deleting = "deleting"
    deleted = "deleted"


class TransportProtocol(StrEnum):
    tcp = "tcp"
    udp = "udp"


class TrustProviderType(StrEnum):
    user = "user"
    device = "device"


class TunnelInsideIpVersion(StrEnum):
    ipv4 = "ipv4"
    ipv6 = "ipv6"


class UnlimitedSupportedInstanceFamily(StrEnum):
    t2 = "t2"
    t3 = "t3"
    t3a = "t3a"
    t4g = "t4g"


class UnsuccessfulInstanceCreditSpecificationErrorCode(StrEnum):
    InvalidInstanceID_Malformed = "InvalidInstanceID.Malformed"
    InvalidInstanceID_NotFound = "InvalidInstanceID.NotFound"
    IncorrectInstanceState = "IncorrectInstanceState"
    InstanceCreditSpecification_NotSupported = "InstanceCreditSpecification.NotSupported"


class UsageClassType(StrEnum):
    spot = "spot"
    on_demand = "on-demand"
    capacity_block = "capacity-block"


class UserTrustProviderType(StrEnum):
    iam_identity_center = "iam-identity-center"
    oidc = "oidc"


class VerificationMethod(StrEnum):
    remarks_x509 = "remarks-x509"
    dns_token = "dns-token"


class VerifiedAccessEndpointAttachmentType(StrEnum):
    vpc = "vpc"


class VerifiedAccessEndpointProtocol(StrEnum):
    http = "http"
    https = "https"
    tcp = "tcp"


class VerifiedAccessEndpointStatusCode(StrEnum):
    pending = "pending"
    active = "active"
    updating = "updating"
    deleting = "deleting"
    deleted = "deleted"


class VerifiedAccessEndpointType(StrEnum):
    load_balancer = "load-balancer"
    network_interface = "network-interface"
    rds = "rds"
    cidr = "cidr"


class VerifiedAccessLogDeliveryStatusCode(StrEnum):
    success = "success"
    failed = "failed"


class VirtualizationType(StrEnum):
    hvm = "hvm"
    paravirtual = "paravirtual"


class VolumeAttachmentState(StrEnum):
    attaching = "attaching"
    attached = "attached"
    detaching = "detaching"
    detached = "detached"
    busy = "busy"


class VolumeAttributeName(StrEnum):
    autoEnableIO = "autoEnableIO"
    productCodes = "productCodes"


class VolumeModificationState(StrEnum):
    modifying = "modifying"
    optimizing = "optimizing"
    completed = "completed"
    failed = "failed"


class VolumeState(StrEnum):
    creating = "creating"
    available = "available"
    in_use = "in-use"
    deleting = "deleting"
    deleted = "deleted"
    error = "error"


class VolumeStatusInfoStatus(StrEnum):
    ok = "ok"
    impaired = "impaired"
    insufficient_data = "insufficient-data"
    warning = "warning"


class VolumeStatusName(StrEnum):
    io_enabled = "io-enabled"
    io_performance = "io-performance"
    initialization_state = "initialization-state"


class VolumeType(StrEnum):
    standard = "standard"
    io1 = "io1"
    io2 = "io2"
    gp2 = "gp2"
    sc1 = "sc1"
    st1 = "st1"
    gp3 = "gp3"


class VpcAttributeName(StrEnum):
    enableDnsSupport = "enableDnsSupport"
    enableDnsHostnames = "enableDnsHostnames"
    enableNetworkAddressUsageMetrics = "enableNetworkAddressUsageMetrics"


class VpcBlockPublicAccessExclusionState(StrEnum):
    create_in_progress = "create-in-progress"
    create_complete = "create-complete"
    create_failed = "create-failed"
    update_in_progress = "update-in-progress"
    update_complete = "update-complete"
    update_failed = "update-failed"
    delete_in_progress = "delete-in-progress"
    delete_complete = "delete-complete"
    disable_in_progress = "disable-in-progress"
    disable_complete = "disable-complete"


class VpcBlockPublicAccessExclusionsAllowed(StrEnum):
    allowed = "allowed"
    not_allowed = "not-allowed"


class VpcBlockPublicAccessState(StrEnum):
    default_state = "default-state"
    update_in_progress = "update-in-progress"
    update_complete = "update-complete"


class VpcCidrBlockStateCode(StrEnum):
    associating = "associating"
    associated = "associated"
    disassociating = "disassociating"
    disassociated = "disassociated"
    failing = "failing"
    failed = "failed"


class VpcEncryptionControlExclusionState(StrEnum):
    enabling = "enabling"
    enabled = "enabled"
    disabling = "disabling"
    disabled = "disabled"


class VpcEncryptionControlExclusionStateInput(StrEnum):
    enable = "enable"
    disable = "disable"


class VpcEncryptionControlMode(StrEnum):
    monitor = "monitor"
    enforce = "enforce"


class VpcEncryptionControlState(StrEnum):
    enforce_in_progress = "enforce-in-progress"
    monitor_in_progress = "monitor-in-progress"
    enforce_failed = "enforce-failed"
    monitor_failed = "monitor-failed"
    deleting = "deleting"
    deleted = "deleted"
    available = "available"
    creating = "creating"
    delete_failed = "delete-failed"


class VpcEndpointType(StrEnum):
    Interface = "Interface"
    Gateway = "Gateway"
    GatewayLoadBalancer = "GatewayLoadBalancer"
    Resource = "Resource"
    ServiceNetwork = "ServiceNetwork"


class VpcPeeringConnectionStateReasonCode(StrEnum):
    initiating_request = "initiating-request"
    pending_acceptance = "pending-acceptance"
    active = "active"
    deleted = "deleted"
    rejected = "rejected"
    failed = "failed"
    expired = "expired"
    provisioning = "provisioning"
    deleting = "deleting"


class VpcState(StrEnum):
    pending = "pending"
    available = "available"


class VpcTenancy(StrEnum):
    default = "default"


class VpnConcentratorType(StrEnum):
    ipsec_1 = "ipsec.1"


class VpnEcmpSupportValue(StrEnum):
    enable = "enable"
    disable = "disable"


class VpnProtocol(StrEnum):
    openvpn = "openvpn"


class VpnState(StrEnum):
    pending = "pending"
    available = "available"
    deleting = "deleting"
    deleted = "deleted"


class VpnStaticRouteSource(StrEnum):
    Static = "Static"


class VpnTunnelBandwidth(StrEnum):
    standard = "standard"
    large = "large"


class VpnTunnelProvisioningStatus(StrEnum):
    available = "available"
    pending = "pending"
    failed = "failed"


class WeekDay(StrEnum):
    sunday = "sunday"
    monday = "monday"
    tuesday = "tuesday"
    wednesday = "wednesday"
    thursday = "thursday"
    friday = "friday"
    saturday = "saturday"


class scope(StrEnum):
    Availability_Zone = "Availability Zone"
    Region = "Region"


class AcceleratorCount(TypedDict, total=False):
    Min: Integer | None
    Max: Integer | None


class AcceleratorCountRequest(TypedDict, total=False):
    Min: Integer | None
    Max: Integer | None


AcceleratorManufacturerSet = list[AcceleratorManufacturer]
AcceleratorNameSet = list[AcceleratorName]


class AcceleratorTotalMemoryMiB(TypedDict, total=False):
    Min: Integer | None
    Max: Integer | None


class AcceleratorTotalMemoryMiBRequest(TypedDict, total=False):
    Min: Integer | None
    Max: Integer | None


AcceleratorTypeSet = list[AcceleratorType]


class Tag(TypedDict, total=False):
    Key: String | None
    Value: String | None


TagList = list[Tag]


class TagSpecification(TypedDict, total=False):
    ResourceType: ResourceType | None
    Tags: TagList | None


TagSpecificationList = list[TagSpecification]


class AcceptAddressTransferRequest(ServiceRequest):
    Address: String
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


MillisecondDateTime = datetime


class AddressTransfer(TypedDict, total=False):
    PublicIp: String | None
    AllocationId: String | None
    TransferAccountId: String | None
    TransferOfferExpirationTimestamp: MillisecondDateTime | None
    TransferOfferAcceptedTimestamp: MillisecondDateTime | None
    AddressTransferStatus: AddressTransferStatus | None


class AcceptAddressTransferResult(TypedDict, total=False):
    AddressTransfer: AddressTransfer | None


class AcceptCapacityReservationBillingOwnershipRequest(ServiceRequest):
    DryRun: Boolean | None
    CapacityReservationId: CapacityReservationId


class AcceptCapacityReservationBillingOwnershipResult(TypedDict, total=False):
    Return: Boolean | None


class TargetConfigurationRequest(TypedDict, total=False):
    InstanceCount: Integer | None
    OfferingId: ReservedInstancesOfferingId


TargetConfigurationRequestSet = list[TargetConfigurationRequest]
ReservedInstanceIdSet = list[ReservationId]


class AcceptReservedInstancesExchangeQuoteRequest(ServiceRequest):
    DryRun: Boolean | None
    ReservedInstanceIds: ReservedInstanceIdSet
    TargetConfigurations: TargetConfigurationRequestSet | None


class AcceptReservedInstancesExchangeQuoteResult(TypedDict, total=False):
    ExchangeId: String | None


ValueStringList = list[String]


class AcceptTransitGatewayMulticastDomainAssociationsRequest(ServiceRequest):
    TransitGatewayMulticastDomainId: TransitGatewayMulticastDomainId | None
    TransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    SubnetIds: ValueStringList | None
    DryRun: Boolean | None


class SubnetAssociation(TypedDict, total=False):
    SubnetId: String | None
    State: TransitGatewayMulitcastDomainAssociationState | None


SubnetAssociationList = list[SubnetAssociation]


class TransitGatewayMulticastDomainAssociations(TypedDict, total=False):
    TransitGatewayMulticastDomainId: String | None
    TransitGatewayAttachmentId: String | None
    ResourceId: String | None
    ResourceType: TransitGatewayAttachmentResourceType | None
    ResourceOwnerId: String | None
    Subnets: SubnetAssociationList | None


class AcceptTransitGatewayMulticastDomainAssociationsResult(TypedDict, total=False):
    Associations: TransitGatewayMulticastDomainAssociations | None


class AcceptTransitGatewayPeeringAttachmentRequest(ServiceRequest):
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    DryRun: Boolean | None


DateTime = datetime


class PeeringAttachmentStatus(TypedDict, total=False):
    Code: String | None
    Message: String | None


class TransitGatewayPeeringAttachmentOptions(TypedDict, total=False):
    DynamicRouting: DynamicRoutingValue | None


class PeeringTgwInfo(TypedDict, total=False):
    TransitGatewayId: String | None
    CoreNetworkId: String | None
    OwnerId: String | None
    Region: String | None


class TransitGatewayPeeringAttachment(TypedDict, total=False):
    TransitGatewayAttachmentId: String | None
    AccepterTransitGatewayAttachmentId: String | None
    RequesterTgwInfo: PeeringTgwInfo | None
    AccepterTgwInfo: PeeringTgwInfo | None
    Options: TransitGatewayPeeringAttachmentOptions | None
    Status: PeeringAttachmentStatus | None
    State: TransitGatewayAttachmentState | None
    CreationTime: DateTime | None
    Tags: TagList | None


class AcceptTransitGatewayPeeringAttachmentResult(TypedDict, total=False):
    TransitGatewayPeeringAttachment: TransitGatewayPeeringAttachment | None


class AcceptTransitGatewayVpcAttachmentRequest(ServiceRequest):
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    DryRun: Boolean | None


class TransitGatewayVpcAttachmentOptions(TypedDict, total=False):
    DnsSupport: DnsSupportValue | None
    SecurityGroupReferencingSupport: SecurityGroupReferencingSupportValue | None
    Ipv6Support: Ipv6SupportValue | None
    ApplianceModeSupport: ApplianceModeSupportValue | None


class TransitGatewayVpcAttachment(TypedDict, total=False):
    TransitGatewayAttachmentId: String | None
    TransitGatewayId: String | None
    VpcId: String | None
    VpcOwnerId: String | None
    State: TransitGatewayAttachmentState | None
    SubnetIds: ValueStringList | None
    CreationTime: DateTime | None
    Options: TransitGatewayVpcAttachmentOptions | None
    Tags: TagList | None


class AcceptTransitGatewayVpcAttachmentResult(TypedDict, total=False):
    TransitGatewayVpcAttachment: TransitGatewayVpcAttachment | None


VpcEndpointIdList = list[VpcEndpointId]


class AcceptVpcEndpointConnectionsRequest(ServiceRequest):
    DryRun: Boolean | None
    ServiceId: VpcEndpointServiceId
    VpcEndpointIds: VpcEndpointIdList


class UnsuccessfulItemError(TypedDict, total=False):
    Code: String | None
    Message: String | None


class UnsuccessfulItem(TypedDict, total=False):
    Error: UnsuccessfulItemError | None
    ResourceId: String | None


UnsuccessfulItemSet = list[UnsuccessfulItem]


class AcceptVpcEndpointConnectionsResult(TypedDict, total=False):
    Unsuccessful: UnsuccessfulItemSet | None


class AcceptVpcPeeringConnectionRequest(ServiceRequest):
    DryRun: Boolean | None
    VpcPeeringConnectionId: VpcPeeringConnectionIdWithResolver


class VpcPeeringConnectionStateReason(TypedDict, total=False):
    Code: VpcPeeringConnectionStateReasonCode | None
    Message: String | None


class VpcPeeringConnectionOptionsDescription(TypedDict, total=False):
    AllowDnsResolutionFromRemoteVpc: Boolean | None
    AllowEgressFromLocalClassicLinkToRemoteVpc: Boolean | None
    AllowEgressFromLocalVpcToRemoteClassicLink: Boolean | None


class CidrBlock(TypedDict, total=False):
    CidrBlock: String | None


CidrBlockSet = list[CidrBlock]


class Ipv6CidrBlock(TypedDict, total=False):
    Ipv6CidrBlock: String | None


Ipv6CidrBlockSet = list[Ipv6CidrBlock]


class VpcPeeringConnectionVpcInfo(TypedDict, total=False):
    CidrBlock: String | None
    Ipv6CidrBlockSet: Ipv6CidrBlockSet | None
    CidrBlockSet: CidrBlockSet | None
    OwnerId: String | None
    PeeringOptions: VpcPeeringConnectionOptionsDescription | None
    VpcId: String | None
    Region: String | None


class VpcPeeringConnection(TypedDict, total=False):
    AccepterVpcInfo: VpcPeeringConnectionVpcInfo | None
    ExpirationTime: DateTime | None
    RequesterVpcInfo: VpcPeeringConnectionVpcInfo | None
    Status: VpcPeeringConnectionStateReason | None
    Tags: TagList | None
    VpcPeeringConnectionId: String | None


class AcceptVpcPeeringConnectionResult(TypedDict, total=False):
    VpcPeeringConnection: VpcPeeringConnection | None


class PortRange(TypedDict, total=False):
    From: Integer | None
    To: Integer | None


PortRangeList = list[PortRange]


class FirewallStatefulRule(TypedDict, total=False):
    RuleGroupArn: ResourceArn | None
    Sources: ValueStringList | None
    Destinations: ValueStringList | None
    SourcePorts: PortRangeList | None
    DestinationPorts: PortRangeList | None
    Protocol: String | None
    RuleAction: String | None
    Direction: String | None


ProtocolIntList = list[ProtocolInt]


class FirewallStatelessRule(TypedDict, total=False):
    RuleGroupArn: ResourceArn | None
    Sources: ValueStringList | None
    Destinations: ValueStringList | None
    SourcePorts: PortRangeList | None
    DestinationPorts: PortRangeList | None
    Protocols: ProtocolIntList | None
    RuleAction: String | None
    Priority: Priority | None


class AnalysisComponent(TypedDict, total=False):
    Id: String | None
    Arn: String | None
    Name: String | None


class TransitGatewayRouteTableRoute(TypedDict, total=False):
    DestinationCidr: String | None
    State: String | None
    RouteOrigin: String | None
    PrefixListId: String | None
    AttachmentId: String | None
    ResourceId: String | None
    ResourceType: String | None


AnalysisComponentList = list[AnalysisComponent]


class AnalysisSecurityGroupRule(TypedDict, total=False):
    Cidr: String | None
    Direction: String | None
    SecurityGroupId: String | None
    PortRange: PortRange | None
    PrefixListId: String | None
    Protocol: String | None


class AnalysisRouteTableRoute(TypedDict, total=False):
    DestinationCidr: String | None
    DestinationPrefixListId: String | None
    EgressOnlyInternetGatewayId: String | None
    GatewayId: String | None
    InstanceId: String | None
    NatGatewayId: String | None
    NetworkInterfaceId: String | None
    Origin: String | None
    TransitGatewayId: String | None
    VpcPeeringConnectionId: String | None
    State: String | None
    CarrierGatewayId: String | None
    CoreNetworkArn: ResourceArn | None
    LocalGatewayId: String | None


StringList = list[String]


class AnalysisLoadBalancerTarget(TypedDict, total=False):
    Address: IpAddress | None
    AvailabilityZone: String | None
    AvailabilityZoneId: String | None
    Instance: AnalysisComponent | None
    Port: Port | None


class AnalysisLoadBalancerListener(TypedDict, total=False):
    LoadBalancerPort: Port | None
    InstancePort: Port | None


IpAddressList = list[IpAddress]


class AnalysisAclRule(TypedDict, total=False):
    Cidr: String | None
    Egress: Boolean | None
    PortRange: PortRange | None
    Protocol: String | None
    RuleAction: String | None
    RuleNumber: Integer | None


class Explanation(TypedDict, total=False):
    Acl: AnalysisComponent | None
    AclRule: AnalysisAclRule | None
    Address: IpAddress | None
    Addresses: IpAddressList | None
    AttachedTo: AnalysisComponent | None
    AvailabilityZones: ValueStringList | None
    AvailabilityZoneIds: ValueStringList | None
    Cidrs: ValueStringList | None
    Component: AnalysisComponent | None
    CustomerGateway: AnalysisComponent | None
    Destination: AnalysisComponent | None
    DestinationVpc: AnalysisComponent | None
    Direction: String | None
    ExplanationCode: String | None
    IngressRouteTable: AnalysisComponent | None
    InternetGateway: AnalysisComponent | None
    LoadBalancerArn: ResourceArn | None
    ClassicLoadBalancerListener: AnalysisLoadBalancerListener | None
    LoadBalancerListenerPort: Port | None
    LoadBalancerTarget: AnalysisLoadBalancerTarget | None
    LoadBalancerTargetGroup: AnalysisComponent | None
    LoadBalancerTargetGroups: AnalysisComponentList | None
    LoadBalancerTargetPort: Port | None
    ElasticLoadBalancerListener: AnalysisComponent | None
    MissingComponent: String | None
    NatGateway: AnalysisComponent | None
    NetworkInterface: AnalysisComponent | None
    PacketField: String | None
    VpcPeeringConnection: AnalysisComponent | None
    Port: Port | None
    PortRanges: PortRangeList | None
    PrefixList: AnalysisComponent | None
    Protocols: StringList | None
    RouteTableRoute: AnalysisRouteTableRoute | None
    RouteTable: AnalysisComponent | None
    SecurityGroup: AnalysisComponent | None
    SecurityGroupRule: AnalysisSecurityGroupRule | None
    SecurityGroups: AnalysisComponentList | None
    SourceVpc: AnalysisComponent | None
    State: String | None
    Subnet: AnalysisComponent | None
    SubnetRouteTable: AnalysisComponent | None
    Vpc: AnalysisComponent | None
    VpcEndpoint: AnalysisComponent | None
    VpnConnection: AnalysisComponent | None
    VpnGateway: AnalysisComponent | None
    TransitGateway: AnalysisComponent | None
    TransitGatewayRouteTable: AnalysisComponent | None
    TransitGatewayRouteTableRoute: TransitGatewayRouteTableRoute | None
    TransitGatewayAttachment: AnalysisComponent | None
    ComponentAccount: ComponentAccount | None
    ComponentRegion: ComponentRegion | None
    FirewallStatelessRule: FirewallStatelessRule | None
    FirewallStatefulRule: FirewallStatefulRule | None


ExplanationList = list[Explanation]


class RuleOption(TypedDict, total=False):
    Keyword: String | None
    Settings: StringList | None


RuleOptionList = list[RuleOption]


class RuleGroupRuleOptionsPair(TypedDict, total=False):
    RuleGroupArn: ResourceArn | None
    RuleOptions: RuleOptionList | None


RuleGroupRuleOptionsPairList = list[RuleGroupRuleOptionsPair]


class RuleGroupTypePair(TypedDict, total=False):
    RuleGroupArn: ResourceArn | None
    RuleGroupType: String | None


RuleGroupTypePairList = list[RuleGroupTypePair]


class AdditionalDetail(TypedDict, total=False):
    AdditionalDetailType: String | None
    Component: AnalysisComponent | None
    VpcEndpointService: AnalysisComponent | None
    RuleOptions: RuleOptionList | None
    RuleGroupTypePairs: RuleGroupTypePairList | None
    RuleGroupRuleOptionsPairs: RuleGroupRuleOptionsPairList | None
    ServiceName: String | None
    LoadBalancers: AnalysisComponentList | None


AdditionalDetailList = list[AdditionalDetail]


class AnalysisPacketHeader(TypedDict, total=False):
    DestinationAddresses: IpAddressList | None
    DestinationPortRanges: PortRangeList | None
    Protocol: String | None
    SourceAddresses: IpAddressList | None
    SourcePortRanges: PortRangeList | None


class PathComponent(TypedDict, total=False):
    SequenceNumber: Integer | None
    AclRule: AnalysisAclRule | None
    AttachedTo: AnalysisComponent | None
    Component: AnalysisComponent | None
    DestinationVpc: AnalysisComponent | None
    OutboundHeader: AnalysisPacketHeader | None
    InboundHeader: AnalysisPacketHeader | None
    RouteTableRoute: AnalysisRouteTableRoute | None
    SecurityGroupRule: AnalysisSecurityGroupRule | None
    SourceVpc: AnalysisComponent | None
    Subnet: AnalysisComponent | None
    Vpc: AnalysisComponent | None
    AdditionalDetails: AdditionalDetailList | None
    TransitGateway: AnalysisComponent | None
    TransitGatewayRouteTableRoute: TransitGatewayRouteTableRoute | None
    Explanations: ExplanationList | None
    ElasticLoadBalancerListener: AnalysisComponent | None
    FirewallStatelessRule: FirewallStatelessRule | None
    FirewallStatefulRule: FirewallStatefulRule | None
    ServiceName: String | None


PathComponentList = list[PathComponent]


class AccessScopeAnalysisFinding(TypedDict, total=False):
    NetworkInsightsAccessScopeAnalysisId: NetworkInsightsAccessScopeAnalysisId | None
    NetworkInsightsAccessScopeId: NetworkInsightsAccessScopeId | None
    FindingId: String | None
    FindingComponents: PathComponentList | None


AccessScopeAnalysisFindingList = list[AccessScopeAnalysisFinding]


class ResourceStatement(TypedDict, total=False):
    Resources: ValueStringList | None
    ResourceTypes: ValueStringList | None


class ThroughResourcesStatement(TypedDict, total=False):
    ResourceStatement: ResourceStatement | None


ThroughResourcesStatementList = list[ThroughResourcesStatement]
ProtocolList = list[Protocol]


class PacketHeaderStatement(TypedDict, total=False):
    SourceAddresses: ValueStringList | None
    DestinationAddresses: ValueStringList | None
    SourcePorts: ValueStringList | None
    DestinationPorts: ValueStringList | None
    SourcePrefixLists: ValueStringList | None
    DestinationPrefixLists: ValueStringList | None
    Protocols: ProtocolList | None


class PathStatement(TypedDict, total=False):
    PacketHeaderStatement: PacketHeaderStatement | None
    ResourceStatement: ResourceStatement | None


class AccessScopePath(TypedDict, total=False):
    Source: PathStatement | None
    Destination: PathStatement | None
    ThroughResources: ThroughResourcesStatementList | None


AccessScopePathList = list[AccessScopePath]


class ResourceStatementRequest(TypedDict, total=False):
    Resources: ValueStringList | None
    ResourceTypes: ValueStringList | None


class ThroughResourcesStatementRequest(TypedDict, total=False):
    ResourceStatement: ResourceStatementRequest | None


ThroughResourcesStatementRequestList = list[ThroughResourcesStatementRequest]


class PacketHeaderStatementRequest(TypedDict, total=False):
    SourceAddresses: ValueStringList | None
    DestinationAddresses: ValueStringList | None
    SourcePorts: ValueStringList | None
    DestinationPorts: ValueStringList | None
    SourcePrefixLists: ValueStringList | None
    DestinationPrefixLists: ValueStringList | None
    Protocols: ProtocolList | None


class PathStatementRequest(TypedDict, total=False):
    PacketHeaderStatement: PacketHeaderStatementRequest | None
    ResourceStatement: ResourceStatementRequest | None


class AccessScopePathRequest(TypedDict, total=False):
    Source: PathStatementRequest | None
    Destination: PathStatementRequest | None
    ThroughResources: ThroughResourcesStatementRequestList | None


AccessScopePathListRequest = list[AccessScopePathRequest]


class AccountAttributeValue(TypedDict, total=False):
    AttributeValue: String | None


AccountAttributeValueList = list[AccountAttributeValue]


class AccountAttribute(TypedDict, total=False):
    AttributeName: String | None
    AttributeValues: AccountAttributeValueList | None


AccountAttributeList = list[AccountAttribute]
AccountAttributeNameStringList = list[AccountAttributeName]


class ActiveInstance(TypedDict, total=False):
    InstanceId: String | None
    InstanceType: String | None
    SpotInstanceRequestId: String | None
    InstanceHealth: InstanceHealthStatus | None


ActiveInstanceSet = list[ActiveInstance]


class ActiveVpnTunnelStatus(TypedDict, total=False):
    Phase1EncryptionAlgorithm: String | None
    Phase2EncryptionAlgorithm: String | None
    Phase1IntegrityAlgorithm: String | None
    Phase2IntegrityAlgorithm: String | None
    Phase1DHGroup: Integer | None
    Phase2DHGroup: Integer | None
    IkeVersion: String | None
    ProvisioningStatus: VpnTunnelProvisioningStatus | None
    ProvisioningStatusReason: String | None


class AddIpamOperatingRegion(TypedDict, total=False):
    RegionName: String | None


AddIpamOperatingRegionSet = list[AddIpamOperatingRegion]


class AddIpamOrganizationalUnitExclusion(TypedDict, total=False):
    OrganizationsEntityPath: String | None


AddIpamOrganizationalUnitExclusionSet = list[AddIpamOrganizationalUnitExclusion]


class AddPrefixListEntry(TypedDict, total=False):
    Cidr: String
    Description: String | None


AddPrefixListEntries = list[AddPrefixListEntry]


class AddedPrincipal(TypedDict, total=False):
    PrincipalType: PrincipalType | None
    Principal: String | None
    ServicePermissionId: String | None
    ServiceId: String | None


AddedPrincipalSet = list[AddedPrincipal]


class Address(TypedDict, total=False):
    AllocationId: String | None
    AssociationId: String | None
    Domain: DomainType | None
    NetworkInterfaceId: String | None
    NetworkInterfaceOwnerId: String | None
    PrivateIpAddress: String | None
    Tags: TagList | None
    PublicIpv4Pool: String | None
    NetworkBorderGroup: String | None
    CustomerOwnedIp: String | None
    CustomerOwnedIpv4Pool: String | None
    CarrierIp: String | None
    SubnetId: String | None
    ServiceManaged: ServiceManaged | None
    InstanceId: String | None
    PublicIp: String | None


class PtrUpdateStatus(TypedDict, total=False):
    Value: String | None
    Status: String | None
    Reason: String | None


class AddressAttribute(TypedDict, total=False):
    PublicIp: PublicIpAddress | None
    AllocationId: AllocationId | None
    PtrRecord: String | None
    PtrRecordUpdate: PtrUpdateStatus | None


AddressList = list[Address]
AddressSet = list[AddressAttribute]
AddressTransferList = list[AddressTransfer]


class AdvertiseByoipCidrRequest(ServiceRequest):
    Cidr: String
    Asn: String | None
    DryRun: Boolean | None
    NetworkBorderGroup: String | None


class AsnAssociation(TypedDict, total=False):
    Asn: String | None
    Cidr: String | None
    StatusMessage: String | None
    State: AsnAssociationState | None


AsnAssociationSet = list[AsnAssociation]


class ByoipCidr(TypedDict, total=False):
    Cidr: String | None
    Description: String | None
    AsnAssociations: AsnAssociationSet | None
    StatusMessage: String | None
    State: ByoipCidrState | None
    NetworkBorderGroup: String | None
    AdvertisementType: String | None


class AdvertiseByoipCidrResult(TypedDict, total=False):
    ByoipCidr: ByoipCidr | None


class AllocateAddressRequest(ServiceRequest):
    Domain: DomainType | None
    Address: PublicIpAddress | None
    PublicIpv4Pool: Ipv4PoolEc2Id | None
    NetworkBorderGroup: String | None
    CustomerOwnedIpv4Pool: String | None
    TagSpecifications: TagSpecificationList | None
    IpamPoolId: IpamPoolId | None
    DryRun: Boolean | None


class AllocateAddressResult(TypedDict, total=False):
    AllocationId: String | None
    PublicIpv4Pool: String | None
    NetworkBorderGroup: String | None
    Domain: DomainType | None
    CustomerOwnedIp: String | None
    CustomerOwnedIpv4Pool: String | None
    CarrierIp: String | None
    PublicIp: String | None


AssetIdList = list[AssetId]


class AllocateHostsRequest(ServiceRequest):
    InstanceFamily: String | None
    TagSpecifications: TagSpecificationList | None
    HostRecovery: HostRecovery | None
    OutpostArn: String | None
    HostMaintenance: HostMaintenance | None
    AssetIds: AssetIdList | None
    AvailabilityZoneId: AvailabilityZoneId | None
    AutoPlacement: AutoPlacement | None
    ClientToken: String | None
    InstanceType: String | None
    Quantity: Integer | None
    AvailabilityZone: String | None


ResponseHostIdList = list[String]


class AllocateHostsResult(TypedDict, total=False):
    HostIds: ResponseHostIdList | None


IpamPoolAllocationDisallowedCidrs = list[String]
IpamPoolAllocationAllowedCidrs = list[String]


class AllocateIpamPoolCidrRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPoolId: IpamPoolId
    Cidr: String | None
    NetmaskLength: Integer | None
    ClientToken: String | None
    Description: String | None
    PreviewNextCidr: Boolean | None
    AllowedCidrs: IpamPoolAllocationAllowedCidrs | None
    DisallowedCidrs: IpamPoolAllocationDisallowedCidrs | None


class IpamPoolAllocation(TypedDict, total=False):
    Cidr: String | None
    IpamPoolAllocationId: IpamPoolAllocationId | None
    Description: String | None
    ResourceId: String | None
    ResourceType: IpamPoolAllocationResourceType | None
    ResourceRegion: String | None
    ResourceOwner: String | None


class AllocateIpamPoolCidrResult(TypedDict, total=False):
    IpamPoolAllocation: IpamPoolAllocation | None


AllocationIdList = list[AllocationId]
AllocationIds = list[AllocationId]
AllowedInstanceTypeSet = list[AllowedInstanceType]


class AllowedPrincipal(TypedDict, total=False):
    PrincipalType: PrincipalType | None
    Principal: String | None
    ServicePermissionId: String | None
    Tags: TagList | None
    ServiceId: String | None


AllowedPrincipalSet = list[AllowedPrincipal]


class AlternatePathHint(TypedDict, total=False):
    ComponentId: String | None
    ComponentArn: String | None


AlternatePathHintList = list[AlternatePathHint]
ClientVpnSecurityGroupIdSet = list[SecurityGroupId]


class ApplySecurityGroupsToClientVpnTargetNetworkRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    VpcId: VpcId
    SecurityGroupIds: ClientVpnSecurityGroupIdSet
    DryRun: Boolean | None


class ApplySecurityGroupsToClientVpnTargetNetworkResult(TypedDict, total=False):
    SecurityGroupIds: ClientVpnSecurityGroupIdSet | None


ArchitectureTypeList = list[ArchitectureType]
ArchitectureTypeSet = list[ArchitectureType]
ArnList = list[ResourceArn]
AsPath = list[String]


class AsnAuthorizationContext(TypedDict, total=False):
    Message: String
    Signature: String


Ipv6AddressList = list[String]
IpPrefixList = list[String]


class AssignIpv6AddressesRequest(ServiceRequest):
    Ipv6PrefixCount: Integer | None
    Ipv6Prefixes: IpPrefixList | None
    NetworkInterfaceId: NetworkInterfaceId
    Ipv6Addresses: Ipv6AddressList | None
    Ipv6AddressCount: Integer | None


class AssignIpv6AddressesResult(TypedDict, total=False):
    AssignedIpv6Addresses: Ipv6AddressList | None
    AssignedIpv6Prefixes: IpPrefixList | None
    NetworkInterfaceId: String | None


PrivateIpAddressStringList = list[String]


class AssignPrivateIpAddressesRequest(ServiceRequest):
    Ipv4Prefixes: IpPrefixList | None
    Ipv4PrefixCount: Integer | None
    NetworkInterfaceId: NetworkInterfaceId
    PrivateIpAddresses: PrivateIpAddressStringList | None
    SecondaryPrivateIpAddressCount: Integer | None
    AllowReassignment: Boolean | None


class Ipv4PrefixSpecification(TypedDict, total=False):
    Ipv4Prefix: String | None


Ipv4PrefixesList = list[Ipv4PrefixSpecification]


class AssignedPrivateIpAddress(TypedDict, total=False):
    PrivateIpAddress: String | None


AssignedPrivateIpAddressList = list[AssignedPrivateIpAddress]


class AssignPrivateIpAddressesResult(TypedDict, total=False):
    NetworkInterfaceId: String | None
    AssignedPrivateIpAddresses: AssignedPrivateIpAddressList | None
    AssignedIpv4Prefixes: Ipv4PrefixesList | None


IpList = list[String]


class AssignPrivateNatGatewayAddressRequest(ServiceRequest):
    NatGatewayId: NatGatewayId
    PrivateIpAddresses: IpList | None
    PrivateIpAddressCount: PrivateIpAddressCount | None
    DryRun: Boolean | None


class NatGatewayAddress(TypedDict, total=False):
    AllocationId: String | None
    NetworkInterfaceId: String | None
    PrivateIp: String | None
    PublicIp: String | None
    AssociationId: String | None
    IsPrimary: Boolean | None
    FailureMessage: String | None
    Status: NatGatewayAddressStatus | None
    AvailabilityZone: AvailabilityZoneName | None
    AvailabilityZoneId: AvailabilityZoneId | None


NatGatewayAddressList = list[NatGatewayAddress]


class AssignPrivateNatGatewayAddressResult(TypedDict, total=False):
    NatGatewayId: NatGatewayId | None
    NatGatewayAddresses: NatGatewayAddressList | None


class AssociateAddressRequest(ServiceRequest):
    AllocationId: AllocationId | None
    InstanceId: InstanceId | None
    PublicIp: EipAllocationPublicIp | None
    DryRun: Boolean | None
    NetworkInterfaceId: NetworkInterfaceId | None
    PrivateIpAddress: String | None
    AllowReassociation: Boolean | None


class AssociateAddressResult(TypedDict, total=False):
    AssociationId: String | None


class AssociateCapacityReservationBillingOwnerRequest(ServiceRequest):
    DryRun: Boolean | None
    CapacityReservationId: CapacityReservationId
    UnusedReservationBillingOwnerId: AccountID


class AssociateCapacityReservationBillingOwnerResult(TypedDict, total=False):
    Return: Boolean | None


class AssociateClientVpnTargetNetworkRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    SubnetId: SubnetId
    ClientToken: String | None
    DryRun: Boolean | None


class AssociationStatus(TypedDict, total=False):
    Code: AssociationStatusCode | None
    Message: String | None


class AssociateClientVpnTargetNetworkResult(TypedDict, total=False):
    AssociationId: String | None
    Status: AssociationStatus | None


class AssociateDhcpOptionsRequest(ServiceRequest):
    DhcpOptionsId: DefaultingDhcpOptionsId
    VpcId: VpcId
    DryRun: Boolean | None


class AssociateEnclaveCertificateIamRoleRequest(ServiceRequest):
    CertificateArn: CertificateId
    RoleArn: RoleId
    DryRun: Boolean | None


class AssociateEnclaveCertificateIamRoleResult(TypedDict, total=False):
    CertificateS3BucketName: String | None
    CertificateS3ObjectKey: String | None
    EncryptionKmsKeyId: String | None


class IamInstanceProfileSpecification(TypedDict, total=False):
    Arn: String | None
    Name: String | None


class AssociateIamInstanceProfileRequest(ServiceRequest):
    IamInstanceProfile: IamInstanceProfileSpecification
    InstanceId: InstanceId


class IamInstanceProfile(TypedDict, total=False):
    Arn: String | None
    Id: String | None


class IamInstanceProfileAssociation(TypedDict, total=False):
    AssociationId: String | None
    InstanceId: String | None
    IamInstanceProfile: IamInstanceProfile | None
    State: IamInstanceProfileAssociationState | None
    Timestamp: DateTime | None


class AssociateIamInstanceProfileResult(TypedDict, total=False):
    IamInstanceProfileAssociation: IamInstanceProfileAssociation | None


DedicatedHostIdList = list[DedicatedHostId]
InstanceIdList = list[InstanceId]


class InstanceEventWindowAssociationRequest(TypedDict, total=False):
    InstanceIds: InstanceIdList | None
    InstanceTags: TagList | None
    DedicatedHostIds: DedicatedHostIdList | None


class AssociateInstanceEventWindowRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceEventWindowId: InstanceEventWindowId
    AssociationTarget: InstanceEventWindowAssociationRequest


class InstanceEventWindowAssociationTarget(TypedDict, total=False):
    InstanceIds: InstanceIdList | None
    Tags: TagList | None
    DedicatedHostIds: DedicatedHostIdList | None


class InstanceEventWindowTimeRange(TypedDict, total=False):
    StartWeekDay: WeekDay | None
    StartHour: Hour | None
    EndWeekDay: WeekDay | None
    EndHour: Hour | None


InstanceEventWindowTimeRangeList = list[InstanceEventWindowTimeRange]


class InstanceEventWindow(TypedDict, total=False):
    InstanceEventWindowId: InstanceEventWindowId | None
    TimeRanges: InstanceEventWindowTimeRangeList | None
    Name: String | None
    CronExpression: InstanceEventWindowCronExpression | None
    AssociationTarget: InstanceEventWindowAssociationTarget | None
    State: InstanceEventWindowState | None
    Tags: TagList | None


class AssociateInstanceEventWindowResult(TypedDict, total=False):
    InstanceEventWindow: InstanceEventWindow | None


class AssociateIpamByoasnRequest(ServiceRequest):
    DryRun: Boolean | None
    Asn: String
    Cidr: String


class AssociateIpamByoasnResult(TypedDict, total=False):
    AsnAssociation: AsnAssociation | None


class AssociateIpamResourceDiscoveryRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamId: IpamId
    IpamResourceDiscoveryId: IpamResourceDiscoveryId
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None


class IpamResourceDiscoveryAssociation(TypedDict, total=False):
    OwnerId: String | None
    IpamResourceDiscoveryAssociationId: IpamResourceDiscoveryAssociationId | None
    IpamResourceDiscoveryAssociationArn: String | None
    IpamResourceDiscoveryId: IpamResourceDiscoveryId | None
    IpamId: IpamId | None
    IpamArn: ResourceArn | None
    IpamRegion: String | None
    IsDefault: Boolean | None
    ResourceDiscoveryStatus: IpamAssociatedResourceDiscoveryStatus | None
    State: IpamResourceDiscoveryAssociationState | None
    Tags: TagList | None


class AssociateIpamResourceDiscoveryResult(TypedDict, total=False):
    IpamResourceDiscoveryAssociation: IpamResourceDiscoveryAssociation | None


class AssociateNatGatewayAddressRequest(ServiceRequest):
    NatGatewayId: NatGatewayId
    AllocationIds: AllocationIdList
    PrivateIpAddresses: IpList | None
    DryRun: Boolean | None
    AvailabilityZone: AvailabilityZoneName | None
    AvailabilityZoneId: AvailabilityZoneId | None


class AssociateNatGatewayAddressResult(TypedDict, total=False):
    NatGatewayId: NatGatewayId | None
    NatGatewayAddresses: NatGatewayAddressList | None


class AssociateRouteServerRequest(ServiceRequest):
    RouteServerId: RouteServerId
    VpcId: VpcId
    DryRun: Boolean | None


class RouteServerAssociation(TypedDict, total=False):
    RouteServerId: RouteServerId | None
    VpcId: VpcId | None
    State: RouteServerAssociationState | None


class AssociateRouteServerResult(TypedDict, total=False):
    RouteServerAssociation: RouteServerAssociation | None


class AssociateRouteTableRequest(ServiceRequest):
    GatewayId: RouteGatewayId | None
    PublicIpv4Pool: Ipv4PoolEc2Id | None
    DryRun: Boolean | None
    SubnetId: SubnetId | None
    RouteTableId: RouteTableId


class RouteTableAssociationState(TypedDict, total=False):
    State: RouteTableAssociationStateCode | None
    StatusMessage: String | None


class AssociateRouteTableResult(TypedDict, total=False):
    AssociationId: String | None
    AssociationState: RouteTableAssociationState | None


class AssociateSecurityGroupVpcRequest(ServiceRequest):
    GroupId: SecurityGroupId
    VpcId: VpcId
    DryRun: Boolean | None


class AssociateSecurityGroupVpcResult(TypedDict, total=False):
    State: SecurityGroupVpcAssociationState | None


class AssociateSubnetCidrBlockRequest(ServiceRequest):
    Ipv6IpamPoolId: IpamPoolId | None
    Ipv6NetmaskLength: NetmaskLength | None
    SubnetId: SubnetId
    Ipv6CidrBlock: String | None


class SubnetCidrBlockState(TypedDict, total=False):
    State: SubnetCidrBlockStateCode | None
    StatusMessage: String | None


class SubnetIpv6CidrBlockAssociation(TypedDict, total=False):
    AssociationId: SubnetCidrAssociationId | None
    Ipv6CidrBlock: String | None
    Ipv6CidrBlockState: SubnetCidrBlockState | None
    Ipv6AddressAttribute: Ipv6AddressAttribute | None
    IpSource: IpSource | None


class AssociateSubnetCidrBlockResult(TypedDict, total=False):
    Ipv6CidrBlockAssociation: SubnetIpv6CidrBlockAssociation | None
    SubnetId: String | None


TransitGatewaySubnetIdList = list[SubnetId]


class AssociateTransitGatewayMulticastDomainRequest(ServiceRequest):
    TransitGatewayMulticastDomainId: TransitGatewayMulticastDomainId
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    SubnetIds: TransitGatewaySubnetIdList
    DryRun: Boolean | None


class AssociateTransitGatewayMulticastDomainResult(TypedDict, total=False):
    Associations: TransitGatewayMulticastDomainAssociations | None


class AssociateTransitGatewayPolicyTableRequest(ServiceRequest):
    TransitGatewayPolicyTableId: TransitGatewayPolicyTableId
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    DryRun: Boolean | None


class TransitGatewayPolicyTableAssociation(TypedDict, total=False):
    TransitGatewayPolicyTableId: TransitGatewayPolicyTableId | None
    TransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    ResourceId: String | None
    ResourceType: TransitGatewayAttachmentResourceType | None
    State: TransitGatewayAssociationState | None


class AssociateTransitGatewayPolicyTableResult(TypedDict, total=False):
    Association: TransitGatewayPolicyTableAssociation | None


class AssociateTransitGatewayRouteTableRequest(ServiceRequest):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    DryRun: Boolean | None


class TransitGatewayAssociation(TypedDict, total=False):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId | None
    TransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    ResourceId: String | None
    ResourceType: TransitGatewayAttachmentResourceType | None
    State: TransitGatewayAssociationState | None


class AssociateTransitGatewayRouteTableResult(TypedDict, total=False):
    Association: TransitGatewayAssociation | None


class AssociateTrunkInterfaceRequest(ServiceRequest):
    BranchInterfaceId: NetworkInterfaceId
    TrunkInterfaceId: NetworkInterfaceId
    VlanId: Integer | None
    GreKey: Integer | None
    ClientToken: String | None
    DryRun: Boolean | None


class TrunkInterfaceAssociation(TypedDict, total=False):
    AssociationId: TrunkInterfaceAssociationId | None
    BranchInterfaceId: String | None
    TrunkInterfaceId: String | None
    InterfaceProtocol: InterfaceProtocolType | None
    VlanId: Integer | None
    GreKey: Integer | None
    Tags: TagList | None


class AssociateTrunkInterfaceResult(TypedDict, total=False):
    InterfaceAssociation: TrunkInterfaceAssociation | None
    ClientToken: String | None


class AssociateVpcCidrBlockRequest(ServiceRequest):
    CidrBlock: String | None
    Ipv6CidrBlockNetworkBorderGroup: String | None
    Ipv6Pool: Ipv6PoolEc2Id | None
    Ipv6CidrBlock: String | None
    Ipv4IpamPoolId: IpamPoolId | None
    Ipv4NetmaskLength: NetmaskLength | None
    Ipv6IpamPoolId: IpamPoolId | None
    Ipv6NetmaskLength: NetmaskLength | None
    VpcId: VpcId
    AmazonProvidedIpv6CidrBlock: Boolean | None


class VpcCidrBlockState(TypedDict, total=False):
    State: VpcCidrBlockStateCode | None
    StatusMessage: String | None


class VpcCidrBlockAssociation(TypedDict, total=False):
    AssociationId: String | None
    CidrBlock: String | None
    CidrBlockState: VpcCidrBlockState | None


class VpcIpv6CidrBlockAssociation(TypedDict, total=False):
    AssociationId: String | None
    Ipv6CidrBlock: String | None
    Ipv6CidrBlockState: VpcCidrBlockState | None
    NetworkBorderGroup: String | None
    Ipv6Pool: String | None
    Ipv6AddressAttribute: Ipv6AddressAttribute | None
    IpSource: IpSource | None


class AssociateVpcCidrBlockResult(TypedDict, total=False):
    Ipv6CidrBlockAssociation: VpcIpv6CidrBlockAssociation | None
    CidrBlockAssociation: VpcCidrBlockAssociation | None
    VpcId: String | None


class AssociatedRole(TypedDict, total=False):
    AssociatedRoleArn: ResourceArn | None
    CertificateS3BucketName: String | None
    CertificateS3ObjectKey: String | None
    EncryptionKmsKeyId: String | None


AssociatedRolesList = list[AssociatedRole]
AssociatedSubnetList = list[SubnetId]


class AssociatedTargetNetwork(TypedDict, total=False):
    NetworkId: String | None
    NetworkType: AssociatedNetworkType | None


AssociatedTargetNetworkSet = list[AssociatedTargetNetwork]
AssociationIdList = list[IamInstanceProfileAssociationId]


class AthenaIntegration(TypedDict, total=False):
    IntegrationResultS3DestinationArn: String
    PartitionLoadFrequency: PartitionLoadFrequency
    PartitionStartDate: MillisecondDateTime | None
    PartitionEndDate: MillisecondDateTime | None


AthenaIntegrationsSet = list[AthenaIntegration]
GroupIdStringList = list[SecurityGroupId]


class AttachClassicLinkVpcRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceId: InstanceId
    VpcId: VpcId
    Groups: GroupIdStringList


class AttachClassicLinkVpcResult(TypedDict, total=False):
    Return: Boolean | None


class AttachInternetGatewayRequest(ServiceRequest):
    DryRun: Boolean | None
    InternetGatewayId: InternetGatewayId
    VpcId: VpcId


class EnaSrdUdpSpecification(TypedDict, total=False):
    EnaSrdUdpEnabled: Boolean | None


class EnaSrdSpecification(TypedDict, total=False):
    EnaSrdEnabled: Boolean | None
    EnaSrdUdpSpecification: EnaSrdUdpSpecification | None


class AttachNetworkInterfaceRequest(ServiceRequest):
    NetworkCardIndex: Integer | None
    EnaSrdSpecification: EnaSrdSpecification | None
    EnaQueueCount: Integer | None
    DryRun: Boolean | None
    NetworkInterfaceId: NetworkInterfaceId
    InstanceId: InstanceId
    DeviceIndex: Integer


class AttachNetworkInterfaceResult(TypedDict, total=False):
    AttachmentId: String | None
    NetworkCardIndex: Integer | None


class AttachVerifiedAccessTrustProviderRequest(ServiceRequest):
    VerifiedAccessInstanceId: VerifiedAccessInstanceId
    VerifiedAccessTrustProviderId: VerifiedAccessTrustProviderId
    ClientToken: String | None
    DryRun: Boolean | None


class VerifiedAccessInstanceCustomSubDomain(TypedDict, total=False):
    SubDomain: String | None
    Nameservers: ValueStringList | None


class VerifiedAccessTrustProviderCondensed(TypedDict, total=False):
    VerifiedAccessTrustProviderId: String | None
    Description: String | None
    TrustProviderType: TrustProviderType | None
    UserTrustProviderType: UserTrustProviderType | None
    DeviceTrustProviderType: DeviceTrustProviderType | None


VerifiedAccessTrustProviderCondensedList = list[VerifiedAccessTrustProviderCondensed]


class VerifiedAccessInstance(TypedDict, total=False):
    VerifiedAccessInstanceId: String | None
    Description: String | None
    VerifiedAccessTrustProviders: VerifiedAccessTrustProviderCondensedList | None
    CreationTime: String | None
    LastUpdatedTime: String | None
    Tags: TagList | None
    FipsEnabled: Boolean | None
    CidrEndpointsCustomSubDomain: VerifiedAccessInstanceCustomSubDomain | None


class NativeApplicationOidcOptions(TypedDict, total=False):
    PublicSigningKeyEndpoint: String | None
    Issuer: String | None
    AuthorizationEndpoint: String | None
    TokenEndpoint: String | None
    UserInfoEndpoint: String | None
    ClientId: String | None
    Scope: String | None


class VerifiedAccessSseSpecificationResponse(TypedDict, total=False):
    CustomerManagedKeyEnabled: Boolean | None
    KmsKeyArn: KmsKeyArn | None


class DeviceOptions(TypedDict, total=False):
    TenantId: String | None
    PublicSigningKeyUrl: String | None


class OidcOptions(TypedDict, total=False):
    Issuer: String | None
    AuthorizationEndpoint: String | None
    TokenEndpoint: String | None
    UserInfoEndpoint: String | None
    ClientId: String | None
    ClientSecret: ClientSecretType | None
    Scope: String | None


class VerifiedAccessTrustProvider(TypedDict, total=False):
    VerifiedAccessTrustProviderId: String | None
    Description: String | None
    TrustProviderType: TrustProviderType | None
    UserTrustProviderType: UserTrustProviderType | None
    DeviceTrustProviderType: DeviceTrustProviderType | None
    OidcOptions: OidcOptions | None
    DeviceOptions: DeviceOptions | None
    PolicyReferenceName: String | None
    CreationTime: String | None
    LastUpdatedTime: String | None
    Tags: TagList | None
    SseSpecification: VerifiedAccessSseSpecificationResponse | None
    NativeApplicationOidcOptions: NativeApplicationOidcOptions | None


class AttachVerifiedAccessTrustProviderResult(TypedDict, total=False):
    VerifiedAccessTrustProvider: VerifiedAccessTrustProvider | None
    VerifiedAccessInstance: VerifiedAccessInstance | None


class AttachVolumeRequest(ServiceRequest):
    Device: String
    InstanceId: InstanceId
    VolumeId: VolumeId
    EbsCardIndex: BoxedInteger | None
    DryRun: Boolean | None


class AttachVpnGatewayRequest(ServiceRequest):
    VpcId: VpcId
    VpnGatewayId: VpnGatewayId
    DryRun: Boolean | None


class VpcAttachment(TypedDict, total=False):
    VpcId: String | None
    State: AttachmentStatus | None


class AttachVpnGatewayResult(TypedDict, total=False):
    VpcAttachment: VpcAttachment | None


class AttachmentEnaSrdUdpSpecification(TypedDict, total=False):
    EnaSrdUdpEnabled: Boolean | None


class AttachmentEnaSrdSpecification(TypedDict, total=False):
    EnaSrdEnabled: Boolean | None
    EnaSrdUdpSpecification: AttachmentEnaSrdUdpSpecification | None


class AttributeBooleanValue(TypedDict, total=False):
    Value: Boolean | None


class RegionalSummary(TypedDict, total=False):
    RegionName: String | None
    NumberOfMatchedAccounts: Integer | None
    NumberOfUnmatchedAccounts: Integer | None


RegionalSummaryList = list[RegionalSummary]


class AttributeSummary(TypedDict, total=False):
    AttributeName: String | None
    MostFrequentValue: String | None
    NumberOfMatchedAccounts: Integer | None
    NumberOfUnmatchedAccounts: Integer | None
    RegionalSummaries: RegionalSummaryList | None


AttributeSummaryList = list[AttributeSummary]


class AttributeValue(TypedDict, total=False):
    Value: String | None


class ClientVpnAuthorizationRuleStatus(TypedDict, total=False):
    Code: ClientVpnAuthorizationRuleStatusCode | None
    Message: String | None


class AuthorizationRule(TypedDict, total=False):
    ClientVpnEndpointId: String | None
    Description: String | None
    GroupId: String | None
    AccessAll: Boolean | None
    DestinationCidr: String | None
    Status: ClientVpnAuthorizationRuleStatus | None


AuthorizationRuleSet = list[AuthorizationRule]


class AuthorizeClientVpnIngressRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    TargetNetworkCidr: String
    AccessGroupId: String | None
    AuthorizeAllGroups: Boolean | None
    Description: String | None
    ClientToken: String | None
    DryRun: Boolean | None


class AuthorizeClientVpnIngressResult(TypedDict, total=False):
    Status: ClientVpnAuthorizationRuleStatus | None


class PrefixListId(TypedDict, total=False):
    Description: String | None
    PrefixListId: String | None


PrefixListIdList = list[PrefixListId]


class Ipv6Range(TypedDict, total=False):
    Description: String | None
    CidrIpv6: String | None


Ipv6RangeList = list[Ipv6Range]


class IpRange(TypedDict, total=False):
    Description: String | None
    CidrIp: String | None


IpRangeList = list[IpRange]


class UserIdGroupPair(TypedDict, total=False):
    Description: String | None
    UserId: String | None
    GroupName: String | None
    GroupId: String | None
    VpcId: String | None
    VpcPeeringConnectionId: String | None
    PeeringStatus: String | None


UserIdGroupPairList = list[UserIdGroupPair]


class IpPermission(TypedDict, total=False):
    IpProtocol: String | None
    FromPort: Integer | None
    ToPort: Integer | None
    UserIdGroupPairs: UserIdGroupPairList | None
    IpRanges: IpRangeList | None
    Ipv6Ranges: Ipv6RangeList | None
    PrefixListIds: PrefixListIdList | None


IpPermissionList = list[IpPermission]


class AuthorizeSecurityGroupEgressRequest(ServiceRequest):
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None
    GroupId: SecurityGroupId
    SourceSecurityGroupName: String | None
    SourceSecurityGroupOwnerId: String | None
    IpProtocol: String | None
    FromPort: Integer | None
    ToPort: Integer | None
    CidrIp: String | None
    IpPermissions: IpPermissionList | None


class ReferencedSecurityGroup(TypedDict, total=False):
    GroupId: String | None
    PeeringStatus: String | None
    UserId: String | None
    VpcId: String | None
    VpcPeeringConnectionId: String | None


class SecurityGroupRule(TypedDict, total=False):
    SecurityGroupRuleId: SecurityGroupRuleId | None
    GroupId: SecurityGroupId | None
    GroupOwnerId: String | None
    IsEgress: Boolean | None
    IpProtocol: String | None
    FromPort: Integer | None
    ToPort: Integer | None
    CidrIpv4: String | None
    CidrIpv6: String | None
    PrefixListId: PrefixListResourceId | None
    ReferencedGroupInfo: ReferencedSecurityGroup | None
    Description: String | None
    Tags: TagList | None
    SecurityGroupRuleArn: String | None


SecurityGroupRuleList = list[SecurityGroupRule]


class AuthorizeSecurityGroupEgressResult(TypedDict, total=False):
    Return: Boolean | None
    SecurityGroupRules: SecurityGroupRuleList | None


class AuthorizeSecurityGroupIngressRequest(ServiceRequest):
    CidrIp: String | None
    FromPort: Integer | None
    GroupId: SecurityGroupId | None
    GroupName: SecurityGroupName | None
    IpPermissions: IpPermissionList | None
    IpProtocol: String | None
    SourceSecurityGroupName: String | None
    SourceSecurityGroupOwnerId: String | None
    ToPort: Integer | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class AuthorizeSecurityGroupIngressResult(TypedDict, total=False):
    Return: Boolean | None
    SecurityGroupRules: SecurityGroupRuleList | None


class AvailabilityZoneMessage(TypedDict, total=False):
    Message: String | None


AvailabilityZoneMessageList = list[AvailabilityZoneMessage]


class AvailabilityZone(TypedDict, total=False):
    OptInStatus: AvailabilityZoneOptInStatus | None
    Messages: AvailabilityZoneMessageList | None
    RegionName: String | None
    ZoneName: String | None
    ZoneId: String | None
    GroupName: String | None
    NetworkBorderGroup: String | None
    ZoneType: String | None
    ParentZoneName: String | None
    ParentZoneId: String | None
    GroupLongName: String | None
    State: AvailabilityZoneState | None


class AvailabilityZoneAddress(TypedDict, total=False):
    AvailabilityZone: AvailabilityZoneName | None
    AvailabilityZoneId: AvailabilityZoneId | None
    AllocationIds: AllocationIdList | None


AvailabilityZoneAddresses = list[AvailabilityZoneAddress]
AvailabilityZoneIdStringList = list[String]
AvailabilityZoneList = list[AvailabilityZone]
AvailabilityZoneStringList = list[String]


class InstanceCapacity(TypedDict, total=False):
    AvailableCapacity: Integer | None
    InstanceType: String | None
    TotalCapacity: Integer | None


AvailableInstanceCapacityList = list[InstanceCapacity]


class AvailableCapacity(TypedDict, total=False):
    AvailableInstanceCapacity: AvailableInstanceCapacityList | None
    AvailableVCpus: Integer | None


BandwidthWeightingTypeList = list[BandwidthWeightingType]


class BaselineEbsBandwidthMbps(TypedDict, total=False):
    Min: Integer | None
    Max: Integer | None


class BaselineEbsBandwidthMbpsRequest(TypedDict, total=False):
    Min: Integer | None
    Max: Integer | None


class PerformanceFactorReference(TypedDict, total=False):
    InstanceFamily: String | None


PerformanceFactorReferenceSet = list[PerformanceFactorReference]


class CpuPerformanceFactor(TypedDict, total=False):
    References: PerformanceFactorReferenceSet | None


class BaselinePerformanceFactors(TypedDict, total=False):
    Cpu: CpuPerformanceFactor | None


class PerformanceFactorReferenceRequest(TypedDict, total=False):
    InstanceFamily: String | None


PerformanceFactorReferenceSetRequest = list[PerformanceFactorReferenceRequest]


class CpuPerformanceFactorRequest(TypedDict, total=False):
    References: PerformanceFactorReferenceSetRequest | None


class BaselinePerformanceFactorsRequest(TypedDict, total=False):
    Cpu: CpuPerformanceFactorRequest | None


BillingProductList = list[String]
Blob = bytes


class BlobAttributeValue(TypedDict, total=False):
    Value: Blob | None


class EbsBlockDevice(TypedDict, total=False):
    DeleteOnTermination: Boolean | None
    Iops: Integer | None
    SnapshotId: SnapshotId | None
    VolumeSize: Integer | None
    VolumeType: VolumeType | None
    KmsKeyId: String | None
    Throughput: Integer | None
    OutpostArn: String | None
    AvailabilityZone: String | None
    Encrypted: Boolean | None
    VolumeInitializationRate: Integer | None
    AvailabilityZoneId: String | None
    EbsCardIndex: Integer | None


class BlockDeviceMapping(TypedDict, total=False):
    Ebs: EbsBlockDevice | None
    NoDevice: String | None
    DeviceName: String | None
    VirtualName: String | None


BlockDeviceMappingList = list[BlockDeviceMapping]
BlockDeviceMappingRequestList = list[BlockDeviceMapping]


class EbsBlockDeviceResponse(TypedDict, total=False):
    Encrypted: Boolean | None
    DeleteOnTermination: Boolean | None
    Iops: Integer | None
    Throughput: Integer | None
    KmsKeyId: KmsKeyId | None
    SnapshotId: SnapshotId | None
    VolumeSize: Integer | None
    VolumeType: VolumeType | None


class BlockDeviceMappingResponse(TypedDict, total=False):
    DeviceName: String | None
    VirtualName: String | None
    Ebs: EbsBlockDeviceResponse | None
    NoDevice: String | None


BlockDeviceMappingResponseList = list[BlockDeviceMappingResponse]


class BlockPublicAccessStates(TypedDict, total=False):
    InternetGatewayBlockMode: BlockPublicAccessMode | None


BootModeTypeList = list[BootModeType]
BoxedLong = int
BundleIdStringList = list[BundleId]


class S3Storage(TypedDict, total=False):
    AWSAccessKeyId: String | None
    Bucket: String | None
    Prefix: String | None
    UploadPolicy: Blob | None
    UploadPolicySignature: S3StorageUploadPolicySignature | None


class Storage(TypedDict, total=False):
    S3: S3Storage | None


class BundleInstanceRequest(ServiceRequest):
    InstanceId: InstanceId
    Storage: Storage
    DryRun: Boolean | None


class BundleTaskError(TypedDict, total=False):
    Code: String | None
    Message: String | None


class BundleTask(TypedDict, total=False):
    InstanceId: String | None
    BundleId: String | None
    State: BundleTaskState | None
    StartTime: DateTime | None
    UpdateTime: DateTime | None
    Storage: Storage | None
    Progress: String | None
    BundleTaskError: BundleTaskError | None


class BundleInstanceResult(TypedDict, total=False):
    BundleTask: BundleTask | None


BundleTaskList = list[BundleTask]


class Byoasn(TypedDict, total=False):
    Asn: String | None
    IpamId: IpamId | None
    StatusMessage: String | None
    State: AsnState | None


ByoasnSet = list[Byoasn]
ByoipCidrSet = list[ByoipCidr]


class CancelBundleTaskRequest(ServiceRequest):
    BundleId: BundleId
    DryRun: Boolean | None


class CancelBundleTaskResult(TypedDict, total=False):
    BundleTask: BundleTask | None


class CancelCapacityReservationFleetError(TypedDict, total=False):
    Code: CancelCapacityReservationFleetErrorCode | None
    Message: CancelCapacityReservationFleetErrorMessage | None


CapacityReservationFleetIdSet = list[CapacityReservationFleetId]


class CancelCapacityReservationFleetsRequest(ServiceRequest):
    DryRun: Boolean | None
    CapacityReservationFleetIds: CapacityReservationFleetIdSet


class FailedCapacityReservationFleetCancellationResult(TypedDict, total=False):
    CapacityReservationFleetId: CapacityReservationFleetId | None
    CancelCapacityReservationFleetError: CancelCapacityReservationFleetError | None


FailedCapacityReservationFleetCancellationResultSet = list[
    FailedCapacityReservationFleetCancellationResult
]


class CapacityReservationFleetCancellationState(TypedDict, total=False):
    CurrentFleetState: CapacityReservationFleetState | None
    PreviousFleetState: CapacityReservationFleetState | None
    CapacityReservationFleetId: CapacityReservationFleetId | None


CapacityReservationFleetCancellationStateSet = list[CapacityReservationFleetCancellationState]


class CancelCapacityReservationFleetsResult(TypedDict, total=False):
    SuccessfulFleetCancellations: CapacityReservationFleetCancellationStateSet | None
    FailedFleetCancellations: FailedCapacityReservationFleetCancellationResultSet | None


class CancelCapacityReservationRequest(ServiceRequest):
    CapacityReservationId: CapacityReservationId
    DryRun: Boolean | None


class CancelCapacityReservationResult(TypedDict, total=False):
    Return: Boolean | None


class CancelConversionRequest(ServiceRequest):
    DryRun: Boolean | None
    ConversionTaskId: ConversionTaskId
    ReasonMessage: String | None


class CancelDeclarativePoliciesReportRequest(ServiceRequest):
    DryRun: Boolean | None
    ReportId: DeclarativePoliciesReportId


class CancelDeclarativePoliciesReportResult(TypedDict, total=False):
    Return: Boolean | None


class CancelExportTaskRequest(ServiceRequest):
    ExportTaskId: ExportVmTaskId


class CancelImageLaunchPermissionRequest(ServiceRequest):
    ImageId: ImageId
    DryRun: Boolean | None


class CancelImageLaunchPermissionResult(TypedDict, total=False):
    Return: Boolean | None


class CancelImportTaskRequest(ServiceRequest):
    CancelReason: String | None
    DryRun: Boolean | None
    ImportTaskId: ImportTaskId | None


class CancelImportTaskResult(TypedDict, total=False):
    ImportTaskId: String | None
    PreviousState: String | None
    State: String | None


class CancelReservedInstancesListingRequest(ServiceRequest):
    ReservedInstancesListingId: ReservedInstancesListingId


Long = int


class PriceSchedule(TypedDict, total=False):
    Active: Boolean | None
    CurrencyCode: CurrencyCodeValues | None
    Price: Double | None
    Term: Long | None


PriceScheduleList = list[PriceSchedule]


class InstanceCount(TypedDict, total=False):
    InstanceCount: Integer | None
    State: ListingState | None


InstanceCountList = list[InstanceCount]


class ReservedInstancesListing(TypedDict, total=False):
    ClientToken: String | None
    CreateDate: DateTime | None
    InstanceCounts: InstanceCountList | None
    PriceSchedules: PriceScheduleList | None
    ReservedInstancesId: String | None
    ReservedInstancesListingId: String | None
    Status: ListingStatus | None
    StatusMessage: String | None
    Tags: TagList | None
    UpdateDate: DateTime | None


ReservedInstancesListingList = list[ReservedInstancesListing]


class CancelReservedInstancesListingResult(TypedDict, total=False):
    ReservedInstancesListings: ReservedInstancesListingList | None


class CancelSpotFleetRequestsError(TypedDict, total=False):
    Code: CancelBatchErrorCode | None
    Message: String | None


class CancelSpotFleetRequestsErrorItem(TypedDict, total=False):
    Error: CancelSpotFleetRequestsError | None
    SpotFleetRequestId: String | None


CancelSpotFleetRequestsErrorSet = list[CancelSpotFleetRequestsErrorItem]
SpotFleetRequestIdList = list[SpotFleetRequestId]


class CancelSpotFleetRequestsRequest(ServiceRequest):
    DryRun: Boolean | None
    SpotFleetRequestIds: SpotFleetRequestIdList
    TerminateInstances: Boolean


class CancelSpotFleetRequestsSuccessItem(TypedDict, total=False):
    CurrentSpotFleetRequestState: BatchState | None
    PreviousSpotFleetRequestState: BatchState | None
    SpotFleetRequestId: String | None


CancelSpotFleetRequestsSuccessSet = list[CancelSpotFleetRequestsSuccessItem]


class CancelSpotFleetRequestsResponse(TypedDict, total=False):
    SuccessfulFleetRequests: CancelSpotFleetRequestsSuccessSet | None
    UnsuccessfulFleetRequests: CancelSpotFleetRequestsErrorSet | None


SpotInstanceRequestIdList = list[SpotInstanceRequestId]


class CancelSpotInstanceRequestsRequest(ServiceRequest):
    DryRun: Boolean | None
    SpotInstanceRequestIds: SpotInstanceRequestIdList


class CancelledSpotInstanceRequest(TypedDict, total=False):
    SpotInstanceRequestId: String | None
    State: CancelSpotInstanceRequestState | None


CancelledSpotInstanceRequestList = list[CancelledSpotInstanceRequest]


class CancelSpotInstanceRequestsResult(TypedDict, total=False):
    CancelledSpotInstanceRequests: CancelledSpotInstanceRequestList | None


class CapacityAllocation(TypedDict, total=False):
    AllocationType: AllocationType | None
    Count: Integer | None


CapacityAllocations = list[CapacityAllocation]
CapacityReservationIdSet = list[CapacityReservationId]


class CapacityBlock(TypedDict, total=False):
    CapacityBlockId: CapacityBlockId | None
    UltraserverType: String | None
    AvailabilityZone: String | None
    AvailabilityZoneId: String | None
    CapacityReservationIds: CapacityReservationIdSet | None
    StartDate: MillisecondDateTime | None
    EndDate: MillisecondDateTime | None
    CreateDate: MillisecondDateTime | None
    State: CapacityBlockResourceState | None
    Tags: TagList | None


class CapacityBlockExtension(TypedDict, total=False):
    CapacityReservationId: CapacityReservationId | None
    InstanceType: String | None
    InstanceCount: Integer | None
    AvailabilityZone: AvailabilityZoneName | None
    AvailabilityZoneId: AvailabilityZoneId | None
    CapacityBlockExtensionOfferingId: OfferingId | None
    CapacityBlockExtensionDurationHours: Integer | None
    CapacityBlockExtensionStatus: CapacityBlockExtensionStatus | None
    CapacityBlockExtensionPurchaseDate: MillisecondDateTime | None
    CapacityBlockExtensionStartDate: MillisecondDateTime | None
    CapacityBlockExtensionEndDate: MillisecondDateTime | None
    UpfrontFee: String | None
    CurrencyCode: String | None


class CapacityBlockExtensionOffering(TypedDict, total=False):
    CapacityBlockExtensionOfferingId: OfferingId | None
    InstanceType: String | None
    InstanceCount: Integer | None
    AvailabilityZone: AvailabilityZoneName | None
    AvailabilityZoneId: AvailabilityZoneId | None
    StartDate: MillisecondDateTime | None
    CapacityBlockExtensionStartDate: MillisecondDateTime | None
    CapacityBlockExtensionEndDate: MillisecondDateTime | None
    CapacityBlockExtensionDurationHours: Integer | None
    UpfrontFee: String | None
    CurrencyCode: String | None
    Tenancy: CapacityReservationTenancy | None


CapacityBlockExtensionOfferingSet = list[CapacityBlockExtensionOffering]
CapacityBlockExtensionSet = list[CapacityBlockExtension]
CapacityBlockIds = list[CapacityBlockId]


class CapacityBlockOffering(TypedDict, total=False):
    CapacityBlockOfferingId: OfferingId | None
    InstanceType: String | None
    AvailabilityZone: String | None
    InstanceCount: Integer | None
    StartDate: MillisecondDateTime | None
    EndDate: MillisecondDateTime | None
    CapacityBlockDurationHours: Integer | None
    UpfrontFee: String | None
    CurrencyCode: String | None
    Tenancy: CapacityReservationTenancy | None
    UltraserverType: String | None
    UltraserverCount: BoxedInteger | None
    CapacityBlockDurationMinutes: Integer | None


CapacityBlockOfferingSet = list[CapacityBlockOffering]
CapacityBlockSet = list[CapacityBlock]


class CapacityReservationStatus(TypedDict, total=False):
    CapacityReservationId: CapacityReservationId | None
    TotalCapacity: Integer | None
    TotalAvailableCapacity: Integer | None
    TotalUnavailableCapacity: Integer | None


CapacityReservationStatusSet = list[CapacityReservationStatus]


class CapacityBlockStatus(TypedDict, total=False):
    CapacityBlockId: CapacityBlockId | None
    InterconnectStatus: CapacityBlockInterconnectStatus | None
    TotalCapacity: Integer | None
    TotalAvailableCapacity: Integer | None
    TotalUnavailableCapacity: Integer | None
    CapacityReservationStatuses: CapacityReservationStatusSet | None


CapacityBlockStatusSet = list[CapacityBlockStatus]
ConditionValueList = list[String]


class DimensionCondition(TypedDict, total=False):
    Dimension: FilterByDimension | None
    Comparison: Comparison | None
    Values: ConditionValueList | None


class CapacityManagerCondition(TypedDict, total=False):
    DimensionCondition: DimensionCondition | None


CapacityManagerConditionSet = list[CapacityManagerCondition]
CapacityManagerDataExportIdSet = list[CapacityManagerDataExportId]


class CapacityManagerDataExportResponse(TypedDict, total=False):
    CapacityManagerDataExportId: CapacityManagerDataExportId | None
    S3BucketName: String | None
    S3BucketPrefix: String | None
    Schedule: Schedule | None
    OutputFormat: OutputFormat | None
    CreateTime: MillisecondDateTime | None
    LatestDeliveryStatus: CapacityManagerDataExportStatus | None
    LatestDeliveryStatusMessage: String | None
    LatestDeliveryS3LocationUri: String | None
    LatestDeliveryTime: MillisecondDateTime | None
    Tags: TagList | None


CapacityManagerDataExportResponseSet = list[CapacityManagerDataExportResponse]


class CapacityManagerDimension(TypedDict, total=False):
    ResourceRegion: String | None
    AvailabilityZoneId: String | None
    AccountId: String | None
    InstanceFamily: String | None
    InstanceType: String | None
    InstancePlatform: String | None
    ReservationArn: String | None
    ReservationId: String | None
    ReservationType: ReservationType | None
    ReservationCreateTimestamp: MillisecondDateTime | None
    ReservationStartTimestamp: MillisecondDateTime | None
    ReservationEndTimestamp: MillisecondDateTime | None
    ReservationEndDateType: ReservationEndDateType | None
    Tenancy: CapacityTenancy | None
    ReservationState: ReservationState | None
    ReservationInstanceMatchCriteria: String | None
    ReservationUnusedFinancialOwner: String | None


class InterruptionInfo(TypedDict, total=False):
    SourceCapacityReservationId: String | None
    InterruptionType: InterruptionType | None


class InterruptibleCapacityAllocation(TypedDict, total=False):
    InstanceCount: Integer | None
    TargetInstanceCount: Integer | None
    Status: InterruptibleCapacityReservationAllocationStatus | None
    InterruptibleCapacityReservationId: String | None
    InterruptionType: InterruptionType | None


class CapacityReservationCommitmentInfo(TypedDict, total=False):
    CommittedInstanceCount: Integer | None
    CommitmentEndDate: MillisecondDateTime | None


class CapacityReservation(TypedDict, total=False):
    CapacityReservationId: String | None
    OwnerId: String | None
    CapacityReservationArn: String | None
    AvailabilityZoneId: String | None
    InstanceType: String | None
    InstancePlatform: CapacityReservationInstancePlatform | None
    AvailabilityZone: String | None
    Tenancy: CapacityReservationTenancy | None
    TotalInstanceCount: Integer | None
    AvailableInstanceCount: Integer | None
    EbsOptimized: Boolean | None
    EphemeralStorage: Boolean | None
    State: CapacityReservationState | None
    StartDate: MillisecondDateTime | None
    EndDate: DateTime | None
    EndDateType: EndDateType | None
    InstanceMatchCriteria: InstanceMatchCriteria | None
    CreateDate: DateTime | None
    Tags: TagList | None
    OutpostArn: OutpostArn | None
    CapacityReservationFleetId: String | None
    PlacementGroupArn: PlacementGroupArn | None
    CapacityAllocations: CapacityAllocations | None
    ReservationType: CapacityReservationType | None
    UnusedReservationBillingOwnerId: AccountID | None
    CommitmentInfo: CapacityReservationCommitmentInfo | None
    DeliveryPreference: CapacityReservationDeliveryPreference | None
    CapacityBlockId: CapacityBlockId | None
    Interruptible: BoxedBoolean | None
    InterruptibleCapacityAllocation: InterruptibleCapacityAllocation | None
    InterruptionInfo: InterruptionInfo | None


class CapacityReservationInfo(TypedDict, total=False):
    InstanceType: String | None
    AvailabilityZone: AvailabilityZoneName | None
    Tenancy: CapacityReservationTenancy | None
    AvailabilityZoneId: AvailabilityZoneId | None


class CapacityReservationBillingRequest(TypedDict, total=False):
    CapacityReservationId: String | None
    RequestedBy: String | None
    UnusedReservationBillingOwnerId: AccountID | None
    LastUpdateTime: MillisecondDateTime | None
    Status: CapacityReservationBillingRequestStatus | None
    StatusMessage: String | None
    CapacityReservationInfo: CapacityReservationInfo | None


CapacityReservationBillingRequestSet = list[CapacityReservationBillingRequest]
CapacityReservationCommitmentDuration = int


class FleetCapacityReservation(TypedDict, total=False):
    CapacityReservationId: CapacityReservationId | None
    AvailabilityZoneId: String | None
    InstanceType: InstanceType | None
    InstancePlatform: CapacityReservationInstancePlatform | None
    AvailabilityZone: String | None
    TotalInstanceCount: Integer | None
    FulfilledCapacity: Double | None
    EbsOptimized: Boolean | None
    CreateDate: MillisecondDateTime | None
    Weight: DoubleWithConstraints | None
    Priority: IntegerWithConstraints | None


FleetCapacityReservationSet = list[FleetCapacityReservation]


class CapacityReservationFleet(TypedDict, total=False):
    CapacityReservationFleetId: CapacityReservationFleetId | None
    CapacityReservationFleetArn: String | None
    State: CapacityReservationFleetState | None
    TotalTargetCapacity: Integer | None
    TotalFulfilledCapacity: Double | None
    Tenancy: FleetCapacityReservationTenancy | None
    EndDate: MillisecondDateTime | None
    CreateTime: MillisecondDateTime | None
    InstanceMatchCriteria: FleetInstanceMatchCriteria | None
    AllocationStrategy: String | None
    InstanceTypeSpecifications: FleetCapacityReservationSet | None
    Tags: TagList | None


CapacityReservationFleetSet = list[CapacityReservationFleet]


class CapacityReservationGroup(TypedDict, total=False):
    GroupArn: String | None
    OwnerId: String | None


CapacityReservationGroupSet = list[CapacityReservationGroup]


class CapacityReservationOptions(TypedDict, total=False):
    UsageStrategy: FleetCapacityReservationUsageStrategy | None


class CapacityReservationOptionsRequest(TypedDict, total=False):
    UsageStrategy: FleetCapacityReservationUsageStrategy | None


CapacityReservationSet = list[CapacityReservation]


class CapacityReservationTarget(TypedDict, total=False):
    CapacityReservationId: CapacityReservationId | None
    CapacityReservationResourceGroupArn: String | None


class CapacityReservationSpecification(TypedDict, total=False):
    CapacityReservationPreference: CapacityReservationPreference | None
    CapacityReservationTarget: CapacityReservationTarget | None


class CapacityReservationTargetResponse(TypedDict, total=False):
    CapacityReservationId: String | None
    CapacityReservationResourceGroupArn: String | None


class CapacityReservationSpecificationResponse(TypedDict, total=False):
    CapacityReservationPreference: CapacityReservationPreference | None
    CapacityReservationTarget: CapacityReservationTargetResponse | None


NetworkNodeSet = list[String]


class CapacityReservationTopology(TypedDict, total=False):
    CapacityReservationId: String | None
    CapacityBlockId: String | None
    State: String | None
    InstanceType: String | None
    GroupName: String | None
    NetworkNodes: NetworkNodeSet | None
    AvailabilityZoneId: String | None
    AvailabilityZone: String | None


CapacityReservationTopologySet = list[CapacityReservationTopology]


class CarrierGateway(TypedDict, total=False):
    CarrierGatewayId: CarrierGatewayId | None
    VpcId: VpcId | None
    State: CarrierGatewayState | None
    OwnerId: String | None
    Tags: TagList | None


CarrierGatewayIdSet = list[CarrierGatewayId]
CarrierGatewaySet = list[CarrierGateway]


class CertificateAuthentication(TypedDict, total=False):
    ClientRootCertificateChain: String | None


class CertificateAuthenticationRequest(TypedDict, total=False):
    ClientRootCertificateChainArn: String | None


class CidrAuthorizationContext(TypedDict, total=False):
    Message: String
    Signature: String


class ClassicLinkDnsSupport(TypedDict, total=False):
    ClassicLinkDnsSupported: Boolean | None
    VpcId: String | None


ClassicLinkDnsSupportList = list[ClassicLinkDnsSupport]


class GroupIdentifier(TypedDict, total=False):
    GroupId: String | None
    GroupName: String | None


GroupIdentifierList = list[GroupIdentifier]


class ClassicLinkInstance(TypedDict, total=False):
    Groups: GroupIdentifierList | None
    InstanceId: String | None
    Tags: TagList | None
    VpcId: String | None


ClassicLinkInstanceList = list[ClassicLinkInstance]


class ClassicLoadBalancer(TypedDict, total=False):
    Name: String | None


ClassicLoadBalancers = list[ClassicLoadBalancer]


class ClassicLoadBalancersConfig(TypedDict, total=False):
    ClassicLoadBalancers: ClassicLoadBalancers | None


class ClientCertificateRevocationListStatus(TypedDict, total=False):
    Code: ClientCertificateRevocationListStatusCode | None
    Message: String | None


class ClientConnectOptions(TypedDict, total=False):
    Enabled: Boolean | None
    LambdaFunctionArn: String | None


class ClientVpnEndpointAttributeStatus(TypedDict, total=False):
    Code: ClientVpnEndpointAttributeStatusCode | None
    Message: String | None


class ClientConnectResponseOptions(TypedDict, total=False):
    Enabled: Boolean | None
    LambdaFunctionArn: String | None
    Status: ClientVpnEndpointAttributeStatus | None


class ClientData(TypedDict, total=False):
    Comment: String | None
    UploadEnd: DateTime | None
    UploadSize: Double | None
    UploadStart: DateTime | None


class ClientLoginBannerOptions(TypedDict, total=False):
    Enabled: Boolean | None
    BannerText: String | None


class ClientLoginBannerResponseOptions(TypedDict, total=False):
    Enabled: Boolean | None
    BannerText: String | None


class ClientRouteEnforcementOptions(TypedDict, total=False):
    Enforced: Boolean | None


class ClientRouteEnforcementResponseOptions(TypedDict, total=False):
    Enforced: Boolean | None


class FederatedAuthentication(TypedDict, total=False):
    SamlProviderArn: String | None
    SelfServiceSamlProviderArn: String | None


class DirectoryServiceAuthentication(TypedDict, total=False):
    DirectoryId: String | None


class ClientVpnAuthentication(TypedDict, total=False):
    Type: ClientVpnAuthenticationType | None
    ActiveDirectory: DirectoryServiceAuthentication | None
    MutualAuthentication: CertificateAuthentication | None
    FederatedAuthentication: FederatedAuthentication | None


ClientVpnAuthenticationList = list[ClientVpnAuthentication]


class FederatedAuthenticationRequest(TypedDict, total=False):
    SAMLProviderArn: String | None
    SelfServiceSAMLProviderArn: String | None


class DirectoryServiceAuthenticationRequest(TypedDict, total=False):
    DirectoryId: String | None


class ClientVpnAuthenticationRequest(TypedDict, total=False):
    Type: ClientVpnAuthenticationType | None
    ActiveDirectory: DirectoryServiceAuthenticationRequest | None
    MutualAuthentication: CertificateAuthenticationRequest | None
    FederatedAuthentication: FederatedAuthenticationRequest | None


ClientVpnAuthenticationRequestList = list[ClientVpnAuthenticationRequest]


class ClientVpnConnectionStatus(TypedDict, total=False):
    Code: ClientVpnConnectionStatusCode | None
    Message: String | None


class ClientVpnConnection(TypedDict, total=False):
    ClientVpnEndpointId: String | None
    Timestamp: String | None
    ConnectionId: String | None
    Username: String | None
    ConnectionEstablishedTime: String | None
    IngressBytes: String | None
    EgressBytes: String | None
    IngressPackets: String | None
    EgressPackets: String | None
    ClientIp: String | None
    ClientIpv6Address: String | None
    CommonName: String | None
    Status: ClientVpnConnectionStatus | None
    ConnectionEndTime: String | None
    PostureComplianceStatuses: ValueStringList | None


ClientVpnConnectionSet = list[ClientVpnConnection]


class ConnectionLogResponseOptions(TypedDict, total=False):
    Enabled: Boolean | None
    CloudwatchLogGroup: String | None
    CloudwatchLogStream: String | None


class ClientVpnEndpointStatus(TypedDict, total=False):
    Code: ClientVpnEndpointStatusCode | None
    Message: String | None


class ClientVpnEndpoint(TypedDict, total=False):
    ClientVpnEndpointId: String | None
    Description: String | None
    Status: ClientVpnEndpointStatus | None
    CreationTime: String | None
    DeletionTime: String | None
    DnsName: String | None
    ClientCidrBlock: String | None
    DnsServers: ValueStringList | None
    SplitTunnel: Boolean | None
    VpnProtocol: VpnProtocol | None
    TransportProtocol: TransportProtocol | None
    VpnPort: Integer | None
    AssociatedTargetNetworks: AssociatedTargetNetworkSet | None
    ServerCertificateArn: String | None
    AuthenticationOptions: ClientVpnAuthenticationList | None
    ConnectionLogOptions: ConnectionLogResponseOptions | None
    Tags: TagList | None
    SecurityGroupIds: ClientVpnSecurityGroupIdSet | None
    VpcId: VpcId | None
    SelfServicePortalUrl: String | None
    ClientConnectOptions: ClientConnectResponseOptions | None
    SessionTimeoutHours: Integer | None
    ClientLoginBannerOptions: ClientLoginBannerResponseOptions | None
    ClientRouteEnforcementOptions: ClientRouteEnforcementResponseOptions | None
    DisconnectOnSessionTimeout: Boolean | None
    EndpointIpAddressType: EndpointIpAddressType | None
    TrafficIpAddressType: TrafficIpAddressType | None


ClientVpnEndpointIdList = list[ClientVpnEndpointId]


class ClientVpnRouteStatus(TypedDict, total=False):
    Code: ClientVpnRouteStatusCode | None
    Message: String | None


class ClientVpnRoute(TypedDict, total=False):
    ClientVpnEndpointId: String | None
    DestinationCidr: String | None
    TargetSubnet: String | None
    Type: String | None
    Origin: String | None
    Status: ClientVpnRouteStatus | None
    Description: String | None


ClientVpnRouteSet = list[ClientVpnRoute]


class CloudWatchLogOptions(TypedDict, total=False):
    LogEnabled: Boolean | None
    LogGroupArn: String | None
    LogOutputFormat: String | None
    BgpLogEnabled: Boolean | None
    BgpLogGroupArn: String | None
    BgpLogOutputFormat: String | None


class CloudWatchLogOptionsSpecification(TypedDict, total=False):
    LogEnabled: Boolean | None
    LogGroupArn: CloudWatchLogGroupArn | None
    LogOutputFormat: String | None
    BgpLogEnabled: Boolean | None
    BgpLogGroupArn: CloudWatchLogGroupArn | None
    BgpLogOutputFormat: String | None


class CoipAddressUsage(TypedDict, total=False):
    AllocationId: String | None
    AwsAccountId: String | None
    AwsService: String | None
    CoIp: String | None


CoipAddressUsageSet = list[CoipAddressUsage]


class CoipCidr(TypedDict, total=False):
    Cidr: String | None
    CoipPoolId: Ipv4PoolCoipId | None
    LocalGatewayRouteTableId: String | None


class CoipPool(TypedDict, total=False):
    PoolId: Ipv4PoolCoipId | None
    PoolCidrs: ValueStringList | None
    LocalGatewayRouteTableId: LocalGatewayRoutetableId | None
    Tags: TagList | None
    PoolArn: ResourceArn | None


CoipPoolIdSet = list[Ipv4PoolCoipId]
CoipPoolSet = list[CoipPool]


class ConfirmProductInstanceRequest(ServiceRequest):
    InstanceId: InstanceId
    ProductCode: String
    DryRun: Boolean | None


class ConfirmProductInstanceResult(TypedDict, total=False):
    Return: Boolean | None
    OwnerId: String | None


class ConnectionLogOptions(TypedDict, total=False):
    Enabled: Boolean | None
    CloudwatchLogGroup: String | None
    CloudwatchLogStream: String | None


class ConnectionNotification(TypedDict, total=False):
    ConnectionNotificationId: String | None
    ServiceId: String | None
    VpcEndpointId: String | None
    ConnectionNotificationType: ConnectionNotificationType | None
    ConnectionNotificationArn: String | None
    ConnectionEvents: ValueStringList | None
    ConnectionNotificationState: ConnectionNotificationState | None
    ServiceRegion: String | None


ConnectionNotificationIdsList = list[ConnectionNotificationId]
ConnectionNotificationSet = list[ConnectionNotification]


class ConnectionTrackingConfiguration(TypedDict, total=False):
    TcpEstablishedTimeout: Integer | None
    UdpStreamTimeout: Integer | None
    UdpTimeout: Integer | None


class ConnectionTrackingSpecification(TypedDict, total=False):
    TcpEstablishedTimeout: Integer | None
    UdpTimeout: Integer | None
    UdpStreamTimeout: Integer | None


class ConnectionTrackingSpecificationRequest(TypedDict, total=False):
    TcpEstablishedTimeout: Integer | None
    UdpStreamTimeout: Integer | None
    UdpTimeout: Integer | None


class ConnectionTrackingSpecificationResponse(TypedDict, total=False):
    TcpEstablishedTimeout: Integer | None
    UdpStreamTimeout: Integer | None
    UdpTimeout: Integer | None


ConversionIdStringList = list[ConversionTaskId]


class DiskImageVolumeDescription(TypedDict, total=False):
    Id: String | None
    Size: Long | None


class DiskImageDescription(TypedDict, total=False):
    Checksum: String | None
    Format: DiskImageFormat | None
    ImportManifestUrl: ImportManifestUrl | None
    Size: Long | None


class ImportVolumeTaskDetails(TypedDict, total=False):
    AvailabilityZone: String | None
    AvailabilityZoneId: String | None
    BytesConverted: Long | None
    Description: String | None
    Image: DiskImageDescription | None
    Volume: DiskImageVolumeDescription | None


class ImportInstanceVolumeDetailItem(TypedDict, total=False):
    AvailabilityZone: String | None
    AvailabilityZoneId: String | None
    BytesConverted: Long | None
    Description: String | None
    Image: DiskImageDescription | None
    Status: String | None
    StatusMessage: String | None
    Volume: DiskImageVolumeDescription | None


ImportInstanceVolumeDetailSet = list[ImportInstanceVolumeDetailItem]


class ImportInstanceTaskDetails(TypedDict, total=False):
    Description: String | None
    InstanceId: String | None
    Platform: PlatformValues | None
    Volumes: ImportInstanceVolumeDetailSet | None


class ConversionTask(TypedDict, total=False):
    ConversionTaskId: String | None
    ExpirationTime: String | None
    ImportInstance: ImportInstanceTaskDetails | None
    ImportVolume: ImportVolumeTaskDetails | None
    State: ConversionTaskState | None
    StatusMessage: String | None
    Tags: TagList | None


class CopyFpgaImageRequest(ServiceRequest):
    DryRun: Boolean | None
    SourceFpgaImageId: String
    Description: String | None
    Name: String | None
    SourceRegion: String
    ClientToken: String | None


class CopyFpgaImageResult(TypedDict, total=False):
    FpgaImageId: String | None


class CopyImageRequest(ServiceRequest):
    ClientToken: String | None
    Description: String | None
    Encrypted: Boolean | None
    KmsKeyId: KmsKeyId | None
    Name: String
    SourceImageId: String
    SourceRegion: String
    DestinationOutpostArn: String | None
    CopyImageTags: Boolean | None
    TagSpecifications: TagSpecificationList | None
    SnapshotCopyCompletionDurationMinutes: Long | None
    DestinationAvailabilityZone: String | None
    DestinationAvailabilityZoneId: String | None
    DryRun: Boolean | None


class CopyImageResult(TypedDict, total=False):
    ImageId: String | None


class CopySnapshotRequest(ServiceRequest):
    Description: String | None
    DestinationOutpostArn: String | None
    DestinationRegion: String | None
    Encrypted: Boolean | None
    KmsKeyId: KmsKeyId | None
    PresignedUrl: CopySnapshotRequestPSU | None
    SourceRegion: String
    SourceSnapshotId: String
    TagSpecifications: TagSpecificationList | None
    CompletionDurationMinutes: SnapshotCompletionDurationMinutesRequest | None
    DestinationAvailabilityZone: String | None
    DryRun: Boolean | None


class CopySnapshotResult(TypedDict, total=False):
    Tags: TagList | None
    SnapshotId: String | None


class CopyVolumesRequest(ServiceRequest):
    SourceVolumeId: VolumeId
    Iops: Integer | None
    Size: Integer | None
    VolumeType: VolumeType | None
    DryRun: Boolean | None
    TagSpecifications: TagSpecificationList | None
    MultiAttachEnabled: Boolean | None
    Throughput: Integer | None
    ClientToken: String | None


class VolumeAttachment(TypedDict, total=False):
    DeleteOnTermination: Boolean | None
    AssociatedResource: String | None
    InstanceOwningService: String | None
    EbsCardIndex: Integer | None
    VolumeId: String | None
    InstanceId: String | None
    Device: String | None
    State: VolumeAttachmentState | None
    AttachTime: DateTime | None


VolumeAttachmentList = list[VolumeAttachment]


class OperatorResponse(TypedDict, total=False):
    Managed: Boolean | None
    Principal: String | None


class Volume(TypedDict, total=False):
    AvailabilityZoneId: String | None
    OutpostArn: String | None
    SourceVolumeId: String | None
    Iops: Integer | None
    Tags: TagList | None
    VolumeType: VolumeType | None
    FastRestored: Boolean | None
    MultiAttachEnabled: Boolean | None
    Throughput: Integer | None
    SseType: SSEType | None
    Operator: OperatorResponse | None
    VolumeInitializationRate: Integer | None
    VolumeId: String | None
    Size: Integer | None
    SnapshotId: String | None
    AvailabilityZone: String | None
    State: VolumeState | None
    CreateTime: DateTime | None
    Attachments: VolumeAttachmentList | None
    Encrypted: Boolean | None
    KmsKeyId: String | None


VolumeList = list[Volume]


class CopyVolumesResult(TypedDict, total=False):
    Volumes: VolumeList | None


CoreCountList = list[CoreCount]
CpuManufacturerSet = list[CpuManufacturer]


class CpuOptions(TypedDict, total=False):
    CoreCount: Integer | None
    ThreadsPerCore: Integer | None
    AmdSevSnp: AmdSevSnpSpecification | None


class CpuOptionsRequest(TypedDict, total=False):
    CoreCount: Integer | None
    ThreadsPerCore: Integer | None
    AmdSevSnp: AmdSevSnpSpecification | None


class CreateCapacityManagerDataExportRequest(ServiceRequest):
    S3BucketName: String
    S3BucketPrefix: String | None
    Schedule: Schedule
    OutputFormat: OutputFormat
    ClientToken: String | None
    DryRun: Boolean | None
    TagSpecifications: TagSpecificationList | None


class CreateCapacityManagerDataExportResult(TypedDict, total=False):
    CapacityManagerDataExportId: CapacityManagerDataExportId | None


class CreateCapacityReservationBySplittingRequest(ServiceRequest):
    DryRun: Boolean | None
    ClientToken: String | None
    SourceCapacityReservationId: CapacityReservationId
    InstanceCount: Integer
    TagSpecifications: TagSpecificationList | None


class CreateCapacityReservationBySplittingResult(TypedDict, total=False):
    SourceCapacityReservation: CapacityReservation | None
    DestinationCapacityReservation: CapacityReservation | None
    InstanceCount: Integer | None


class ReservationFleetInstanceSpecification(TypedDict, total=False):
    InstanceType: InstanceType | None
    InstancePlatform: CapacityReservationInstancePlatform | None
    Weight: DoubleWithConstraints | None
    AvailabilityZone: String | None
    AvailabilityZoneId: String | None
    EbsOptimized: Boolean | None
    Priority: IntegerWithConstraints | None


ReservationFleetInstanceSpecificationList = list[ReservationFleetInstanceSpecification]


class CreateCapacityReservationFleetRequest(ServiceRequest):
    AllocationStrategy: String | None
    ClientToken: String | None
    InstanceTypeSpecifications: ReservationFleetInstanceSpecificationList
    Tenancy: FleetCapacityReservationTenancy | None
    TotalTargetCapacity: Integer
    EndDate: MillisecondDateTime | None
    InstanceMatchCriteria: FleetInstanceMatchCriteria | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class CreateCapacityReservationFleetResult(TypedDict, total=False):
    CapacityReservationFleetId: CapacityReservationFleetId | None
    State: CapacityReservationFleetState | None
    TotalTargetCapacity: Integer | None
    TotalFulfilledCapacity: Double | None
    InstanceMatchCriteria: FleetInstanceMatchCriteria | None
    AllocationStrategy: String | None
    CreateTime: MillisecondDateTime | None
    EndDate: MillisecondDateTime | None
    Tenancy: FleetCapacityReservationTenancy | None
    FleetCapacityReservations: FleetCapacityReservationSet | None
    Tags: TagList | None


class CreateCapacityReservationRequest(ServiceRequest):
    ClientToken: String | None
    InstanceType: String
    InstancePlatform: CapacityReservationInstancePlatform
    AvailabilityZone: AvailabilityZoneName | None
    AvailabilityZoneId: AvailabilityZoneId | None
    Tenancy: CapacityReservationTenancy | None
    InstanceCount: Integer
    EbsOptimized: Boolean | None
    EphemeralStorage: Boolean | None
    EndDate: DateTime | None
    EndDateType: EndDateType | None
    InstanceMatchCriteria: InstanceMatchCriteria | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None
    OutpostArn: OutpostArn | None
    PlacementGroupArn: PlacementGroupArn | None
    StartDate: MillisecondDateTime | None
    CommitmentDuration: CapacityReservationCommitmentDuration | None
    DeliveryPreference: CapacityReservationDeliveryPreference | None


class CreateCapacityReservationResult(TypedDict, total=False):
    CapacityReservation: CapacityReservation | None


class CreateCarrierGatewayRequest(ServiceRequest):
    VpcId: VpcId
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None
    ClientToken: String | None


class CreateCarrierGatewayResult(TypedDict, total=False):
    CarrierGateway: CarrierGateway | None


class CreateClientVpnEndpointRequest(ServiceRequest):
    ClientCidrBlock: String | None
    ServerCertificateArn: String
    AuthenticationOptions: ClientVpnAuthenticationRequestList
    ConnectionLogOptions: ConnectionLogOptions
    DnsServers: ValueStringList | None
    TransportProtocol: TransportProtocol | None
    VpnPort: Integer | None
    Description: String | None
    SplitTunnel: Boolean | None
    DryRun: Boolean | None
    ClientToken: String | None
    TagSpecifications: TagSpecificationList | None
    SecurityGroupIds: ClientVpnSecurityGroupIdSet | None
    VpcId: VpcId | None
    SelfServicePortal: SelfServicePortal | None
    ClientConnectOptions: ClientConnectOptions | None
    SessionTimeoutHours: Integer | None
    ClientLoginBannerOptions: ClientLoginBannerOptions | None
    ClientRouteEnforcementOptions: ClientRouteEnforcementOptions | None
    DisconnectOnSessionTimeout: Boolean | None
    EndpointIpAddressType: EndpointIpAddressType | None
    TrafficIpAddressType: TrafficIpAddressType | None


class CreateClientVpnEndpointResult(TypedDict, total=False):
    ClientVpnEndpointId: String | None
    Status: ClientVpnEndpointStatus | None
    DnsName: String | None


class CreateClientVpnRouteRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    DestinationCidrBlock: String
    TargetVpcSubnetId: SubnetId
    Description: String | None
    ClientToken: String | None
    DryRun: Boolean | None


class CreateClientVpnRouteResult(TypedDict, total=False):
    Status: ClientVpnRouteStatus | None


class CreateCoipCidrRequest(ServiceRequest):
    Cidr: String
    CoipPoolId: Ipv4PoolCoipId
    DryRun: Boolean | None


class CreateCoipCidrResult(TypedDict, total=False):
    CoipCidr: CoipCidr | None


class CreateCoipPoolRequest(ServiceRequest):
    LocalGatewayRouteTableId: LocalGatewayRoutetableId
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class CreateCoipPoolResult(TypedDict, total=False):
    CoipPool: CoipPool | None


class CreateCustomerGatewayRequest(ServiceRequest):
    BgpAsn: Integer | None
    PublicIp: String | None
    CertificateArn: String | None
    Type: GatewayType
    TagSpecifications: TagSpecificationList | None
    DeviceName: String | None
    IpAddress: String | None
    BgpAsnExtended: Long | None
    DryRun: Boolean | None


class CustomerGateway(TypedDict, total=False):
    CertificateArn: String | None
    DeviceName: String | None
    Tags: TagList | None
    BgpAsnExtended: String | None
    CustomerGatewayId: String | None
    State: String | None
    Type: String | None
    IpAddress: String | None
    BgpAsn: String | None


class CreateCustomerGatewayResult(TypedDict, total=False):
    CustomerGateway: CustomerGateway | None


class CreateDefaultSubnetRequest(ServiceRequest):
    AvailabilityZone: AvailabilityZoneName | None
    DryRun: Boolean | None
    Ipv6Native: Boolean | None
    AvailabilityZoneId: AvailabilityZoneId | None


class PrivateDnsNameOptionsOnLaunch(TypedDict, total=False):
    HostnameType: HostnameType | None
    EnableResourceNameDnsARecord: Boolean | None
    EnableResourceNameDnsAAAARecord: Boolean | None


SubnetIpv6CidrBlockAssociationSet = list[SubnetIpv6CidrBlockAssociation]


class Subnet(TypedDict, total=False):
    AvailabilityZoneId: String | None
    EnableLniAtDeviceIndex: Integer | None
    MapCustomerOwnedIpOnLaunch: Boolean | None
    CustomerOwnedIpv4Pool: CoipPoolId | None
    OwnerId: String | None
    AssignIpv6AddressOnCreation: Boolean | None
    Ipv6CidrBlockAssociationSet: SubnetIpv6CidrBlockAssociationSet | None
    Tags: TagList | None
    SubnetArn: String | None
    OutpostArn: String | None
    EnableDns64: Boolean | None
    Ipv6Native: Boolean | None
    PrivateDnsNameOptionsOnLaunch: PrivateDnsNameOptionsOnLaunch | None
    BlockPublicAccessStates: BlockPublicAccessStates | None
    Type: String | None
    SubnetId: String | None
    State: SubnetState | None
    VpcId: String | None
    CidrBlock: String | None
    AvailableIpAddressCount: Integer | None
    AvailabilityZone: String | None
    DefaultForAz: Boolean | None
    MapPublicIpOnLaunch: Boolean | None


class CreateDefaultSubnetResult(TypedDict, total=False):
    Subnet: Subnet | None


class CreateDefaultVpcRequest(ServiceRequest):
    DryRun: Boolean | None


class VpcEncryptionControlExclusion(TypedDict, total=False):
    State: VpcEncryptionControlExclusionState | None
    StateMessage: String | None


class VpcEncryptionControlExclusions(TypedDict, total=False):
    InternetGateway: VpcEncryptionControlExclusion | None
    EgressOnlyInternetGateway: VpcEncryptionControlExclusion | None
    NatGateway: VpcEncryptionControlExclusion | None
    VirtualPrivateGateway: VpcEncryptionControlExclusion | None
    VpcPeering: VpcEncryptionControlExclusion | None
    Lambda: VpcEncryptionControlExclusion | None
    VpcLattice: VpcEncryptionControlExclusion | None
    ElasticFileSystem: VpcEncryptionControlExclusion | None


class VpcEncryptionControl(TypedDict, total=False):
    VpcId: VpcId | None
    VpcEncryptionControlId: VpcEncryptionControlId | None
    Mode: VpcEncryptionControlMode | None
    State: VpcEncryptionControlState | None
    StateMessage: String | None
    ResourceExclusions: VpcEncryptionControlExclusions | None
    Tags: TagList | None


VpcCidrBlockAssociationSet = list[VpcCidrBlockAssociation]
VpcIpv6CidrBlockAssociationSet = list[VpcIpv6CidrBlockAssociation]


class Vpc(TypedDict, total=False):
    OwnerId: String | None
    InstanceTenancy: Tenancy | None
    Ipv6CidrBlockAssociationSet: VpcIpv6CidrBlockAssociationSet | None
    CidrBlockAssociationSet: VpcCidrBlockAssociationSet | None
    IsDefault: Boolean | None
    EncryptionControl: VpcEncryptionControl | None
    Tags: TagList | None
    BlockPublicAccessStates: BlockPublicAccessStates | None
    VpcId: String | None
    State: VpcState | None
    CidrBlock: String | None
    DhcpOptionsId: String | None


class CreateDefaultVpcResult(TypedDict, total=False):
    Vpc: Vpc | None


class CreateDelegateMacVolumeOwnershipTaskRequest(ServiceRequest):
    ClientToken: String | None
    DryRun: Boolean | None
    InstanceId: InstanceId
    MacCredentials: SensitiveMacCredentials
    TagSpecifications: TagSpecificationList | None


class MacSystemIntegrityProtectionConfiguration(TypedDict, total=False):
    AppleInternal: MacSystemIntegrityProtectionSettingStatus | None
    BaseSystem: MacSystemIntegrityProtectionSettingStatus | None
    DebuggingRestrictions: MacSystemIntegrityProtectionSettingStatus | None
    DTraceRestrictions: MacSystemIntegrityProtectionSettingStatus | None
    FilesystemProtections: MacSystemIntegrityProtectionSettingStatus | None
    KextSigning: MacSystemIntegrityProtectionSettingStatus | None
    NvramProtections: MacSystemIntegrityProtectionSettingStatus | None
    Status: MacSystemIntegrityProtectionSettingStatus | None


class MacModificationTask(TypedDict, total=False):
    InstanceId: InstanceId | None
    MacModificationTaskId: MacModificationTaskId | None
    MacSystemIntegrityProtectionConfig: MacSystemIntegrityProtectionConfiguration | None
    StartTime: MillisecondDateTime | None
    Tags: TagList | None
    TaskState: MacModificationTaskState | None
    TaskType: MacModificationTaskType | None


class CreateDelegateMacVolumeOwnershipTaskResult(TypedDict, total=False):
    MacModificationTask: MacModificationTask | None


class NewDhcpConfiguration(TypedDict, total=False):
    Key: String | None
    Values: ValueStringList | None


NewDhcpConfigurationList = list[NewDhcpConfiguration]


class CreateDhcpOptionsRequest(ServiceRequest):
    DhcpConfigurations: NewDhcpConfigurationList
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


DhcpConfigurationValueList = list[AttributeValue]


class DhcpConfiguration(TypedDict, total=False):
    Key: String | None
    Values: DhcpConfigurationValueList | None


DhcpConfigurationList = list[DhcpConfiguration]


class DhcpOptions(TypedDict, total=False):
    OwnerId: String | None
    Tags: TagList | None
    DhcpOptionsId: String | None
    DhcpConfigurations: DhcpConfigurationList | None


class CreateDhcpOptionsResult(TypedDict, total=False):
    DhcpOptions: DhcpOptions | None


class CreateEgressOnlyInternetGatewayRequest(ServiceRequest):
    ClientToken: String | None
    DryRun: Boolean | None
    VpcId: VpcId
    TagSpecifications: TagSpecificationList | None


class InternetGatewayAttachment(TypedDict, total=False):
    State: AttachmentStatus | None
    VpcId: String | None


InternetGatewayAttachmentList = list[InternetGatewayAttachment]


class EgressOnlyInternetGateway(TypedDict, total=False):
    Attachments: InternetGatewayAttachmentList | None
    EgressOnlyInternetGatewayId: EgressOnlyInternetGatewayId | None
    Tags: TagList | None


class CreateEgressOnlyInternetGatewayResult(TypedDict, total=False):
    ClientToken: String | None
    EgressOnlyInternetGateway: EgressOnlyInternetGateway | None


class NetworkBandwidthGbps(TypedDict, total=False):
    Min: Double | None
    Max: Double | None


class TotalLocalStorageGB(TypedDict, total=False):
    Min: Double | None
    Max: Double | None


LocalStorageTypeSet = list[LocalStorageType]


class NetworkInterfaceCount(TypedDict, total=False):
    Min: Integer | None
    Max: Integer | None


InstanceGenerationSet = list[InstanceGeneration]
ExcludedInstanceTypeSet = list[ExcludedInstanceType]


class MemoryGiBPerVCpu(TypedDict, total=False):
    Min: Double | None
    Max: Double | None


class MemoryMiB(TypedDict, total=False):
    Min: Integer | None
    Max: Integer | None


class VCpuCountRange(TypedDict, total=False):
    Min: Integer | None
    Max: Integer | None


class InstanceRequirements(TypedDict, total=False):
    VCpuCount: VCpuCountRange | None
    MemoryMiB: MemoryMiB | None
    CpuManufacturers: CpuManufacturerSet | None
    MemoryGiBPerVCpu: MemoryGiBPerVCpu | None
    ExcludedInstanceTypes: ExcludedInstanceTypeSet | None
    InstanceGenerations: InstanceGenerationSet | None
    SpotMaxPricePercentageOverLowestPrice: Integer | None
    OnDemandMaxPricePercentageOverLowestPrice: Integer | None
    BareMetal: BareMetal | None
    BurstablePerformance: BurstablePerformance | None
    RequireHibernateSupport: Boolean | None
    NetworkInterfaceCount: NetworkInterfaceCount | None
    LocalStorage: LocalStorage | None
    LocalStorageTypes: LocalStorageTypeSet | None
    TotalLocalStorageGB: TotalLocalStorageGB | None
    BaselineEbsBandwidthMbps: BaselineEbsBandwidthMbps | None
    AcceleratorTypes: AcceleratorTypeSet | None
    AcceleratorCount: AcceleratorCount | None
    AcceleratorManufacturers: AcceleratorManufacturerSet | None
    AcceleratorNames: AcceleratorNameSet | None
    AcceleratorTotalMemoryMiB: AcceleratorTotalMemoryMiB | None
    NetworkBandwidthGbps: NetworkBandwidthGbps | None
    AllowedInstanceTypes: AllowedInstanceTypeSet | None
    MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Integer | None
    BaselinePerformanceFactors: BaselinePerformanceFactors | None
    RequireEncryptionInTransit: Boolean | None


class PlacementResponse(TypedDict, total=False):
    GroupName: PlacementGroupName | None


class FleetLaunchTemplateOverrides(TypedDict, total=False):
    InstanceType: InstanceType | None
    MaxPrice: String | None
    SubnetId: String | None
    AvailabilityZone: AvailabilityZoneName | None
    WeightedCapacity: Double | None
    Priority: Double | None
    Placement: PlacementResponse | None
    InstanceRequirements: InstanceRequirements | None
    ImageId: ImageId | None
    BlockDeviceMappings: BlockDeviceMappingResponseList | None
    AvailabilityZoneId: AvailabilityZoneId | None


class FleetLaunchTemplateSpecification(TypedDict, total=False):
    LaunchTemplateId: String | None
    LaunchTemplateName: LaunchTemplateName | None
    Version: String | None


class LaunchTemplateAndOverridesResponse(TypedDict, total=False):
    LaunchTemplateSpecification: FleetLaunchTemplateSpecification | None
    Overrides: FleetLaunchTemplateOverrides | None


class CreateFleetError(TypedDict, total=False):
    LaunchTemplateAndOverrides: LaunchTemplateAndOverridesResponse | None
    Lifecycle: InstanceLifecycle | None
    ErrorCode: String | None
    ErrorMessage: String | None


CreateFleetErrorsSet = list[CreateFleetError]
InstanceIdsSet = list[InstanceId]


class CreateFleetInstance(TypedDict, total=False):
    LaunchTemplateAndOverrides: LaunchTemplateAndOverridesResponse | None
    Lifecycle: InstanceLifecycle | None
    InstanceIds: InstanceIdsSet | None
    InstanceType: InstanceType | None
    Platform: PlatformValues | None


CreateFleetInstancesSet = list[CreateFleetInstance]


class TargetCapacitySpecificationRequest(TypedDict, total=False):
    TotalTargetCapacity: Integer
    OnDemandTargetCapacity: Integer | None
    SpotTargetCapacity: Integer | None
    DefaultTargetCapacityType: DefaultTargetCapacityType | None
    TargetCapacityUnitType: TargetCapacityUnitType | None


class NetworkBandwidthGbpsRequest(TypedDict, total=False):
    Min: Double | None
    Max: Double | None


class TotalLocalStorageGBRequest(TypedDict, total=False):
    Min: Double | None
    Max: Double | None


class NetworkInterfaceCountRequest(TypedDict, total=False):
    Min: Integer | None
    Max: Integer | None


class MemoryGiBPerVCpuRequest(TypedDict, total=False):
    Min: Double | None
    Max: Double | None


class MemoryMiBRequest(TypedDict, total=False):
    Min: Integer
    Max: Integer | None


class VCpuCountRangeRequest(TypedDict, total=False):
    Min: Integer
    Max: Integer | None


class InstanceRequirementsRequest(TypedDict, total=False):
    VCpuCount: VCpuCountRangeRequest
    MemoryMiB: MemoryMiBRequest
    CpuManufacturers: CpuManufacturerSet | None
    MemoryGiBPerVCpu: MemoryGiBPerVCpuRequest | None
    ExcludedInstanceTypes: ExcludedInstanceTypeSet | None
    InstanceGenerations: InstanceGenerationSet | None
    SpotMaxPricePercentageOverLowestPrice: Integer | None
    OnDemandMaxPricePercentageOverLowestPrice: Integer | None
    BareMetal: BareMetal | None
    BurstablePerformance: BurstablePerformance | None
    RequireHibernateSupport: Boolean | None
    NetworkInterfaceCount: NetworkInterfaceCountRequest | None
    LocalStorage: LocalStorage | None
    LocalStorageTypes: LocalStorageTypeSet | None
    TotalLocalStorageGB: TotalLocalStorageGBRequest | None
    BaselineEbsBandwidthMbps: BaselineEbsBandwidthMbpsRequest | None
    AcceleratorTypes: AcceleratorTypeSet | None
    AcceleratorCount: AcceleratorCountRequest | None
    AcceleratorManufacturers: AcceleratorManufacturerSet | None
    AcceleratorNames: AcceleratorNameSet | None
    AcceleratorTotalMemoryMiB: AcceleratorTotalMemoryMiBRequest | None
    NetworkBandwidthGbps: NetworkBandwidthGbpsRequest | None
    AllowedInstanceTypes: AllowedInstanceTypeSet | None
    MaxSpotPriceAsPercentageOfOptimalOnDemandPrice: Integer | None
    BaselinePerformanceFactors: BaselinePerformanceFactorsRequest | None
    RequireEncryptionInTransit: Boolean | None


class FleetEbsBlockDeviceRequest(TypedDict, total=False):
    Encrypted: Boolean | None
    DeleteOnTermination: Boolean | None
    Iops: Integer | None
    Throughput: Integer | None
    KmsKeyId: KmsKeyId | None
    SnapshotId: SnapshotId | None
    VolumeSize: Integer | None
    VolumeType: VolumeType | None


class FleetBlockDeviceMappingRequest(TypedDict, total=False):
    DeviceName: String | None
    VirtualName: String | None
    Ebs: FleetEbsBlockDeviceRequest | None
    NoDevice: String | None


FleetBlockDeviceMappingRequestList = list[FleetBlockDeviceMappingRequest]


class Placement(TypedDict, total=False):
    AvailabilityZoneId: AvailabilityZoneId | None
    Affinity: String | None
    GroupName: PlacementGroupName | None
    PartitionNumber: Integer | None
    HostId: String | None
    Tenancy: Tenancy | None
    SpreadDomain: String | None
    HostResourceGroupArn: String | None
    GroupId: PlacementGroupId | None
    AvailabilityZone: String | None


class FleetLaunchTemplateOverridesRequest(TypedDict, total=False):
    InstanceType: InstanceType | None
    MaxPrice: String | None
    SubnetId: SubnetId | None
    AvailabilityZone: AvailabilityZoneName | None
    WeightedCapacity: Double | None
    Priority: Double | None
    Placement: Placement | None
    BlockDeviceMappings: FleetBlockDeviceMappingRequestList | None
    InstanceRequirements: InstanceRequirementsRequest | None
    ImageId: String | None
    AvailabilityZoneId: AvailabilityZoneId | None


FleetLaunchTemplateOverridesListRequest = list[FleetLaunchTemplateOverridesRequest]


class FleetLaunchTemplateSpecificationRequest(TypedDict, total=False):
    LaunchTemplateId: LaunchTemplateId | None
    LaunchTemplateName: LaunchTemplateName | None
    Version: String | None


class FleetLaunchTemplateConfigRequest(TypedDict, total=False):
    LaunchTemplateSpecification: FleetLaunchTemplateSpecificationRequest | None
    Overrides: FleetLaunchTemplateOverridesListRequest | None


FleetLaunchTemplateConfigListRequest = list[FleetLaunchTemplateConfigRequest]


class OnDemandOptionsRequest(TypedDict, total=False):
    AllocationStrategy: FleetOnDemandAllocationStrategy | None
    CapacityReservationOptions: CapacityReservationOptionsRequest | None
    SingleInstanceType: Boolean | None
    SingleAvailabilityZone: Boolean | None
    MinTargetCapacity: Integer | None
    MaxTotalPrice: String | None


class FleetSpotCapacityRebalanceRequest(TypedDict, total=False):
    ReplacementStrategy: FleetReplacementStrategy | None
    TerminationDelay: Integer | None


class FleetSpotMaintenanceStrategiesRequest(TypedDict, total=False):
    CapacityRebalance: FleetSpotCapacityRebalanceRequest | None


class SpotOptionsRequest(TypedDict, total=False):
    AllocationStrategy: SpotAllocationStrategy | None
    MaintenanceStrategies: FleetSpotMaintenanceStrategiesRequest | None
    InstanceInterruptionBehavior: SpotInstanceInterruptionBehavior | None
    InstancePoolsToUseCount: Integer | None
    SingleInstanceType: Boolean | None
    SingleAvailabilityZone: Boolean | None
    MinTargetCapacity: Integer | None
    MaxTotalPrice: String | None


class CreateFleetRequest(ServiceRequest):
    DryRun: Boolean | None
    ClientToken: String | None
    SpotOptions: SpotOptionsRequest | None
    OnDemandOptions: OnDemandOptionsRequest | None
    ExcessCapacityTerminationPolicy: FleetExcessCapacityTerminationPolicy | None
    LaunchTemplateConfigs: FleetLaunchTemplateConfigListRequest
    TargetCapacitySpecification: TargetCapacitySpecificationRequest
    TerminateInstancesWithExpiration: Boolean | None
    Type: FleetType | None
    ValidFrom: DateTime | None
    ValidUntil: DateTime | None
    ReplaceUnhealthyInstances: Boolean | None
    TagSpecifications: TagSpecificationList | None
    Context: String | None


class CreateFleetResult(TypedDict, total=False):
    FleetId: FleetId | None
    Errors: CreateFleetErrorsSet | None
    Instances: CreateFleetInstancesSet | None


class DestinationOptionsRequest(TypedDict, total=False):
    FileFormat: DestinationFileFormat | None
    HiveCompatiblePartitions: Boolean | None
    PerHourPartition: Boolean | None


FlowLogResourceIds = list[FlowLogResourceId]


class CreateFlowLogsRequest(ServiceRequest):
    DryRun: Boolean | None
    ClientToken: String | None
    DeliverLogsPermissionArn: String | None
    DeliverCrossAccountRole: String | None
    LogGroupName: String | None
    ResourceIds: FlowLogResourceIds
    ResourceType: FlowLogsResourceType
    TrafficType: TrafficType | None
    LogDestinationType: LogDestinationType | None
    LogDestination: String | None
    LogFormat: String | None
    TagSpecifications: TagSpecificationList | None
    MaxAggregationInterval: Integer | None
    DestinationOptions: DestinationOptionsRequest | None


class CreateFlowLogsResult(TypedDict, total=False):
    ClientToken: String | None
    FlowLogIds: ValueStringList | None
    Unsuccessful: UnsuccessfulItemSet | None


class StorageLocation(TypedDict, total=False):
    Bucket: String | None
    Key: String | None


class CreateFpgaImageRequest(ServiceRequest):
    DryRun: Boolean | None
    InputStorageLocation: StorageLocation
    LogsStorageLocation: StorageLocation | None
    Description: String | None
    Name: String | None
    ClientToken: String | None
    TagSpecifications: TagSpecificationList | None


class CreateFpgaImageResult(TypedDict, total=False):
    FpgaImageId: String | None
    FpgaImageGlobalId: String | None


class CreateImageRequest(ServiceRequest):
    TagSpecifications: TagSpecificationList | None
    SnapshotLocation: SnapshotLocationEnum | None
    DryRun: Boolean | None
    InstanceId: InstanceId
    Name: String
    Description: String | None
    NoReboot: Boolean | None
    BlockDeviceMappings: BlockDeviceMappingRequestList | None


class CreateImageResult(TypedDict, total=False):
    ImageId: String | None


ImageUsageReportUserIdStringList = list[String]
ImageUsageResourceTypeOptionValuesList = list[ImageUsageResourceTypeOptionValue]


class ImageUsageResourceTypeOptionRequest(TypedDict, total=False):
    OptionName: String | None
    OptionValues: ImageUsageResourceTypeOptionValuesList | None


ImageUsageResourceTypeOptionRequestList = list[ImageUsageResourceTypeOptionRequest]


class ImageUsageResourceTypeRequest(TypedDict, total=False):
    ResourceType: ImageUsageResourceTypeName | None
    ResourceTypeOptions: ImageUsageResourceTypeOptionRequestList | None


ImageUsageResourceTypeRequestList = list[ImageUsageResourceTypeRequest]


class CreateImageUsageReportRequest(ServiceRequest):
    ImageId: ImageId
    DryRun: Boolean | None
    ResourceTypes: ImageUsageResourceTypeRequestList
    AccountIds: ImageUsageReportUserIdStringList | None
    ClientToken: String | None
    TagSpecifications: TagSpecificationList | None


class CreateImageUsageReportResult(TypedDict, total=False):
    ReportId: ImageUsageReportId | None


SecurityGroupIdStringListRequest = list[SecurityGroupId]


class CreateInstanceConnectEndpointRequest(ServiceRequest):
    DryRun: Boolean | None
    SubnetId: SubnetId
    SecurityGroupIds: SecurityGroupIdStringListRequest | None
    PreserveClientIp: Boolean | None
    ClientToken: String | None
    TagSpecifications: TagSpecificationList | None
    IpAddressType: IpAddressType | None


class InstanceConnectEndpointDnsNames(TypedDict, total=False):
    DnsName: String | None
    FipsDnsName: String | None


class InstanceConnectEndpointPublicDnsNames(TypedDict, total=False):
    Ipv4: InstanceConnectEndpointDnsNames | None
    Dualstack: InstanceConnectEndpointDnsNames | None


SecurityGroupIdSet = list[SecurityGroupId]
NetworkInterfaceIdSet = list[String]


class Ec2InstanceConnectEndpoint(TypedDict, total=False):
    OwnerId: String | None
    InstanceConnectEndpointId: InstanceConnectEndpointId | None
    InstanceConnectEndpointArn: ResourceArn | None
    State: Ec2InstanceConnectEndpointState | None
    StateMessage: String | None
    DnsName: String | None
    FipsDnsName: String | None
    NetworkInterfaceIds: NetworkInterfaceIdSet | None
    VpcId: VpcId | None
    AvailabilityZone: String | None
    CreatedAt: MillisecondDateTime | None
    SubnetId: SubnetId | None
    PreserveClientIp: Boolean | None
    SecurityGroupIds: SecurityGroupIdSet | None
    Tags: TagList | None
    IpAddressType: IpAddressType | None
    PublicDnsNames: InstanceConnectEndpointPublicDnsNames | None
    AvailabilityZoneId: AvailabilityZoneId | None


class CreateInstanceConnectEndpointResult(TypedDict, total=False):
    InstanceConnectEndpoint: Ec2InstanceConnectEndpoint | None
    ClientToken: String | None


class InstanceEventWindowTimeRangeRequest(TypedDict, total=False):
    StartWeekDay: WeekDay | None
    StartHour: Hour | None
    EndWeekDay: WeekDay | None
    EndHour: Hour | None


InstanceEventWindowTimeRangeRequestSet = list[InstanceEventWindowTimeRangeRequest]


class CreateInstanceEventWindowRequest(ServiceRequest):
    DryRun: Boolean | None
    Name: String | None
    TimeRanges: InstanceEventWindowTimeRangeRequestSet | None
    CronExpression: InstanceEventWindowCronExpression | None
    TagSpecifications: TagSpecificationList | None


class CreateInstanceEventWindowResult(TypedDict, total=False):
    InstanceEventWindow: InstanceEventWindow | None


class ExportToS3TaskSpecification(TypedDict, total=False):
    DiskImageFormat: DiskImageFormat | None
    ContainerFormat: ContainerFormat | None
    S3Bucket: String | None
    S3Prefix: String | None


class CreateInstanceExportTaskRequest(ServiceRequest):
    TagSpecifications: TagSpecificationList | None
    Description: String | None
    InstanceId: InstanceId
    TargetEnvironment: ExportEnvironment
    ExportToS3Task: ExportToS3TaskSpecification


class InstanceExportDetails(TypedDict, total=False):
    InstanceId: String | None
    TargetEnvironment: ExportEnvironment | None


class ExportToS3Task(TypedDict, total=False):
    ContainerFormat: ContainerFormat | None
    DiskImageFormat: DiskImageFormat | None
    S3Bucket: String | None
    S3Key: String | None


class ExportTask(TypedDict, total=False):
    Description: String | None
    ExportTaskId: String | None
    ExportToS3Task: ExportToS3Task | None
    InstanceExportDetails: InstanceExportDetails | None
    State: ExportTaskState | None
    StatusMessage: String | None
    Tags: TagList | None


class CreateInstanceExportTaskResult(TypedDict, total=False):
    ExportTask: ExportTask | None


class CreateInternetGatewayRequest(ServiceRequest):
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class InternetGateway(TypedDict, total=False):
    Attachments: InternetGatewayAttachmentList | None
    InternetGatewayId: String | None
    OwnerId: String | None
    Tags: TagList | None


class CreateInternetGatewayResult(TypedDict, total=False):
    InternetGateway: InternetGateway | None


class CreateInterruptibleCapacityReservationAllocationRequest(ServiceRequest):
    CapacityReservationId: CapacityReservationId
    InstanceCount: Integer
    ClientToken: String | None
    DryRun: Boolean | None
    TagSpecifications: TagSpecificationList | None


class CreateInterruptibleCapacityReservationAllocationResult(TypedDict, total=False):
    SourceCapacityReservationId: CapacityReservationId | None
    TargetInstanceCount: Integer | None
    Status: InterruptibleCapacityReservationAllocationStatus | None
    InterruptionType: InterruptionType | None


class CreateIpamExternalResourceVerificationTokenRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamId: IpamId
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None


class IpamExternalResourceVerificationToken(TypedDict, total=False):
    IpamExternalResourceVerificationTokenId: IpamExternalResourceVerificationTokenId | None
    IpamExternalResourceVerificationTokenArn: ResourceArn | None
    IpamId: IpamId | None
    IpamArn: ResourceArn | None
    IpamRegion: String | None
    TokenValue: String | None
    TokenName: String | None
    NotAfter: MillisecondDateTime | None
    Status: TokenState | None
    Tags: TagList | None
    State: IpamExternalResourceVerificationTokenState | None


class CreateIpamExternalResourceVerificationTokenResult(TypedDict, total=False):
    IpamExternalResourceVerificationToken: IpamExternalResourceVerificationToken | None


class CreateIpamPolicyRequest(ServiceRequest):
    DryRun: Boolean | None
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None
    IpamId: IpamId


class IpamPolicy(TypedDict, total=False):
    OwnerId: String | None
    IpamPolicyId: IpamPolicyId | None
    IpamPolicyArn: ResourceArn | None
    IpamPolicyRegion: String | None
    State: IpamPolicyState | None
    StateMessage: String | None
    Tags: TagList | None
    IpamId: IpamId | None


class CreateIpamPolicyResult(TypedDict, total=False):
    IpamPolicy: IpamPolicy | None


class IpamPoolSourceResourceRequest(TypedDict, total=False):
    ResourceId: String | None
    ResourceType: IpamPoolSourceResourceType | None
    ResourceRegion: String | None
    ResourceOwner: String | None


class RequestIpamResourceTag(TypedDict, total=False):
    Key: String | None
    Value: String | None


RequestIpamResourceTagList = list[RequestIpamResourceTag]


class CreateIpamPoolRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamScopeId: IpamScopeId
    Locale: String | None
    SourceIpamPoolId: IpamPoolId | None
    Description: String | None
    AddressFamily: AddressFamily
    AutoImport: Boolean | None
    PubliclyAdvertisable: Boolean | None
    AllocationMinNetmaskLength: IpamNetmaskLength | None
    AllocationMaxNetmaskLength: IpamNetmaskLength | None
    AllocationDefaultNetmaskLength: IpamNetmaskLength | None
    AllocationResourceTags: RequestIpamResourceTagList | None
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None
    AwsService: IpamPoolAwsService | None
    PublicIpSource: IpamPoolPublicIpSource | None
    SourceResource: IpamPoolSourceResourceRequest | None


class IpamPoolSourceResource(TypedDict, total=False):
    ResourceId: String | None
    ResourceType: IpamPoolSourceResourceType | None
    ResourceRegion: String | None
    ResourceOwner: String | None


class IpamResourceTag(TypedDict, total=False):
    Key: String | None
    Value: String | None


IpamResourceTagList = list[IpamResourceTag]


class IpamPool(TypedDict, total=False):
    OwnerId: String | None
    IpamPoolId: IpamPoolId | None
    SourceIpamPoolId: IpamPoolId | None
    IpamPoolArn: ResourceArn | None
    IpamScopeArn: ResourceArn | None
    IpamScopeType: IpamScopeType | None
    IpamArn: ResourceArn | None
    IpamRegion: String | None
    Locale: String | None
    PoolDepth: Integer | None
    State: IpamPoolState | None
    StateMessage: String | None
    Description: String | None
    AutoImport: Boolean | None
    PubliclyAdvertisable: Boolean | None
    AddressFamily: AddressFamily | None
    AllocationMinNetmaskLength: IpamNetmaskLength | None
    AllocationMaxNetmaskLength: IpamNetmaskLength | None
    AllocationDefaultNetmaskLength: IpamNetmaskLength | None
    AllocationResourceTags: IpamResourceTagList | None
    Tags: TagList | None
    AwsService: IpamPoolAwsService | None
    PublicIpSource: IpamPoolPublicIpSource | None
    SourceResource: IpamPoolSourceResource | None


class CreateIpamPoolResult(TypedDict, total=False):
    IpamPool: IpamPool | None


class IpamPrefixListResolverRuleConditionRequest(TypedDict, total=False):
    Operation: IpamPrefixListResolverRuleConditionOperation
    IpamPoolId: String | None
    ResourceId: String | None
    ResourceOwner: String | None
    ResourceRegion: String | None
    ResourceTag: RequestIpamResourceTag | None
    Cidr: String | None


IpamPrefixListResolverRuleConditionRequestSet = list[IpamPrefixListResolverRuleConditionRequest]


class IpamPrefixListResolverRuleRequest(TypedDict, total=False):
    RuleType: IpamPrefixListResolverRuleType
    StaticCidr: String | None
    IpamScopeId: IpamScopeId | None
    ResourceType: IpamResourceType | None
    Conditions: IpamPrefixListResolverRuleConditionRequestSet | None


IpamPrefixListResolverRuleRequestSet = list[IpamPrefixListResolverRuleRequest]


class CreateIpamPrefixListResolverRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamId: IpamId
    Description: String | None
    AddressFamily: AddressFamily
    Rules: IpamPrefixListResolverRuleRequestSet | None
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None


class IpamPrefixListResolver(TypedDict, total=False):
    OwnerId: String | None
    IpamPrefixListResolverId: IpamPrefixListResolverId | None
    IpamPrefixListResolverArn: ResourceArn | None
    IpamArn: ResourceArn | None
    IpamRegion: String | None
    Description: String | None
    AddressFamily: AddressFamily | None
    State: IpamPrefixListResolverState | None
    Tags: TagList | None
    LastVersionCreationStatus: IpamPrefixListResolverVersionCreationStatus | None
    LastVersionCreationStatusMessage: String | None


class CreateIpamPrefixListResolverResult(TypedDict, total=False):
    IpamPrefixListResolver: IpamPrefixListResolver | None


class CreateIpamPrefixListResolverTargetRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPrefixListResolverId: IpamPrefixListResolverId
    PrefixListId: String
    PrefixListRegion: String
    DesiredVersion: BoxedLong | None
    TrackLatestVersion: Boolean
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None


class IpamPrefixListResolverTarget(TypedDict, total=False):
    IpamPrefixListResolverTargetId: IpamPrefixListResolverTargetId | None
    IpamPrefixListResolverTargetArn: ResourceArn | None
    IpamPrefixListResolverId: IpamPrefixListResolverId | None
    OwnerId: String | None
    PrefixListId: PrefixListResourceId | None
    PrefixListRegion: String | None
    DesiredVersion: BoxedLong | None
    LastSyncedVersion: BoxedLong | None
    TrackLatestVersion: Boolean | None
    StateMessage: String | None
    State: IpamPrefixListResolverTargetState | None
    Tags: TagList | None


class CreateIpamPrefixListResolverTargetResult(TypedDict, total=False):
    IpamPrefixListResolverTarget: IpamPrefixListResolverTarget | None


class CreateIpamRequest(ServiceRequest):
    DryRun: Boolean | None
    Description: String | None
    OperatingRegions: AddIpamOperatingRegionSet | None
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None
    Tier: IpamTier | None
    EnablePrivateGua: Boolean | None
    MeteredAccount: IpamMeteredAccount | None


class CreateIpamResourceDiscoveryRequest(ServiceRequest):
    DryRun: Boolean | None
    Description: String | None
    OperatingRegions: AddIpamOperatingRegionSet | None
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None


class IpamOrganizationalUnitExclusion(TypedDict, total=False):
    OrganizationsEntityPath: String | None


IpamOrganizationalUnitExclusionSet = list[IpamOrganizationalUnitExclusion]


class IpamOperatingRegion(TypedDict, total=False):
    RegionName: String | None


IpamOperatingRegionSet = list[IpamOperatingRegion]


class IpamResourceDiscovery(TypedDict, total=False):
    OwnerId: String | None
    IpamResourceDiscoveryId: IpamResourceDiscoveryId | None
    IpamResourceDiscoveryArn: String | None
    IpamResourceDiscoveryRegion: String | None
    Description: String | None
    OperatingRegions: IpamOperatingRegionSet | None
    IsDefault: Boolean | None
    State: IpamResourceDiscoveryState | None
    Tags: TagList | None
    OrganizationalUnitExclusions: IpamOrganizationalUnitExclusionSet | None


class CreateIpamResourceDiscoveryResult(TypedDict, total=False):
    IpamResourceDiscovery: IpamResourceDiscovery | None


class Ipam(TypedDict, total=False):
    OwnerId: String | None
    IpamId: IpamId | None
    IpamArn: ResourceArn | None
    IpamRegion: String | None
    PublicDefaultScopeId: IpamScopeId | None
    PrivateDefaultScopeId: IpamScopeId | None
    ScopeCount: Integer | None
    Description: String | None
    OperatingRegions: IpamOperatingRegionSet | None
    State: IpamState | None
    Tags: TagList | None
    DefaultResourceDiscoveryId: IpamResourceDiscoveryId | None
    DefaultResourceDiscoveryAssociationId: IpamResourceDiscoveryAssociationId | None
    ResourceDiscoveryAssociationCount: Integer | None
    StateMessage: String | None
    Tier: IpamTier | None
    EnablePrivateGua: Boolean | None
    MeteredAccount: IpamMeteredAccount | None


class CreateIpamResult(TypedDict, total=False):
    Ipam: Ipam | None


class ExternalAuthorityConfiguration(TypedDict, total=False):
    Type: IpamScopeExternalAuthorityType | None
    ExternalResourceIdentifier: String | None


class CreateIpamScopeRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamId: IpamId
    Description: String | None
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None
    ExternalAuthorityConfiguration: ExternalAuthorityConfiguration | None


class IpamScopeExternalAuthorityConfiguration(TypedDict, total=False):
    Type: IpamScopeExternalAuthorityType | None
    ExternalResourceIdentifier: String | None


class IpamScope(TypedDict, total=False):
    OwnerId: String | None
    IpamScopeId: IpamScopeId | None
    IpamScopeArn: ResourceArn | None
    IpamArn: ResourceArn | None
    IpamRegion: String | None
    IpamScopeType: IpamScopeType | None
    IsDefault: Boolean | None
    Description: String | None
    PoolCount: Integer | None
    State: IpamScopeState | None
    Tags: TagList | None
    ExternalAuthorityConfiguration: IpamScopeExternalAuthorityConfiguration | None


class CreateIpamScopeResult(TypedDict, total=False):
    IpamScope: IpamScope | None


class CreateKeyPairRequest(ServiceRequest):
    KeyName: String
    KeyType: KeyType | None
    TagSpecifications: TagSpecificationList | None
    KeyFormat: KeyFormat | None
    DryRun: Boolean | None


class OperatorRequest(TypedDict, total=False):
    Principal: String | None


class LaunchTemplateNetworkPerformanceOptionsRequest(TypedDict, total=False):
    BandwidthWeighting: InstanceBandwidthWeighting | None


class LaunchTemplateInstanceMaintenanceOptionsRequest(TypedDict, total=False):
    AutoRecovery: LaunchTemplateAutoRecoveryState | None


class LaunchTemplatePrivateDnsNameOptionsRequest(TypedDict, total=False):
    HostnameType: HostnameType | None
    EnableResourceNameDnsARecord: Boolean | None
    EnableResourceNameDnsAAAARecord: Boolean | None


class LaunchTemplateEnclaveOptionsRequest(TypedDict, total=False):
    Enabled: Boolean | None


class LaunchTemplateInstanceMetadataOptionsRequest(TypedDict, total=False):
    HttpTokens: LaunchTemplateHttpTokensState | None
    HttpPutResponseHopLimit: Integer | None
    HttpEndpoint: LaunchTemplateInstanceMetadataEndpointState | None
    HttpProtocolIpv6: LaunchTemplateInstanceMetadataProtocolIpv6 | None
    InstanceMetadataTags: LaunchTemplateInstanceMetadataTagsState | None


class LaunchTemplateHibernationOptionsRequest(TypedDict, total=False):
    Configured: Boolean | None


class LaunchTemplateLicenseConfigurationRequest(TypedDict, total=False):
    LicenseConfigurationArn: String | None


LaunchTemplateLicenseSpecificationListRequest = list[LaunchTemplateLicenseConfigurationRequest]


class LaunchTemplateCapacityReservationSpecificationRequest(TypedDict, total=False):
    CapacityReservationPreference: CapacityReservationPreference | None
    CapacityReservationTarget: CapacityReservationTarget | None


class LaunchTemplateCpuOptionsRequest(TypedDict, total=False):
    CoreCount: Integer | None
    ThreadsPerCore: Integer | None
    AmdSevSnp: AmdSevSnpSpecification | None


class CreditSpecificationRequest(TypedDict, total=False):
    CpuCredits: String


class LaunchTemplateSpotMarketOptionsRequest(TypedDict, total=False):
    MaxPrice: String | None
    SpotInstanceType: SpotInstanceType | None
    BlockDurationMinutes: Integer | None
    ValidUntil: DateTime | None
    InstanceInterruptionBehavior: InstanceInterruptionBehavior | None


class LaunchTemplateInstanceMarketOptionsRequest(TypedDict, total=False):
    MarketType: MarketType | None
    SpotOptions: LaunchTemplateSpotMarketOptionsRequest | None


SecurityGroupStringList = list[SecurityGroupName]
SecurityGroupIdStringList = list[SecurityGroupId]


class LaunchTemplateElasticInferenceAccelerator(TypedDict, total=False):
    Type: String
    Count: LaunchTemplateElasticInferenceAcceleratorCount | None


LaunchTemplateElasticInferenceAcceleratorList = list[LaunchTemplateElasticInferenceAccelerator]


class ElasticGpuSpecification(TypedDict, total=False):
    Type: String


ElasticGpuSpecificationList = list[ElasticGpuSpecification]


class LaunchTemplateTagSpecificationRequest(TypedDict, total=False):
    ResourceType: ResourceType | None
    Tags: TagList | None


LaunchTemplateTagSpecificationRequestList = list[LaunchTemplateTagSpecificationRequest]


class LaunchTemplatePlacementRequest(TypedDict, total=False):
    AvailabilityZone: String | None
    AvailabilityZoneId: AvailabilityZoneId | None
    Affinity: String | None
    GroupName: PlacementGroupName | None
    HostId: DedicatedHostId | None
    Tenancy: Tenancy | None
    SpreadDomain: String | None
    HostResourceGroupArn: String | None
    PartitionNumber: Integer | None
    GroupId: PlacementGroupId | None


class LaunchTemplatesMonitoringRequest(TypedDict, total=False):
    Enabled: Boolean | None


class EnaSrdUdpSpecificationRequest(TypedDict, total=False):
    EnaSrdUdpEnabled: Boolean | None


class EnaSrdSpecificationRequest(TypedDict, total=False):
    EnaSrdEnabled: Boolean | None
    EnaSrdUdpSpecification: EnaSrdUdpSpecificationRequest | None


class Ipv6PrefixSpecificationRequest(TypedDict, total=False):
    Ipv6Prefix: String | None


Ipv6PrefixList = list[Ipv6PrefixSpecificationRequest]


class Ipv4PrefixSpecificationRequest(TypedDict, total=False):
    Ipv4Prefix: String | None


Ipv4PrefixList = list[Ipv4PrefixSpecificationRequest]


class PrivateIpAddressSpecification(TypedDict, total=False):
    Primary: Boolean | None
    PrivateIpAddress: String | None


PrivateIpAddressSpecificationList = list[PrivateIpAddressSpecification]


class InstanceIpv6AddressRequest(TypedDict, total=False):
    Ipv6Address: String | None


InstanceIpv6AddressListRequest = list[InstanceIpv6AddressRequest]


class LaunchTemplateInstanceNetworkInterfaceSpecificationRequest(TypedDict, total=False):
    AssociateCarrierIpAddress: Boolean | None
    AssociatePublicIpAddress: Boolean | None
    DeleteOnTermination: Boolean | None
    Description: String | None
    DeviceIndex: Integer | None
    Groups: SecurityGroupIdStringList | None
    InterfaceType: String | None
    Ipv6AddressCount: Integer | None
    Ipv6Addresses: InstanceIpv6AddressListRequest | None
    NetworkInterfaceId: NetworkInterfaceId | None
    PrivateIpAddress: String | None
    PrivateIpAddresses: PrivateIpAddressSpecificationList | None
    SecondaryPrivateIpAddressCount: Integer | None
    SubnetId: SubnetId | None
    NetworkCardIndex: Integer | None
    Ipv4Prefixes: Ipv4PrefixList | None
    Ipv4PrefixCount: Integer | None
    Ipv6Prefixes: Ipv6PrefixList | None
    Ipv6PrefixCount: Integer | None
    PrimaryIpv6: Boolean | None
    EnaSrdSpecification: EnaSrdSpecificationRequest | None
    ConnectionTrackingSpecification: ConnectionTrackingSpecificationRequest | None
    EnaQueueCount: Integer | None


LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList = list[
    LaunchTemplateInstanceNetworkInterfaceSpecificationRequest
]


class LaunchTemplateEbsBlockDeviceRequest(TypedDict, total=False):
    Encrypted: Boolean | None
    DeleteOnTermination: Boolean | None
    Iops: Integer | None
    KmsKeyId: KmsKeyId | None
    SnapshotId: SnapshotId | None
    VolumeSize: Integer | None
    VolumeType: VolumeType | None
    Throughput: Integer | None
    VolumeInitializationRate: Integer | None
    EbsCardIndex: Integer | None


class LaunchTemplateBlockDeviceMappingRequest(TypedDict, total=False):
    DeviceName: String | None
    VirtualName: String | None
    Ebs: LaunchTemplateEbsBlockDeviceRequest | None
    NoDevice: String | None


LaunchTemplateBlockDeviceMappingRequestList = list[LaunchTemplateBlockDeviceMappingRequest]


class LaunchTemplateIamInstanceProfileSpecificationRequest(TypedDict, total=False):
    Arn: String | None
    Name: String | None


class RequestLaunchTemplateData(TypedDict, total=False):
    KernelId: KernelId | None
    EbsOptimized: Boolean | None
    IamInstanceProfile: LaunchTemplateIamInstanceProfileSpecificationRequest | None
    BlockDeviceMappings: LaunchTemplateBlockDeviceMappingRequestList | None
    NetworkInterfaces: LaunchTemplateInstanceNetworkInterfaceSpecificationRequestList | None
    ImageId: ImageId | None
    InstanceType: InstanceType | None
    KeyName: KeyPairName | None
    Monitoring: LaunchTemplatesMonitoringRequest | None
    Placement: LaunchTemplatePlacementRequest | None
    RamDiskId: RamdiskId | None
    DisableApiTermination: Boolean | None
    InstanceInitiatedShutdownBehavior: ShutdownBehavior | None
    UserData: SensitiveUserData | None
    TagSpecifications: LaunchTemplateTagSpecificationRequestList | None
    ElasticGpuSpecifications: ElasticGpuSpecificationList | None
    ElasticInferenceAccelerators: LaunchTemplateElasticInferenceAcceleratorList | None
    SecurityGroupIds: SecurityGroupIdStringList | None
    SecurityGroups: SecurityGroupStringList | None
    InstanceMarketOptions: LaunchTemplateInstanceMarketOptionsRequest | None
    CreditSpecification: CreditSpecificationRequest | None
    CpuOptions: LaunchTemplateCpuOptionsRequest | None
    CapacityReservationSpecification: LaunchTemplateCapacityReservationSpecificationRequest | None
    LicenseSpecifications: LaunchTemplateLicenseSpecificationListRequest | None
    HibernationOptions: LaunchTemplateHibernationOptionsRequest | None
    MetadataOptions: LaunchTemplateInstanceMetadataOptionsRequest | None
    EnclaveOptions: LaunchTemplateEnclaveOptionsRequest | None
    InstanceRequirements: InstanceRequirementsRequest | None
    PrivateDnsNameOptions: LaunchTemplatePrivateDnsNameOptionsRequest | None
    MaintenanceOptions: LaunchTemplateInstanceMaintenanceOptionsRequest | None
    DisableApiStop: Boolean | None
    Operator: OperatorRequest | None
    NetworkPerformanceOptions: LaunchTemplateNetworkPerformanceOptionsRequest | None


class CreateLaunchTemplateRequest(ServiceRequest):
    DryRun: Boolean | None
    ClientToken: String | None
    LaunchTemplateName: LaunchTemplateName
    VersionDescription: VersionDescription | None
    LaunchTemplateData: RequestLaunchTemplateData
    Operator: OperatorRequest | None
    TagSpecifications: TagSpecificationList | None


class ValidationError(TypedDict, total=False):
    Code: String | None
    Message: String | None


ErrorSet = list[ValidationError]


class ValidationWarning(TypedDict, total=False):
    Errors: ErrorSet | None


class LaunchTemplate(TypedDict, total=False):
    LaunchTemplateId: String | None
    LaunchTemplateName: LaunchTemplateName | None
    CreateTime: DateTime | None
    CreatedBy: String | None
    DefaultVersionNumber: Long | None
    LatestVersionNumber: Long | None
    Tags: TagList | None
    Operator: OperatorResponse | None


class CreateLaunchTemplateResult(TypedDict, total=False):
    LaunchTemplate: LaunchTemplate | None
    Warning: ValidationWarning | None


class CreateLaunchTemplateVersionRequest(ServiceRequest):
    DryRun: Boolean | None
    ClientToken: String | None
    LaunchTemplateId: LaunchTemplateId | None
    LaunchTemplateName: LaunchTemplateName | None
    SourceVersion: String | None
    VersionDescription: VersionDescription | None
    LaunchTemplateData: RequestLaunchTemplateData
    ResolveAlias: Boolean | None


class LaunchTemplateNetworkPerformanceOptions(TypedDict, total=False):
    BandwidthWeighting: InstanceBandwidthWeighting | None


class LaunchTemplateInstanceMaintenanceOptions(TypedDict, total=False):
    AutoRecovery: LaunchTemplateAutoRecoveryState | None


class LaunchTemplatePrivateDnsNameOptions(TypedDict, total=False):
    HostnameType: HostnameType | None
    EnableResourceNameDnsARecord: Boolean | None
    EnableResourceNameDnsAAAARecord: Boolean | None


class LaunchTemplateEnclaveOptions(TypedDict, total=False):
    Enabled: Boolean | None


class LaunchTemplateInstanceMetadataOptions(TypedDict, total=False):
    State: LaunchTemplateInstanceMetadataOptionsState | None
    HttpTokens: LaunchTemplateHttpTokensState | None
    HttpPutResponseHopLimit: Integer | None
    HttpEndpoint: LaunchTemplateInstanceMetadataEndpointState | None
    HttpProtocolIpv6: LaunchTemplateInstanceMetadataProtocolIpv6 | None
    InstanceMetadataTags: LaunchTemplateInstanceMetadataTagsState | None


class LaunchTemplateHibernationOptions(TypedDict, total=False):
    Configured: Boolean | None


class LaunchTemplateLicenseConfiguration(TypedDict, total=False):
    LicenseConfigurationArn: String | None


LaunchTemplateLicenseList = list[LaunchTemplateLicenseConfiguration]


class LaunchTemplateCapacityReservationSpecificationResponse(TypedDict, total=False):
    CapacityReservationPreference: CapacityReservationPreference | None
    CapacityReservationTarget: CapacityReservationTargetResponse | None


class LaunchTemplateCpuOptions(TypedDict, total=False):
    CoreCount: Integer | None
    ThreadsPerCore: Integer | None
    AmdSevSnp: AmdSevSnpSpecification | None


class CreditSpecification(TypedDict, total=False):
    CpuCredits: String | None


class LaunchTemplateSpotMarketOptions(TypedDict, total=False):
    MaxPrice: String | None
    SpotInstanceType: SpotInstanceType | None
    BlockDurationMinutes: Integer | None
    ValidUntil: DateTime | None
    InstanceInterruptionBehavior: InstanceInterruptionBehavior | None


class LaunchTemplateInstanceMarketOptions(TypedDict, total=False):
    MarketType: MarketType | None
    SpotOptions: LaunchTemplateSpotMarketOptions | None


class LaunchTemplateElasticInferenceAcceleratorResponse(TypedDict, total=False):
    Type: String | None
    Count: Integer | None


LaunchTemplateElasticInferenceAcceleratorResponseList = list[
    LaunchTemplateElasticInferenceAcceleratorResponse
]


class ElasticGpuSpecificationResponse(TypedDict, total=False):
    Type: String | None


ElasticGpuSpecificationResponseList = list[ElasticGpuSpecificationResponse]


class LaunchTemplateTagSpecification(TypedDict, total=False):
    ResourceType: ResourceType | None
    Tags: TagList | None


LaunchTemplateTagSpecificationList = list[LaunchTemplateTagSpecification]


class LaunchTemplatePlacement(TypedDict, total=False):
    AvailabilityZone: String | None
    AvailabilityZoneId: AvailabilityZoneId | None
    Affinity: String | None
    GroupName: String | None
    HostId: String | None
    Tenancy: Tenancy | None
    SpreadDomain: String | None
    HostResourceGroupArn: String | None
    PartitionNumber: Integer | None
    GroupId: PlacementGroupId | None


class LaunchTemplatesMonitoring(TypedDict, total=False):
    Enabled: Boolean | None


class LaunchTemplateEnaSrdUdpSpecification(TypedDict, total=False):
    EnaSrdUdpEnabled: Boolean | None


class LaunchTemplateEnaSrdSpecification(TypedDict, total=False):
    EnaSrdEnabled: Boolean | None
    EnaSrdUdpSpecification: LaunchTemplateEnaSrdUdpSpecification | None


class Ipv6PrefixSpecificationResponse(TypedDict, total=False):
    Ipv6Prefix: String | None


Ipv6PrefixListResponse = list[Ipv6PrefixSpecificationResponse]


class Ipv4PrefixSpecificationResponse(TypedDict, total=False):
    Ipv4Prefix: String | None


Ipv4PrefixListResponse = list[Ipv4PrefixSpecificationResponse]


class InstanceIpv6Address(TypedDict, total=False):
    Ipv6Address: String | None
    IsPrimaryIpv6: Boolean | None


InstanceIpv6AddressList = list[InstanceIpv6Address]


class LaunchTemplateInstanceNetworkInterfaceSpecification(TypedDict, total=False):
    AssociateCarrierIpAddress: Boolean | None
    AssociatePublicIpAddress: Boolean | None
    DeleteOnTermination: Boolean | None
    Description: String | None
    DeviceIndex: Integer | None
    Groups: GroupIdStringList | None
    InterfaceType: String | None
    Ipv6AddressCount: Integer | None
    Ipv6Addresses: InstanceIpv6AddressList | None
    NetworkInterfaceId: NetworkInterfaceId | None
    PrivateIpAddress: String | None
    PrivateIpAddresses: PrivateIpAddressSpecificationList | None
    SecondaryPrivateIpAddressCount: Integer | None
    SubnetId: SubnetId | None
    NetworkCardIndex: Integer | None
    Ipv4Prefixes: Ipv4PrefixListResponse | None
    Ipv4PrefixCount: Integer | None
    Ipv6Prefixes: Ipv6PrefixListResponse | None
    Ipv6PrefixCount: Integer | None
    PrimaryIpv6: Boolean | None
    EnaSrdSpecification: LaunchTemplateEnaSrdSpecification | None
    ConnectionTrackingSpecification: ConnectionTrackingSpecification | None
    EnaQueueCount: Integer | None


LaunchTemplateInstanceNetworkInterfaceSpecificationList = list[
    LaunchTemplateInstanceNetworkInterfaceSpecification
]


class LaunchTemplateEbsBlockDevice(TypedDict, total=False):
    Encrypted: Boolean | None
    DeleteOnTermination: Boolean | None
    Iops: Integer | None
    KmsKeyId: KmsKeyId | None
    SnapshotId: SnapshotId | None
    VolumeSize: Integer | None
    VolumeType: VolumeType | None
    Throughput: Integer | None
    VolumeInitializationRate: Integer | None
    EbsCardIndex: Integer | None


class LaunchTemplateBlockDeviceMapping(TypedDict, total=False):
    DeviceName: String | None
    VirtualName: String | None
    Ebs: LaunchTemplateEbsBlockDevice | None
    NoDevice: String | None


LaunchTemplateBlockDeviceMappingList = list[LaunchTemplateBlockDeviceMapping]


class LaunchTemplateIamInstanceProfileSpecification(TypedDict, total=False):
    Arn: String | None
    Name: String | None


class ResponseLaunchTemplateData(TypedDict, total=False):
    KernelId: String | None
    EbsOptimized: Boolean | None
    IamInstanceProfile: LaunchTemplateIamInstanceProfileSpecification | None
    BlockDeviceMappings: LaunchTemplateBlockDeviceMappingList | None
    NetworkInterfaces: LaunchTemplateInstanceNetworkInterfaceSpecificationList | None
    ImageId: String | None
    InstanceType: InstanceType | None
    KeyName: String | None
    Monitoring: LaunchTemplatesMonitoring | None
    Placement: LaunchTemplatePlacement | None
    RamDiskId: String | None
    DisableApiTermination: Boolean | None
    InstanceInitiatedShutdownBehavior: ShutdownBehavior | None
    UserData: SensitiveUserData | None
    TagSpecifications: LaunchTemplateTagSpecificationList | None
    ElasticGpuSpecifications: ElasticGpuSpecificationResponseList | None
    ElasticInferenceAccelerators: LaunchTemplateElasticInferenceAcceleratorResponseList | None
    SecurityGroupIds: ValueStringList | None
    SecurityGroups: ValueStringList | None
    InstanceMarketOptions: LaunchTemplateInstanceMarketOptions | None
    CreditSpecification: CreditSpecification | None
    CpuOptions: LaunchTemplateCpuOptions | None
    CapacityReservationSpecification: LaunchTemplateCapacityReservationSpecificationResponse | None
    LicenseSpecifications: LaunchTemplateLicenseList | None
    HibernationOptions: LaunchTemplateHibernationOptions | None
    MetadataOptions: LaunchTemplateInstanceMetadataOptions | None
    EnclaveOptions: LaunchTemplateEnclaveOptions | None
    InstanceRequirements: InstanceRequirements | None
    PrivateDnsNameOptions: LaunchTemplatePrivateDnsNameOptions | None
    MaintenanceOptions: LaunchTemplateInstanceMaintenanceOptions | None
    DisableApiStop: Boolean | None
    Operator: OperatorResponse | None
    NetworkPerformanceOptions: LaunchTemplateNetworkPerformanceOptions | None


class LaunchTemplateVersion(TypedDict, total=False):
    LaunchTemplateId: String | None
    LaunchTemplateName: LaunchTemplateName | None
    VersionNumber: Long | None
    VersionDescription: VersionDescription | None
    CreateTime: DateTime | None
    CreatedBy: String | None
    DefaultVersion: Boolean | None
    LaunchTemplateData: ResponseLaunchTemplateData | None
    Operator: OperatorResponse | None


class CreateLaunchTemplateVersionResult(TypedDict, total=False):
    LaunchTemplateVersion: LaunchTemplateVersion | None
    Warning: ValidationWarning | None


class CreateLocalGatewayRouteRequest(ServiceRequest):
    DestinationCidrBlock: String | None
    LocalGatewayRouteTableId: LocalGatewayRoutetableId
    LocalGatewayVirtualInterfaceGroupId: LocalGatewayVirtualInterfaceGroupId | None
    DryRun: Boolean | None
    NetworkInterfaceId: NetworkInterfaceId | None
    DestinationPrefixListId: PrefixListResourceId | None


class LocalGatewayRoute(TypedDict, total=False):
    DestinationCidrBlock: String | None
    LocalGatewayVirtualInterfaceGroupId: LocalGatewayVirtualInterfaceGroupId | None
    Type: LocalGatewayRouteType | None
    State: LocalGatewayRouteState | None
    LocalGatewayRouteTableId: LocalGatewayRoutetableId | None
    LocalGatewayRouteTableArn: ResourceArn | None
    OwnerId: String | None
    SubnetId: SubnetId | None
    CoipPoolId: CoipPoolId | None
    NetworkInterfaceId: NetworkInterfaceId | None
    DestinationPrefixListId: PrefixListResourceId | None


class CreateLocalGatewayRouteResult(TypedDict, total=False):
    Route: LocalGatewayRoute | None


class CreateLocalGatewayRouteTableRequest(ServiceRequest):
    LocalGatewayId: LocalGatewayId
    Mode: LocalGatewayRouteTableMode | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class StateReason(TypedDict, total=False):
    Code: String | None
    Message: String | None


class LocalGatewayRouteTable(TypedDict, total=False):
    LocalGatewayRouteTableId: String | None
    LocalGatewayRouteTableArn: ResourceArn | None
    LocalGatewayId: LocalGatewayId | None
    OutpostArn: String | None
    OwnerId: String | None
    State: String | None
    Tags: TagList | None
    Mode: LocalGatewayRouteTableMode | None
    StateReason: StateReason | None


class CreateLocalGatewayRouteTableResult(TypedDict, total=False):
    LocalGatewayRouteTable: LocalGatewayRouteTable | None


class CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationRequest(ServiceRequest):
    LocalGatewayRouteTableId: LocalGatewayRoutetableId
    LocalGatewayVirtualInterfaceGroupId: LocalGatewayVirtualInterfaceGroupId
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class LocalGatewayRouteTableVirtualInterfaceGroupAssociation(TypedDict, total=False):
    LocalGatewayRouteTableVirtualInterfaceGroupAssociationId: (
        LocalGatewayRouteTableVirtualInterfaceGroupAssociationId | None
    )
    LocalGatewayVirtualInterfaceGroupId: LocalGatewayVirtualInterfaceGroupId | None
    LocalGatewayId: String | None
    LocalGatewayRouteTableId: LocalGatewayId | None
    LocalGatewayRouteTableArn: ResourceArn | None
    OwnerId: String | None
    State: String | None
    Tags: TagList | None


class CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult(TypedDict, total=False):
    LocalGatewayRouteTableVirtualInterfaceGroupAssociation: (
        LocalGatewayRouteTableVirtualInterfaceGroupAssociation | None
    )


class CreateLocalGatewayRouteTableVpcAssociationRequest(ServiceRequest):
    LocalGatewayRouteTableId: LocalGatewayRoutetableId
    VpcId: VpcId
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class LocalGatewayRouteTableVpcAssociation(TypedDict, total=False):
    LocalGatewayRouteTableVpcAssociationId: LocalGatewayRouteTableVpcAssociationId | None
    LocalGatewayRouteTableId: String | None
    LocalGatewayRouteTableArn: ResourceArn | None
    LocalGatewayId: String | None
    VpcId: String | None
    OwnerId: String | None
    State: String | None
    Tags: TagList | None


class CreateLocalGatewayRouteTableVpcAssociationResult(TypedDict, total=False):
    LocalGatewayRouteTableVpcAssociation: LocalGatewayRouteTableVpcAssociation | None


class CreateLocalGatewayVirtualInterfaceGroupRequest(ServiceRequest):
    LocalGatewayId: LocalGatewayId
    LocalBgpAsn: Integer | None
    LocalBgpAsnExtended: Long | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


LocalGatewayVirtualInterfaceIdSet = list[LocalGatewayVirtualInterfaceId]


class LocalGatewayVirtualInterfaceGroup(TypedDict, total=False):
    LocalGatewayVirtualInterfaceGroupId: LocalGatewayVirtualInterfaceGroupId | None
    LocalGatewayVirtualInterfaceIds: LocalGatewayVirtualInterfaceIdSet | None
    LocalGatewayId: String | None
    OwnerId: String | None
    LocalBgpAsn: Integer | None
    LocalBgpAsnExtended: Long | None
    LocalGatewayVirtualInterfaceGroupArn: ResourceArn | None
    Tags: TagList | None
    ConfigurationState: LocalGatewayVirtualInterfaceGroupConfigurationState | None


class CreateLocalGatewayVirtualInterfaceGroupResult(TypedDict, total=False):
    LocalGatewayVirtualInterfaceGroup: LocalGatewayVirtualInterfaceGroup | None


class CreateLocalGatewayVirtualInterfaceRequest(ServiceRequest):
    LocalGatewayVirtualInterfaceGroupId: LocalGatewayVirtualInterfaceGroupId
    OutpostLagId: OutpostLagId
    Vlan: Integer
    LocalAddress: String
    PeerAddress: String
    PeerBgpAsn: Integer | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None
    PeerBgpAsnExtended: Long | None


class LocalGatewayVirtualInterface(TypedDict, total=False):
    LocalGatewayVirtualInterfaceId: LocalGatewayVirtualInterfaceId | None
    LocalGatewayId: String | None
    LocalGatewayVirtualInterfaceGroupId: LocalGatewayVirtualInterfaceGroupId | None
    LocalGatewayVirtualInterfaceArn: ResourceArn | None
    OutpostLagId: String | None
    Vlan: Integer | None
    LocalAddress: String | None
    PeerAddress: String | None
    LocalBgpAsn: Integer | None
    PeerBgpAsn: Integer | None
    PeerBgpAsnExtended: Long | None
    OwnerId: String | None
    Tags: TagList | None
    ConfigurationState: LocalGatewayVirtualInterfaceConfigurationState | None


class CreateLocalGatewayVirtualInterfaceResult(TypedDict, total=False):
    LocalGatewayVirtualInterface: LocalGatewayVirtualInterface | None


class MacSystemIntegrityProtectionConfigurationRequest(TypedDict, total=False):
    AppleInternal: MacSystemIntegrityProtectionSettingStatus | None
    BaseSystem: MacSystemIntegrityProtectionSettingStatus | None
    DebuggingRestrictions: MacSystemIntegrityProtectionSettingStatus | None
    DTraceRestrictions: MacSystemIntegrityProtectionSettingStatus | None
    FilesystemProtections: MacSystemIntegrityProtectionSettingStatus | None
    KextSigning: MacSystemIntegrityProtectionSettingStatus | None
    NvramProtections: MacSystemIntegrityProtectionSettingStatus | None


class CreateMacSystemIntegrityProtectionModificationTaskRequest(ServiceRequest):
    ClientToken: String | None
    DryRun: Boolean | None
    InstanceId: InstanceId
    MacCredentials: SensitiveMacCredentials | None
    MacSystemIntegrityProtectionConfiguration: (
        MacSystemIntegrityProtectionConfigurationRequest | None
    )
    MacSystemIntegrityProtectionStatus: MacSystemIntegrityProtectionSettingStatus
    TagSpecifications: TagSpecificationList | None


class CreateMacSystemIntegrityProtectionModificationTaskResult(TypedDict, total=False):
    MacModificationTask: MacModificationTask | None


class CreateManagedPrefixListRequest(ServiceRequest):
    DryRun: Boolean | None
    PrefixListName: String
    Entries: AddPrefixListEntries | None
    MaxEntries: Integer
    TagSpecifications: TagSpecificationList | None
    AddressFamily: String
    ClientToken: String | None


class ManagedPrefixList(TypedDict, total=False):
    PrefixListId: PrefixListResourceId | None
    AddressFamily: String | None
    State: PrefixListState | None
    StateMessage: String | None
    PrefixListArn: ResourceArn | None
    PrefixListName: String | None
    MaxEntries: Integer | None
    Version: Long | None
    Tags: TagList | None
    OwnerId: String | None
    IpamPrefixListResolverTargetId: String | None
    IpamPrefixListResolverSyncEnabled: Boolean | None


class CreateManagedPrefixListResult(TypedDict, total=False):
    PrefixList: ManagedPrefixList | None


class CreateNatGatewayRequest(ServiceRequest):
    AvailabilityMode: AvailabilityMode | None
    AllocationId: AllocationId | None
    ClientToken: String | None
    DryRun: Boolean | None
    SubnetId: SubnetId | None
    VpcId: VpcId | None
    AvailabilityZoneAddresses: AvailabilityZoneAddresses | None
    TagSpecifications: TagSpecificationList | None
    ConnectivityType: ConnectivityType | None
    PrivateIpAddress: String | None
    SecondaryAllocationIds: AllocationIdList | None
    SecondaryPrivateIpAddresses: IpList | None
    SecondaryPrivateIpAddressCount: PrivateIpAddressCount | None


class NatGatewayAttachedAppliance(TypedDict, total=False):
    Type: NatGatewayApplianceType | None
    ApplianceArn: String | None
    VpcEndpointId: String | None
    AttachmentState: NatGatewayApplianceState | None
    ModificationState: NatGatewayApplianceModifyState | None
    FailureCode: String | None
    FailureMessage: String | None


NatGatewayAttachedApplianceList = list[NatGatewayAttachedAppliance]


class ProvisionedBandwidth(TypedDict, total=False):
    ProvisionTime: DateTime | None
    Provisioned: String | None
    RequestTime: DateTime | None
    Requested: String | None
    Status: String | None


class NatGateway(TypedDict, total=False):
    CreateTime: DateTime | None
    DeleteTime: DateTime | None
    FailureCode: String | None
    FailureMessage: String | None
    NatGatewayAddresses: NatGatewayAddressList | None
    NatGatewayId: String | None
    ProvisionedBandwidth: ProvisionedBandwidth | None
    State: NatGatewayState | None
    SubnetId: String | None
    VpcId: String | None
    Tags: TagList | None
    ConnectivityType: ConnectivityType | None
    AvailabilityMode: AvailabilityMode | None
    AutoScalingIps: AutoScalingIpsState | None
    AutoProvisionZones: AutoProvisionZonesState | None
    AttachedAppliances: NatGatewayAttachedApplianceList | None
    RouteTableId: String | None


class CreateNatGatewayResult(TypedDict, total=False):
    ClientToken: String | None
    NatGateway: NatGateway | None


class IcmpTypeCode(TypedDict, total=False):
    Code: Integer | None
    Type: Integer | None


class CreateNetworkAclEntryRequest(ServiceRequest):
    DryRun: Boolean | None
    NetworkAclId: NetworkAclId
    RuleNumber: Integer
    Protocol: String
    RuleAction: RuleAction
    Egress: Boolean
    CidrBlock: String | None
    Ipv6CidrBlock: String | None
    IcmpTypeCode: IcmpTypeCode | None
    PortRange: PortRange | None


class CreateNetworkAclRequest(ServiceRequest):
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None
    DryRun: Boolean | None
    VpcId: VpcId


class NetworkAclEntry(TypedDict, total=False):
    CidrBlock: String | None
    Egress: Boolean | None
    IcmpTypeCode: IcmpTypeCode | None
    Ipv6CidrBlock: String | None
    PortRange: PortRange | None
    Protocol: String | None
    RuleAction: RuleAction | None
    RuleNumber: Integer | None


NetworkAclEntryList = list[NetworkAclEntry]


class NetworkAclAssociation(TypedDict, total=False):
    NetworkAclAssociationId: String | None
    NetworkAclId: String | None
    SubnetId: String | None


NetworkAclAssociationList = list[NetworkAclAssociation]


class NetworkAcl(TypedDict, total=False):
    Associations: NetworkAclAssociationList | None
    Entries: NetworkAclEntryList | None
    IsDefault: Boolean | None
    NetworkAclId: String | None
    Tags: TagList | None
    VpcId: String | None
    OwnerId: String | None


class CreateNetworkAclResult(TypedDict, total=False):
    NetworkAcl: NetworkAcl | None
    ClientToken: String | None


class CreateNetworkInsightsAccessScopeRequest(ServiceRequest):
    MatchPaths: AccessScopePathListRequest | None
    ExcludePaths: AccessScopePathListRequest | None
    ClientToken: String
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class NetworkInsightsAccessScopeContent(TypedDict, total=False):
    NetworkInsightsAccessScopeId: NetworkInsightsAccessScopeId | None
    MatchPaths: AccessScopePathList | None
    ExcludePaths: AccessScopePathList | None


class NetworkInsightsAccessScope(TypedDict, total=False):
    NetworkInsightsAccessScopeId: NetworkInsightsAccessScopeId | None
    NetworkInsightsAccessScopeArn: ResourceArn | None
    CreatedDate: MillisecondDateTime | None
    UpdatedDate: MillisecondDateTime | None
    Tags: TagList | None


class CreateNetworkInsightsAccessScopeResult(TypedDict, total=False):
    NetworkInsightsAccessScope: NetworkInsightsAccessScope | None
    NetworkInsightsAccessScopeContent: NetworkInsightsAccessScopeContent | None


class RequestFilterPortRange(TypedDict, total=False):
    FromPort: Port | None
    ToPort: Port | None


class PathRequestFilter(TypedDict, total=False):
    SourceAddress: IpAddress | None
    SourcePortRange: RequestFilterPortRange | None
    DestinationAddress: IpAddress | None
    DestinationPortRange: RequestFilterPortRange | None


class CreateNetworkInsightsPathRequest(ServiceRequest):
    SourceIp: IpAddress | None
    DestinationIp: IpAddress | None
    Source: NetworkInsightsResourceId
    Destination: NetworkInsightsResourceId | None
    Protocol: Protocol
    DestinationPort: Port | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None
    ClientToken: String
    FilterAtSource: PathRequestFilter | None
    FilterAtDestination: PathRequestFilter | None


class FilterPortRange(TypedDict, total=False):
    FromPort: Port | None
    ToPort: Port | None


class PathFilter(TypedDict, total=False):
    SourceAddress: IpAddress | None
    SourcePortRange: FilterPortRange | None
    DestinationAddress: IpAddress | None
    DestinationPortRange: FilterPortRange | None


class NetworkInsightsPath(TypedDict, total=False):
    NetworkInsightsPathId: NetworkInsightsPathId | None
    NetworkInsightsPathArn: ResourceArn | None
    CreatedDate: MillisecondDateTime | None
    Source: String | None
    Destination: String | None
    SourceArn: ResourceArn | None
    DestinationArn: ResourceArn | None
    SourceIp: IpAddress | None
    DestinationIp: IpAddress | None
    Protocol: Protocol | None
    DestinationPort: Integer | None
    Tags: TagList | None
    FilterAtSource: PathFilter | None
    FilterAtDestination: PathFilter | None


class CreateNetworkInsightsPathResult(TypedDict, total=False):
    NetworkInsightsPath: NetworkInsightsPath | None


class CreateNetworkInterfacePermissionRequest(ServiceRequest):
    NetworkInterfaceId: NetworkInterfaceId
    AwsAccountId: String | None
    AwsService: String | None
    Permission: InterfacePermissionType
    DryRun: Boolean | None


class NetworkInterfacePermissionState(TypedDict, total=False):
    State: NetworkInterfacePermissionStateCode | None
    StatusMessage: String | None


class NetworkInterfacePermission(TypedDict, total=False):
    NetworkInterfacePermissionId: String | None
    NetworkInterfaceId: String | None
    AwsAccountId: String | None
    AwsService: String | None
    Permission: InterfacePermissionType | None
    PermissionState: NetworkInterfacePermissionState | None


class CreateNetworkInterfacePermissionResult(TypedDict, total=False):
    InterfacePermission: NetworkInterfacePermission | None


class CreateNetworkInterfaceRequest(ServiceRequest):
    Ipv4Prefixes: Ipv4PrefixList | None
    Ipv4PrefixCount: Integer | None
    Ipv6Prefixes: Ipv6PrefixList | None
    Ipv6PrefixCount: Integer | None
    InterfaceType: NetworkInterfaceCreationType | None
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None
    EnablePrimaryIpv6: Boolean | None
    ConnectionTrackingSpecification: ConnectionTrackingSpecificationRequest | None
    Operator: OperatorRequest | None
    SubnetId: SubnetId
    Description: String | None
    PrivateIpAddress: String | None
    Groups: SecurityGroupIdStringList | None
    PrivateIpAddresses: PrivateIpAddressSpecificationList | None
    SecondaryPrivateIpAddressCount: Integer | None
    Ipv6Addresses: InstanceIpv6AddressList | None
    Ipv6AddressCount: Integer | None
    DryRun: Boolean | None


class Ipv6PrefixSpecification(TypedDict, total=False):
    Ipv6Prefix: String | None


Ipv6PrefixesList = list[Ipv6PrefixSpecification]


class NetworkInterfaceAssociation(TypedDict, total=False):
    AllocationId: String | None
    AssociationId: String | None
    IpOwnerId: String | None
    PublicDnsName: String | None
    PublicIp: String | None
    CustomerOwnedIp: String | None
    CarrierIp: String | None


class NetworkInterfacePrivateIpAddress(TypedDict, total=False):
    Association: NetworkInterfaceAssociation | None
    Primary: Boolean | None
    PrivateDnsName: String | None
    PrivateIpAddress: String | None


NetworkInterfacePrivateIpAddressList = list[NetworkInterfacePrivateIpAddress]


class PublicIpDnsNameOptions(TypedDict, total=False):
    DnsHostnameType: String | None
    PublicIpv4DnsName: String | None
    PublicIpv6DnsName: String | None
    PublicDualStackDnsName: String | None


class NetworkInterfaceIpv6Address(TypedDict, total=False):
    Ipv6Address: String | None
    PublicIpv6DnsName: String | None
    IsPrimaryIpv6: Boolean | None


NetworkInterfaceIpv6AddressesList = list[NetworkInterfaceIpv6Address]


class NetworkInterfaceAttachment(TypedDict, total=False):
    AttachTime: DateTime | None
    AttachmentId: String | None
    DeleteOnTermination: Boolean | None
    DeviceIndex: Integer | None
    NetworkCardIndex: Integer | None
    InstanceId: String | None
    InstanceOwnerId: String | None
    Status: AttachmentStatus | None
    EnaSrdSpecification: AttachmentEnaSrdSpecification | None
    EnaQueueCount: Integer | None


class NetworkInterface(TypedDict, total=False):
    Association: NetworkInterfaceAssociation | None
    Attachment: NetworkInterfaceAttachment | None
    AvailabilityZone: String | None
    ConnectionTrackingConfiguration: ConnectionTrackingConfiguration | None
    Description: String | None
    Groups: GroupIdentifierList | None
    InterfaceType: NetworkInterfaceType | None
    Ipv6Addresses: NetworkInterfaceIpv6AddressesList | None
    MacAddress: String | None
    NetworkInterfaceId: String | None
    OutpostArn: String | None
    OwnerId: String | None
    PrivateDnsName: String | None
    PublicDnsName: String | None
    PublicIpDnsNameOptions: PublicIpDnsNameOptions | None
    PrivateIpAddress: String | None
    PrivateIpAddresses: NetworkInterfacePrivateIpAddressList | None
    Ipv4Prefixes: Ipv4PrefixesList | None
    Ipv6Prefixes: Ipv6PrefixesList | None
    RequesterId: String | None
    RequesterManaged: Boolean | None
    SourceDestCheck: Boolean | None
    Status: NetworkInterfaceStatus | None
    SubnetId: String | None
    TagSet: TagList | None
    VpcId: String | None
    DenyAllIgwTraffic: Boolean | None
    Ipv6Native: Boolean | None
    Ipv6Address: String | None
    Operator: OperatorResponse | None
    AssociatedSubnets: AssociatedSubnetList | None
    AvailabilityZoneId: String | None


class CreateNetworkInterfaceResult(TypedDict, total=False):
    NetworkInterface: NetworkInterface | None
    ClientToken: String | None


class CreatePlacementGroupRequest(ServiceRequest):
    PartitionCount: Integer | None
    TagSpecifications: TagSpecificationList | None
    SpreadLevel: SpreadLevel | None
    LinkedGroupId: PlacementGroupId | None
    DryRun: Boolean | None
    GroupName: String | None
    Strategy: PlacementStrategy | None


class PlacementGroup(TypedDict, total=False):
    GroupName: String | None
    State: PlacementGroupState | None
    Strategy: PlacementStrategy | None
    PartitionCount: Integer | None
    GroupId: String | None
    Tags: TagList | None
    GroupArn: String | None
    SpreadLevel: SpreadLevel | None
    LinkedGroupId: PlacementGroupId | None


class CreatePlacementGroupResult(TypedDict, total=False):
    PlacementGroup: PlacementGroup | None


class CreatePublicIpv4PoolRequest(ServiceRequest):
    DryRun: Boolean | None
    TagSpecifications: TagSpecificationList | None
    NetworkBorderGroup: String | None


class CreatePublicIpv4PoolResult(TypedDict, total=False):
    PoolId: Ipv4PoolEc2Id | None


class CreateReplaceRootVolumeTaskRequest(ServiceRequest):
    InstanceId: InstanceId
    SnapshotId: SnapshotId | None
    ClientToken: String | None
    DryRun: Boolean | None
    TagSpecifications: TagSpecificationList | None
    ImageId: ImageId | None
    DeleteReplacedRootVolume: Boolean | None
    VolumeInitializationRate: Long | None


class ReplaceRootVolumeTask(TypedDict, total=False):
    ReplaceRootVolumeTaskId: ReplaceRootVolumeTaskId | None
    InstanceId: String | None
    TaskState: ReplaceRootVolumeTaskState | None
    StartTime: String | None
    CompleteTime: String | None
    Tags: TagList | None
    ImageId: ImageId | None
    SnapshotId: SnapshotId | None
    DeleteReplacedRootVolume: Boolean | None


class CreateReplaceRootVolumeTaskResult(TypedDict, total=False):
    ReplaceRootVolumeTask: ReplaceRootVolumeTask | None


class PriceScheduleSpecification(TypedDict, total=False):
    Term: Long | None
    Price: Double | None
    CurrencyCode: CurrencyCodeValues | None


PriceScheduleSpecificationList = list[PriceScheduleSpecification]


class CreateReservedInstancesListingRequest(ServiceRequest):
    ReservedInstancesId: ReservationId
    InstanceCount: Integer
    PriceSchedules: PriceScheduleSpecificationList
    ClientToken: String


class CreateReservedInstancesListingResult(TypedDict, total=False):
    ReservedInstancesListings: ReservedInstancesListingList | None


class CreateRestoreImageTaskRequest(ServiceRequest):
    Bucket: String
    ObjectKey: String
    Name: String | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class CreateRestoreImageTaskResult(TypedDict, total=False):
    ImageId: String | None


class CreateRouteRequest(ServiceRequest):
    DestinationPrefixListId: PrefixListResourceId | None
    VpcEndpointId: VpcEndpointId | None
    TransitGatewayId: TransitGatewayId | None
    LocalGatewayId: LocalGatewayId | None
    CarrierGatewayId: CarrierGatewayId | None
    CoreNetworkArn: CoreNetworkArn | None
    OdbNetworkArn: OdbNetworkArn | None
    DryRun: Boolean | None
    RouteTableId: RouteTableId
    DestinationCidrBlock: String | None
    GatewayId: RouteGatewayId | None
    DestinationIpv6CidrBlock: String | None
    EgressOnlyInternetGatewayId: EgressOnlyInternetGatewayId | None
    InstanceId: InstanceId | None
    NetworkInterfaceId: NetworkInterfaceId | None
    VpcPeeringConnectionId: VpcPeeringConnectionId | None
    NatGatewayId: NatGatewayId | None


class CreateRouteResult(TypedDict, total=False):
    Return: Boolean | None


class CreateRouteServerEndpointRequest(ServiceRequest):
    RouteServerId: RouteServerId
    SubnetId: SubnetId
    ClientToken: String | None
    DryRun: Boolean | None
    TagSpecifications: TagSpecificationList | None


class RouteServerEndpoint(TypedDict, total=False):
    RouteServerId: RouteServerId | None
    RouteServerEndpointId: RouteServerEndpointId | None
    VpcId: VpcId | None
    SubnetId: SubnetId | None
    EniId: NetworkInterfaceId | None
    EniAddress: String | None
    State: RouteServerEndpointState | None
    FailureReason: String | None
    Tags: TagList | None


class CreateRouteServerEndpointResult(TypedDict, total=False):
    RouteServerEndpoint: RouteServerEndpoint | None


class RouteServerBgpOptionsRequest(TypedDict, total=False):
    PeerAsn: Long
    PeerLivenessDetection: RouteServerPeerLivenessMode | None


class CreateRouteServerPeerRequest(ServiceRequest):
    RouteServerEndpointId: RouteServerEndpointId
    PeerAddress: String
    BgpOptions: RouteServerBgpOptionsRequest
    DryRun: Boolean | None
    TagSpecifications: TagSpecificationList | None


class RouteServerBfdStatus(TypedDict, total=False):
    Status: RouteServerBfdState | None


class RouteServerBgpStatus(TypedDict, total=False):
    Status: RouteServerBgpState | None


class RouteServerBgpOptions(TypedDict, total=False):
    PeerAsn: Long | None
    PeerLivenessDetection: RouteServerPeerLivenessMode | None


class RouteServerPeer(TypedDict, total=False):
    RouteServerPeerId: RouteServerPeerId | None
    RouteServerEndpointId: RouteServerEndpointId | None
    RouteServerId: RouteServerId | None
    VpcId: VpcId | None
    SubnetId: SubnetId | None
    State: RouteServerPeerState | None
    FailureReason: String | None
    EndpointEniId: NetworkInterfaceId | None
    EndpointEniAddress: String | None
    PeerAddress: String | None
    BgpOptions: RouteServerBgpOptions | None
    BgpStatus: RouteServerBgpStatus | None
    BfdStatus: RouteServerBfdStatus | None
    Tags: TagList | None


class CreateRouteServerPeerResult(TypedDict, total=False):
    RouteServerPeer: RouteServerPeer | None


class CreateRouteServerRequest(ServiceRequest):
    AmazonSideAsn: Long
    ClientToken: String | None
    DryRun: Boolean | None
    PersistRoutes: RouteServerPersistRoutesAction | None
    PersistRoutesDuration: BoxedLong | None
    SnsNotificationsEnabled: Boolean | None
    TagSpecifications: TagSpecificationList | None


class RouteServer(TypedDict, total=False):
    RouteServerId: RouteServerId | None
    AmazonSideAsn: Long | None
    State: RouteServerState | None
    Tags: TagList | None
    PersistRoutesState: RouteServerPersistRoutesState | None
    PersistRoutesDuration: BoxedLong | None
    SnsNotificationsEnabled: Boolean | None
    SnsTopicArn: String | None


class CreateRouteServerResult(TypedDict, total=False):
    RouteServer: RouteServer | None


class CreateRouteTableRequest(ServiceRequest):
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None
    DryRun: Boolean | None
    VpcId: VpcId


class Route(TypedDict, total=False):
    DestinationCidrBlock: String | None
    DestinationIpv6CidrBlock: String | None
    DestinationPrefixListId: String | None
    EgressOnlyInternetGatewayId: String | None
    GatewayId: String | None
    InstanceId: String | None
    InstanceOwnerId: String | None
    NatGatewayId: String | None
    TransitGatewayId: String | None
    LocalGatewayId: String | None
    CarrierGatewayId: CarrierGatewayId | None
    NetworkInterfaceId: String | None
    Origin: RouteOrigin | None
    State: RouteState | None
    VpcPeeringConnectionId: String | None
    CoreNetworkArn: CoreNetworkArn | None
    OdbNetworkArn: OdbNetworkArn | None
    IpAddress: String | None


RouteList = list[Route]


class PropagatingVgw(TypedDict, total=False):
    GatewayId: String | None


PropagatingVgwList = list[PropagatingVgw]


class RouteTableAssociation(TypedDict, total=False):
    Main: Boolean | None
    RouteTableAssociationId: String | None
    RouteTableId: String | None
    SubnetId: String | None
    GatewayId: String | None
    PublicIpv4Pool: String | None
    AssociationState: RouteTableAssociationState | None


RouteTableAssociationList = list[RouteTableAssociation]


class RouteTable(TypedDict, total=False):
    Associations: RouteTableAssociationList | None
    PropagatingVgws: PropagatingVgwList | None
    RouteTableId: String | None
    Routes: RouteList | None
    Tags: TagList | None
    VpcId: String | None
    OwnerId: String | None


class CreateRouteTableResult(TypedDict, total=False):
    RouteTable: RouteTable | None
    ClientToken: String | None


class CreateSecurityGroupRequest(ServiceRequest):
    Description: String
    GroupName: String
    VpcId: VpcId | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class CreateSecurityGroupResult(TypedDict, total=False):
    GroupId: String | None
    Tags: TagList | None
    SecurityGroupArn: String | None


class CreateSnapshotRequest(ServiceRequest):
    Description: String | None
    OutpostArn: String | None
    VolumeId: VolumeId
    TagSpecifications: TagSpecificationList | None
    Location: SnapshotLocationEnum | None
    DryRun: Boolean | None


VolumeIdStringList = list[VolumeId]


class InstanceSpecification(TypedDict, total=False):
    InstanceId: InstanceIdWithVolumeResolver
    ExcludeBootVolume: Boolean | None
    ExcludeDataVolumeIds: VolumeIdStringList | None


class CreateSnapshotsRequest(ServiceRequest):
    Description: String | None
    InstanceSpecification: InstanceSpecification
    OutpostArn: String | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None
    CopyTagsFromSource: CopyTagsFromSource | None
    Location: SnapshotLocationEnum | None


class SnapshotInfo(TypedDict, total=False):
    Description: String | None
    Tags: TagList | None
    Encrypted: Boolean | None
    VolumeId: String | None
    State: SnapshotState | None
    VolumeSize: Integer | None
    StartTime: MillisecondDateTime | None
    Progress: String | None
    OwnerId: String | None
    SnapshotId: String | None
    OutpostArn: String | None
    SseType: SSEType | None
    AvailabilityZone: String | None


SnapshotSet = list[SnapshotInfo]


class CreateSnapshotsResult(TypedDict, total=False):
    Snapshots: SnapshotSet | None


class CreateSpotDatafeedSubscriptionRequest(ServiceRequest):
    DryRun: Boolean | None
    Bucket: String
    Prefix: String | None


class SpotInstanceStateFault(TypedDict, total=False):
    Code: String | None
    Message: String | None


class SpotDatafeedSubscription(TypedDict, total=False):
    Bucket: String | None
    Fault: SpotInstanceStateFault | None
    OwnerId: String | None
    Prefix: String | None
    State: DatafeedSubscriptionState | None


class CreateSpotDatafeedSubscriptionResult(TypedDict, total=False):
    SpotDatafeedSubscription: SpotDatafeedSubscription | None


class S3ObjectTag(TypedDict, total=False):
    Key: String | None
    Value: String | None


S3ObjectTagList = list[S3ObjectTag]


class CreateStoreImageTaskRequest(ServiceRequest):
    ImageId: ImageId
    Bucket: String
    S3ObjectTags: S3ObjectTagList | None
    DryRun: Boolean | None


class CreateStoreImageTaskResult(TypedDict, total=False):
    ObjectKey: String | None


class CreateSubnetCidrReservationRequest(ServiceRequest):
    SubnetId: SubnetId
    Cidr: String
    ReservationType: SubnetCidrReservationType
    Description: String | None
    DryRun: Boolean | None
    TagSpecifications: TagSpecificationList | None


class SubnetCidrReservation(TypedDict, total=False):
    SubnetCidrReservationId: SubnetCidrReservationId | None
    SubnetId: SubnetId | None
    Cidr: String | None
    ReservationType: SubnetCidrReservationType | None
    OwnerId: String | None
    Description: String | None
    Tags: TagList | None


class CreateSubnetCidrReservationResult(TypedDict, total=False):
    SubnetCidrReservation: SubnetCidrReservation | None


class CreateSubnetRequest(ServiceRequest):
    TagSpecifications: TagSpecificationList | None
    AvailabilityZone: String | None
    AvailabilityZoneId: String | None
    CidrBlock: String | None
    Ipv6CidrBlock: String | None
    OutpostArn: String | None
    VpcId: VpcId
    Ipv6Native: Boolean | None
    Ipv4IpamPoolId: IpamPoolId | None
    Ipv4NetmaskLength: NetmaskLength | None
    Ipv6IpamPoolId: IpamPoolId | None
    Ipv6NetmaskLength: NetmaskLength | None
    DryRun: Boolean | None


class CreateSubnetResult(TypedDict, total=False):
    Subnet: Subnet | None


ResourceIdList = list[TaggableResourceId]


class CreateTagsRequest(ServiceRequest):
    DryRun: Boolean | None
    Resources: ResourceIdList
    Tags: TagList


class CreateTrafficMirrorFilterRequest(ServiceRequest):
    Description: String | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None
    ClientToken: String | None


TrafficMirrorNetworkServiceList = list[TrafficMirrorNetworkService]


class TrafficMirrorPortRange(TypedDict, total=False):
    FromPort: Integer | None
    ToPort: Integer | None


class TrafficMirrorFilterRule(TypedDict, total=False):
    TrafficMirrorFilterRuleId: String | None
    TrafficMirrorFilterId: String | None
    TrafficDirection: TrafficDirection | None
    RuleNumber: Integer | None
    RuleAction: TrafficMirrorRuleAction | None
    Protocol: Integer | None
    DestinationPortRange: TrafficMirrorPortRange | None
    SourcePortRange: TrafficMirrorPortRange | None
    DestinationCidrBlock: String | None
    SourceCidrBlock: String | None
    Description: String | None
    Tags: TagList | None


TrafficMirrorFilterRuleList = list[TrafficMirrorFilterRule]


class TrafficMirrorFilter(TypedDict, total=False):
    TrafficMirrorFilterId: String | None
    IngressFilterRules: TrafficMirrorFilterRuleList | None
    EgressFilterRules: TrafficMirrorFilterRuleList | None
    NetworkServices: TrafficMirrorNetworkServiceList | None
    Description: String | None
    Tags: TagList | None


class CreateTrafficMirrorFilterResult(TypedDict, total=False):
    TrafficMirrorFilter: TrafficMirrorFilter | None
    ClientToken: String | None


class TrafficMirrorPortRangeRequest(TypedDict, total=False):
    FromPort: Integer | None
    ToPort: Integer | None


class CreateTrafficMirrorFilterRuleRequest(ServiceRequest):
    TrafficMirrorFilterId: TrafficMirrorFilterId
    TrafficDirection: TrafficDirection
    RuleNumber: Integer
    RuleAction: TrafficMirrorRuleAction
    DestinationPortRange: TrafficMirrorPortRangeRequest | None
    SourcePortRange: TrafficMirrorPortRangeRequest | None
    Protocol: Integer | None
    DestinationCidrBlock: String
    SourceCidrBlock: String
    Description: String | None
    DryRun: Boolean | None
    ClientToken: String | None
    TagSpecifications: TagSpecificationList | None


class CreateTrafficMirrorFilterRuleResult(TypedDict, total=False):
    TrafficMirrorFilterRule: TrafficMirrorFilterRule | None
    ClientToken: String | None


class CreateTrafficMirrorSessionRequest(ServiceRequest):
    NetworkInterfaceId: NetworkInterfaceId
    TrafficMirrorTargetId: TrafficMirrorTargetId
    TrafficMirrorFilterId: TrafficMirrorFilterId
    PacketLength: Integer | None
    SessionNumber: Integer
    VirtualNetworkId: Integer | None
    Description: String | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None
    ClientToken: String | None


class TrafficMirrorSession(TypedDict, total=False):
    TrafficMirrorSessionId: String | None
    TrafficMirrorTargetId: String | None
    TrafficMirrorFilterId: String | None
    NetworkInterfaceId: String | None
    OwnerId: String | None
    PacketLength: Integer | None
    SessionNumber: Integer | None
    VirtualNetworkId: Integer | None
    Description: String | None
    Tags: TagList | None


class CreateTrafficMirrorSessionResult(TypedDict, total=False):
    TrafficMirrorSession: TrafficMirrorSession | None
    ClientToken: String | None


class CreateTrafficMirrorTargetRequest(ServiceRequest):
    NetworkInterfaceId: NetworkInterfaceId | None
    NetworkLoadBalancerArn: String | None
    Description: String | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None
    ClientToken: String | None
    GatewayLoadBalancerEndpointId: VpcEndpointId | None


class TrafficMirrorTarget(TypedDict, total=False):
    TrafficMirrorTargetId: String | None
    NetworkInterfaceId: String | None
    NetworkLoadBalancerArn: String | None
    Type: TrafficMirrorTargetType | None
    Description: String | None
    OwnerId: String | None
    Tags: TagList | None
    GatewayLoadBalancerEndpointId: String | None


class CreateTrafficMirrorTargetResult(TypedDict, total=False):
    TrafficMirrorTarget: TrafficMirrorTarget | None
    ClientToken: String | None


InsideCidrBlocksStringList = list[String]


class TransitGatewayConnectRequestBgpOptions(TypedDict, total=False):
    PeerAsn: Long | None


class CreateTransitGatewayConnectPeerRequest(ServiceRequest):
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    TransitGatewayAddress: String | None
    PeerAddress: String
    BgpOptions: TransitGatewayConnectRequestBgpOptions | None
    InsideCidrBlocks: InsideCidrBlocksStringList
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class TransitGatewayAttachmentBgpConfiguration(TypedDict, total=False):
    TransitGatewayAsn: Long | None
    PeerAsn: Long | None
    TransitGatewayAddress: String | None
    PeerAddress: String | None
    BgpStatus: BgpStatus | None


TransitGatewayAttachmentBgpConfigurationList = list[TransitGatewayAttachmentBgpConfiguration]


class TransitGatewayConnectPeerConfiguration(TypedDict, total=False):
    TransitGatewayAddress: String | None
    PeerAddress: String | None
    InsideCidrBlocks: InsideCidrBlocksStringList | None
    Protocol: ProtocolValue | None
    BgpConfigurations: TransitGatewayAttachmentBgpConfigurationList | None


class TransitGatewayConnectPeer(TypedDict, total=False):
    TransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    TransitGatewayConnectPeerId: TransitGatewayConnectPeerId | None
    State: TransitGatewayConnectPeerState | None
    CreationTime: DateTime | None
    ConnectPeerConfiguration: TransitGatewayConnectPeerConfiguration | None
    Tags: TagList | None


class CreateTransitGatewayConnectPeerResult(TypedDict, total=False):
    TransitGatewayConnectPeer: TransitGatewayConnectPeer | None


class CreateTransitGatewayConnectRequestOptions(TypedDict, total=False):
    Protocol: ProtocolValue


class CreateTransitGatewayConnectRequest(ServiceRequest):
    TransportTransitGatewayAttachmentId: TransitGatewayAttachmentId
    Options: CreateTransitGatewayConnectRequestOptions
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class TransitGatewayConnectOptions(TypedDict, total=False):
    Protocol: ProtocolValue | None


class TransitGatewayConnect(TypedDict, total=False):
    TransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    TransportTransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    TransitGatewayId: TransitGatewayId | None
    State: TransitGatewayAttachmentState | None
    CreationTime: DateTime | None
    Options: TransitGatewayConnectOptions | None
    Tags: TagList | None


class CreateTransitGatewayConnectResult(TypedDict, total=False):
    TransitGatewayConnect: TransitGatewayConnect | None


class CreateTransitGatewayMeteringPolicyEntryRequest(ServiceRequest):
    TransitGatewayMeteringPolicyId: TransitGatewayMeteringPolicyId
    PolicyRuleNumber: Integer
    SourceTransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    SourceTransitGatewayAttachmentType: TransitGatewayAttachmentResourceType | None
    SourceCidrBlock: String | None
    SourcePortRange: String | None
    DestinationTransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    DestinationTransitGatewayAttachmentType: TransitGatewayAttachmentResourceType | None
    DestinationCidrBlock: String | None
    DestinationPortRange: String | None
    Protocol: String | None
    MeteredAccount: TransitGatewayMeteringPayerType
    DryRun: Boolean | None


class TransitGatewayMeteringPolicyRule(TypedDict, total=False):
    SourceTransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    SourceTransitGatewayAttachmentType: TransitGatewayAttachmentResourceType | None
    SourceCidrBlock: String | None
    SourcePortRange: String | None
    DestinationTransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    DestinationTransitGatewayAttachmentType: TransitGatewayAttachmentResourceType | None
    DestinationCidrBlock: String | None
    DestinationPortRange: String | None
    Protocol: String | None


class TransitGatewayMeteringPolicyEntry(TypedDict, total=False):
    PolicyRuleNumber: String | None
    MeteredAccount: TransitGatewayMeteringPayerType | None
    State: TransitGatewayMeteringPolicyEntryState | None
    UpdatedAt: MillisecondDateTime | None
    UpdateEffectiveAt: MillisecondDateTime | None
    MeteringPolicyRule: TransitGatewayMeteringPolicyRule | None


class CreateTransitGatewayMeteringPolicyEntryResult(TypedDict, total=False):
    TransitGatewayMeteringPolicyEntry: TransitGatewayMeteringPolicyEntry | None


TransitGatewayAttachmentIdStringList = list[TransitGatewayAttachmentId]


class CreateTransitGatewayMeteringPolicyRequest(ServiceRequest):
    TransitGatewayId: TransitGatewayId
    MiddleboxAttachmentIds: TransitGatewayAttachmentIdStringList | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class TransitGatewayMeteringPolicy(TypedDict, total=False):
    TransitGatewayMeteringPolicyId: TransitGatewayMeteringPolicyId | None
    TransitGatewayId: TransitGatewayId | None
    MiddleboxAttachmentIds: ValueStringList | None
    State: TransitGatewayMeteringPolicyState | None
    UpdateEffectiveAt: MillisecondDateTime | None
    Tags: TagList | None


class CreateTransitGatewayMeteringPolicyResult(TypedDict, total=False):
    TransitGatewayMeteringPolicy: TransitGatewayMeteringPolicy | None


class CreateTransitGatewayMulticastDomainRequestOptions(TypedDict, total=False):
    Igmpv2Support: Igmpv2SupportValue | None
    StaticSourcesSupport: StaticSourcesSupportValue | None
    AutoAcceptSharedAssociations: AutoAcceptSharedAssociationsValue | None


class CreateTransitGatewayMulticastDomainRequest(ServiceRequest):
    TransitGatewayId: TransitGatewayId
    Options: CreateTransitGatewayMulticastDomainRequestOptions | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class TransitGatewayMulticastDomainOptions(TypedDict, total=False):
    Igmpv2Support: Igmpv2SupportValue | None
    StaticSourcesSupport: StaticSourcesSupportValue | None
    AutoAcceptSharedAssociations: AutoAcceptSharedAssociationsValue | None


class TransitGatewayMulticastDomain(TypedDict, total=False):
    TransitGatewayMulticastDomainId: String | None
    TransitGatewayId: String | None
    TransitGatewayMulticastDomainArn: String | None
    OwnerId: String | None
    Options: TransitGatewayMulticastDomainOptions | None
    State: TransitGatewayMulticastDomainState | None
    CreationTime: DateTime | None
    Tags: TagList | None


class CreateTransitGatewayMulticastDomainResult(TypedDict, total=False):
    TransitGatewayMulticastDomain: TransitGatewayMulticastDomain | None


class CreateTransitGatewayPeeringAttachmentRequestOptions(TypedDict, total=False):
    DynamicRouting: DynamicRoutingValue | None


class CreateTransitGatewayPeeringAttachmentRequest(ServiceRequest):
    TransitGatewayId: TransitGatewayId
    PeerTransitGatewayId: TransitAssociationGatewayId
    PeerAccountId: String
    PeerRegion: String
    Options: CreateTransitGatewayPeeringAttachmentRequestOptions | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class CreateTransitGatewayPeeringAttachmentResult(TypedDict, total=False):
    TransitGatewayPeeringAttachment: TransitGatewayPeeringAttachment | None


class CreateTransitGatewayPolicyTableRequest(ServiceRequest):
    TransitGatewayId: TransitGatewayId
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class TransitGatewayPolicyTable(TypedDict, total=False):
    TransitGatewayPolicyTableId: TransitGatewayPolicyTableId | None
    TransitGatewayId: TransitGatewayId | None
    State: TransitGatewayPolicyTableState | None
    CreationTime: DateTime | None
    Tags: TagList | None


class CreateTransitGatewayPolicyTableResult(TypedDict, total=False):
    TransitGatewayPolicyTable: TransitGatewayPolicyTable | None


class CreateTransitGatewayPrefixListReferenceRequest(ServiceRequest):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    PrefixListId: PrefixListResourceId
    TransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    Blackhole: Boolean | None
    DryRun: Boolean | None


class TransitGatewayPrefixListAttachment(TypedDict, total=False):
    TransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    ResourceType: TransitGatewayAttachmentResourceType | None
    ResourceId: String | None


class TransitGatewayPrefixListReference(TypedDict, total=False):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId | None
    PrefixListId: PrefixListResourceId | None
    PrefixListOwnerId: String | None
    State: TransitGatewayPrefixListReferenceState | None
    Blackhole: Boolean | None
    TransitGatewayAttachment: TransitGatewayPrefixListAttachment | None


class CreateTransitGatewayPrefixListReferenceResult(TypedDict, total=False):
    TransitGatewayPrefixListReference: TransitGatewayPrefixListReference | None


TransitGatewayCidrBlockStringList = list[String]


class TransitGatewayRequestOptions(TypedDict, total=False):
    AmazonSideAsn: Long | None
    AutoAcceptSharedAttachments: AutoAcceptSharedAttachmentsValue | None
    DefaultRouteTableAssociation: DefaultRouteTableAssociationValue | None
    DefaultRouteTablePropagation: DefaultRouteTablePropagationValue | None
    VpnEcmpSupport: VpnEcmpSupportValue | None
    DnsSupport: DnsSupportValue | None
    SecurityGroupReferencingSupport: SecurityGroupReferencingSupportValue | None
    MulticastSupport: MulticastSupportValue | None
    TransitGatewayCidrBlocks: TransitGatewayCidrBlockStringList | None


class CreateTransitGatewayRequest(ServiceRequest):
    Description: String | None
    Options: TransitGatewayRequestOptions | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class EncryptionSupport(TypedDict, total=False):
    EncryptionState: EncryptionStateValue | None
    StateMessage: String | None


class TransitGatewayOptions(TypedDict, total=False):
    AmazonSideAsn: Long | None
    TransitGatewayCidrBlocks: ValueStringList | None
    AutoAcceptSharedAttachments: AutoAcceptSharedAttachmentsValue | None
    DefaultRouteTableAssociation: DefaultRouteTableAssociationValue | None
    AssociationDefaultRouteTableId: String | None
    DefaultRouteTablePropagation: DefaultRouteTablePropagationValue | None
    PropagationDefaultRouteTableId: String | None
    VpnEcmpSupport: VpnEcmpSupportValue | None
    DnsSupport: DnsSupportValue | None
    SecurityGroupReferencingSupport: SecurityGroupReferencingSupportValue | None
    MulticastSupport: MulticastSupportValue | None
    EncryptionSupport: EncryptionSupport | None


class TransitGateway(TypedDict, total=False):
    TransitGatewayId: String | None
    TransitGatewayArn: String | None
    State: TransitGatewayState | None
    OwnerId: String | None
    Description: String | None
    CreationTime: DateTime | None
    Options: TransitGatewayOptions | None
    Tags: TagList | None


class CreateTransitGatewayResult(TypedDict, total=False):
    TransitGateway: TransitGateway | None


class CreateTransitGatewayRouteRequest(ServiceRequest):
    DestinationCidrBlock: String
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    TransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    Blackhole: Boolean | None
    DryRun: Boolean | None


class TransitGatewayRouteAttachment(TypedDict, total=False):
    ResourceId: String | None
    TransitGatewayAttachmentId: String | None
    ResourceType: TransitGatewayAttachmentResourceType | None


TransitGatewayRouteAttachmentList = list[TransitGatewayRouteAttachment]


class TransitGatewayRoute(TypedDict, total=False):
    DestinationCidrBlock: String | None
    PrefixListId: PrefixListResourceId | None
    TransitGatewayRouteTableAnnouncementId: TransitGatewayRouteTableAnnouncementId | None
    TransitGatewayAttachments: TransitGatewayRouteAttachmentList | None
    Type: TransitGatewayRouteType | None
    State: TransitGatewayRouteState | None


class CreateTransitGatewayRouteResult(TypedDict, total=False):
    Route: TransitGatewayRoute | None


class CreateTransitGatewayRouteTableAnnouncementRequest(ServiceRequest):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    PeeringAttachmentId: TransitGatewayAttachmentId
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class TransitGatewayRouteTableAnnouncement(TypedDict, total=False):
    TransitGatewayRouteTableAnnouncementId: TransitGatewayRouteTableAnnouncementId | None
    TransitGatewayId: TransitGatewayId | None
    CoreNetworkId: String | None
    PeerTransitGatewayId: TransitGatewayId | None
    PeerCoreNetworkId: String | None
    PeeringAttachmentId: TransitGatewayAttachmentId | None
    AnnouncementDirection: TransitGatewayRouteTableAnnouncementDirection | None
    TransitGatewayRouteTableId: TransitGatewayRouteTableId | None
    State: TransitGatewayRouteTableAnnouncementState | None
    CreationTime: DateTime | None
    Tags: TagList | None


class CreateTransitGatewayRouteTableAnnouncementResult(TypedDict, total=False):
    TransitGatewayRouteTableAnnouncement: TransitGatewayRouteTableAnnouncement | None


class CreateTransitGatewayRouteTableRequest(ServiceRequest):
    TransitGatewayId: TransitGatewayId
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class TransitGatewayRouteTable(TypedDict, total=False):
    TransitGatewayRouteTableId: String | None
    TransitGatewayId: String | None
    State: TransitGatewayRouteTableState | None
    DefaultAssociationRouteTable: Boolean | None
    DefaultPropagationRouteTable: Boolean | None
    CreationTime: DateTime | None
    Tags: TagList | None


class CreateTransitGatewayRouteTableResult(TypedDict, total=False):
    TransitGatewayRouteTable: TransitGatewayRouteTable | None


class CreateTransitGatewayVpcAttachmentRequestOptions(TypedDict, total=False):
    DnsSupport: DnsSupportValue | None
    SecurityGroupReferencingSupport: SecurityGroupReferencingSupportValue | None
    Ipv6Support: Ipv6SupportValue | None
    ApplianceModeSupport: ApplianceModeSupportValue | None


class CreateTransitGatewayVpcAttachmentRequest(ServiceRequest):
    TransitGatewayId: TransitGatewayId
    VpcId: VpcId
    SubnetIds: TransitGatewaySubnetIdList
    Options: CreateTransitGatewayVpcAttachmentRequestOptions | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class CreateTransitGatewayVpcAttachmentResult(TypedDict, total=False):
    TransitGatewayVpcAttachment: TransitGatewayVpcAttachment | None


class CreateVerifiedAccessEndpointPortRange(TypedDict, total=False):
    FromPort: VerifiedAccessEndpointPortNumber | None
    ToPort: VerifiedAccessEndpointPortNumber | None


CreateVerifiedAccessEndpointPortRangeList = list[CreateVerifiedAccessEndpointPortRange]
CreateVerifiedAccessEndpointSubnetIdList = list[SubnetId]


class CreateVerifiedAccessEndpointCidrOptions(TypedDict, total=False):
    Protocol: VerifiedAccessEndpointProtocol | None
    SubnetIds: CreateVerifiedAccessEndpointSubnetIdList | None
    Cidr: String | None
    PortRanges: CreateVerifiedAccessEndpointPortRangeList | None


class CreateVerifiedAccessEndpointEniOptions(TypedDict, total=False):
    NetworkInterfaceId: NetworkInterfaceId | None
    Protocol: VerifiedAccessEndpointProtocol | None
    Port: VerifiedAccessEndpointPortNumber | None
    PortRanges: CreateVerifiedAccessEndpointPortRangeList | None


class CreateVerifiedAccessEndpointLoadBalancerOptions(TypedDict, total=False):
    Protocol: VerifiedAccessEndpointProtocol | None
    Port: VerifiedAccessEndpointPortNumber | None
    LoadBalancerArn: LoadBalancerArn | None
    SubnetIds: CreateVerifiedAccessEndpointSubnetIdList | None
    PortRanges: CreateVerifiedAccessEndpointPortRangeList | None


class CreateVerifiedAccessEndpointRdsOptions(TypedDict, total=False):
    Protocol: VerifiedAccessEndpointProtocol | None
    Port: VerifiedAccessEndpointPortNumber | None
    RdsDbInstanceArn: RdsDbInstanceArn | None
    RdsDbClusterArn: RdsDbClusterArn | None
    RdsDbProxyArn: RdsDbProxyArn | None
    RdsEndpoint: String | None
    SubnetIds: CreateVerifiedAccessEndpointSubnetIdList | None


class VerifiedAccessSseSpecificationRequest(TypedDict, total=False):
    CustomerManagedKeyEnabled: Boolean | None
    KmsKeyArn: KmsKeyArn | None


SecurityGroupIdList = list[SecurityGroupId]


class CreateVerifiedAccessEndpointRequest(ServiceRequest):
    VerifiedAccessGroupId: VerifiedAccessGroupId
    EndpointType: VerifiedAccessEndpointType
    AttachmentType: VerifiedAccessEndpointAttachmentType
    DomainCertificateArn: CertificateArn | None
    ApplicationDomain: String | None
    EndpointDomainPrefix: String | None
    SecurityGroupIds: SecurityGroupIdList | None
    LoadBalancerOptions: CreateVerifiedAccessEndpointLoadBalancerOptions | None
    NetworkInterfaceOptions: CreateVerifiedAccessEndpointEniOptions | None
    Description: String | None
    PolicyDocument: String | None
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None
    DryRun: Boolean | None
    SseSpecification: VerifiedAccessSseSpecificationRequest | None
    RdsOptions: CreateVerifiedAccessEndpointRdsOptions | None
    CidrOptions: CreateVerifiedAccessEndpointCidrOptions | None


VerifiedAccessEndpointSubnetIdList = list[SubnetId]


class VerifiedAccessEndpointPortRange(TypedDict, total=False):
    FromPort: VerifiedAccessEndpointPortNumber | None
    ToPort: VerifiedAccessEndpointPortNumber | None


VerifiedAccessEndpointPortRangeList = list[VerifiedAccessEndpointPortRange]


class VerifiedAccessEndpointCidrOptions(TypedDict, total=False):
    Cidr: String | None
    PortRanges: VerifiedAccessEndpointPortRangeList | None
    Protocol: VerifiedAccessEndpointProtocol | None
    SubnetIds: VerifiedAccessEndpointSubnetIdList | None


class VerifiedAccessEndpointRdsOptions(TypedDict, total=False):
    Protocol: VerifiedAccessEndpointProtocol | None
    Port: VerifiedAccessEndpointPortNumber | None
    RdsDbInstanceArn: String | None
    RdsDbClusterArn: String | None
    RdsDbProxyArn: String | None
    RdsEndpoint: String | None
    SubnetIds: VerifiedAccessEndpointSubnetIdList | None


class VerifiedAccessEndpointStatus(TypedDict, total=False):
    Code: VerifiedAccessEndpointStatusCode | None
    Message: String | None


class VerifiedAccessEndpointEniOptions(TypedDict, total=False):
    NetworkInterfaceId: NetworkInterfaceId | None
    Protocol: VerifiedAccessEndpointProtocol | None
    Port: VerifiedAccessEndpointPortNumber | None
    PortRanges: VerifiedAccessEndpointPortRangeList | None


class VerifiedAccessEndpointLoadBalancerOptions(TypedDict, total=False):
    Protocol: VerifiedAccessEndpointProtocol | None
    Port: VerifiedAccessEndpointPortNumber | None
    LoadBalancerArn: String | None
    SubnetIds: VerifiedAccessEndpointSubnetIdList | None
    PortRanges: VerifiedAccessEndpointPortRangeList | None


class VerifiedAccessEndpoint(TypedDict, total=False):
    VerifiedAccessInstanceId: String | None
    VerifiedAccessGroupId: String | None
    VerifiedAccessEndpointId: String | None
    ApplicationDomain: String | None
    EndpointType: VerifiedAccessEndpointType | None
    AttachmentType: VerifiedAccessEndpointAttachmentType | None
    DomainCertificateArn: String | None
    EndpointDomain: String | None
    DeviceValidationDomain: String | None
    SecurityGroupIds: SecurityGroupIdList | None
    LoadBalancerOptions: VerifiedAccessEndpointLoadBalancerOptions | None
    NetworkInterfaceOptions: VerifiedAccessEndpointEniOptions | None
    Status: VerifiedAccessEndpointStatus | None
    Description: String | None
    CreationTime: String | None
    LastUpdatedTime: String | None
    DeletionTime: String | None
    Tags: TagList | None
    SseSpecification: VerifiedAccessSseSpecificationResponse | None
    RdsOptions: VerifiedAccessEndpointRdsOptions | None
    CidrOptions: VerifiedAccessEndpointCidrOptions | None


class CreateVerifiedAccessEndpointResult(TypedDict, total=False):
    VerifiedAccessEndpoint: VerifiedAccessEndpoint | None


class CreateVerifiedAccessGroupRequest(ServiceRequest):
    VerifiedAccessInstanceId: VerifiedAccessInstanceId
    Description: String | None
    PolicyDocument: String | None
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None
    DryRun: Boolean | None
    SseSpecification: VerifiedAccessSseSpecificationRequest | None


class VerifiedAccessGroup(TypedDict, total=False):
    VerifiedAccessGroupId: String | None
    VerifiedAccessInstanceId: String | None
    Description: String | None
    Owner: String | None
    VerifiedAccessGroupArn: String | None
    CreationTime: String | None
    LastUpdatedTime: String | None
    DeletionTime: String | None
    Tags: TagList | None
    SseSpecification: VerifiedAccessSseSpecificationResponse | None


class CreateVerifiedAccessGroupResult(TypedDict, total=False):
    VerifiedAccessGroup: VerifiedAccessGroup | None


class CreateVerifiedAccessInstanceRequest(ServiceRequest):
    Description: String | None
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None
    DryRun: Boolean | None
    FIPSEnabled: Boolean | None
    CidrEndpointsCustomSubDomain: String | None


class CreateVerifiedAccessInstanceResult(TypedDict, total=False):
    VerifiedAccessInstance: VerifiedAccessInstance | None


class CreateVerifiedAccessNativeApplicationOidcOptions(TypedDict, total=False):
    PublicSigningKeyEndpoint: String | None
    Issuer: String | None
    AuthorizationEndpoint: String | None
    TokenEndpoint: String | None
    UserInfoEndpoint: String | None
    ClientId: String | None
    ClientSecret: ClientSecretType | None
    Scope: String | None


class CreateVerifiedAccessTrustProviderDeviceOptions(TypedDict, total=False):
    TenantId: String | None
    PublicSigningKeyUrl: String | None


class CreateVerifiedAccessTrustProviderOidcOptions(TypedDict, total=False):
    Issuer: String | None
    AuthorizationEndpoint: String | None
    TokenEndpoint: String | None
    UserInfoEndpoint: String | None
    ClientId: String | None
    ClientSecret: ClientSecretType | None
    Scope: String | None


class CreateVerifiedAccessTrustProviderRequest(ServiceRequest):
    TrustProviderType: TrustProviderType
    UserTrustProviderType: UserTrustProviderType | None
    DeviceTrustProviderType: DeviceTrustProviderType | None
    OidcOptions: CreateVerifiedAccessTrustProviderOidcOptions | None
    DeviceOptions: CreateVerifiedAccessTrustProviderDeviceOptions | None
    PolicyReferenceName: String
    Description: String | None
    TagSpecifications: TagSpecificationList | None
    ClientToken: String | None
    DryRun: Boolean | None
    SseSpecification: VerifiedAccessSseSpecificationRequest | None
    NativeApplicationOidcOptions: CreateVerifiedAccessNativeApplicationOidcOptions | None


class CreateVerifiedAccessTrustProviderResult(TypedDict, total=False):
    VerifiedAccessTrustProvider: VerifiedAccessTrustProvider | None


class CreateVolumePermission(TypedDict, total=False):
    UserId: String | None
    Group: PermissionGroup | None


CreateVolumePermissionList = list[CreateVolumePermission]


class CreateVolumePermissionModifications(TypedDict, total=False):
    Add: CreateVolumePermissionList | None
    Remove: CreateVolumePermissionList | None


class CreateVolumeRequest(ServiceRequest):
    AvailabilityZone: AvailabilityZoneName | None
    AvailabilityZoneId: AvailabilityZoneId | None
    Encrypted: Boolean | None
    Iops: Integer | None
    KmsKeyId: KmsKeyId | None
    OutpostArn: String | None
    Size: Integer | None
    SnapshotId: SnapshotId | None
    VolumeType: VolumeType | None
    TagSpecifications: TagSpecificationList | None
    MultiAttachEnabled: Boolean | None
    Throughput: Integer | None
    ClientToken: String | None
    VolumeInitializationRate: Integer | None
    Operator: OperatorRequest | None
    DryRun: Boolean | None


class CreateVpcBlockPublicAccessExclusionRequest(ServiceRequest):
    DryRun: Boolean | None
    SubnetId: SubnetId | None
    VpcId: VpcId | None
    InternetGatewayExclusionMode: InternetGatewayExclusionMode
    TagSpecifications: TagSpecificationList | None


class VpcBlockPublicAccessExclusion(TypedDict, total=False):
    ExclusionId: VpcBlockPublicAccessExclusionId | None
    InternetGatewayExclusionMode: InternetGatewayExclusionMode | None
    ResourceArn: ResourceArn | None
    State: VpcBlockPublicAccessExclusionState | None
    Reason: String | None
    CreationTimestamp: MillisecondDateTime | None
    LastUpdateTimestamp: MillisecondDateTime | None
    DeletionTimestamp: MillisecondDateTime | None
    Tags: TagList | None


class CreateVpcBlockPublicAccessExclusionResult(TypedDict, total=False):
    VpcBlockPublicAccessExclusion: VpcBlockPublicAccessExclusion | None


class CreateVpcEncryptionControlRequest(ServiceRequest):
    DryRun: Boolean | None
    VpcId: VpcId
    TagSpecifications: TagSpecificationList | None


class CreateVpcEncryptionControlResult(TypedDict, total=False):
    VpcEncryptionControl: VpcEncryptionControl | None


class CreateVpcEndpointConnectionNotificationRequest(ServiceRequest):
    DryRun: Boolean | None
    ServiceId: VpcEndpointServiceId | None
    VpcEndpointId: VpcEndpointId | None
    ConnectionNotificationArn: String
    ConnectionEvents: ValueStringList
    ClientToken: String | None


class CreateVpcEndpointConnectionNotificationResult(TypedDict, total=False):
    ConnectionNotification: ConnectionNotification | None
    ClientToken: String | None


class SubnetConfiguration(TypedDict, total=False):
    SubnetId: SubnetId | None
    Ipv4: String | None
    Ipv6: String | None


SubnetConfigurationsList = list[SubnetConfiguration]
PrivateDnsSpecifiedDomainSet = list[String]


class DnsOptionsSpecification(TypedDict, total=False):
    DnsRecordIpType: DnsRecordIpType | None
    PrivateDnsOnlyForInboundResolverEndpoint: Boolean | None
    PrivateDnsPreference: String | None
    PrivateDnsSpecifiedDomains: PrivateDnsSpecifiedDomainSet | None


VpcEndpointSecurityGroupIdList = list[SecurityGroupId]
VpcEndpointSubnetIdList = list[SubnetId]
VpcEndpointRouteTableIdList = list[RouteTableId]


class CreateVpcEndpointRequest(ServiceRequest):
    DryRun: Boolean | None
    VpcEndpointType: VpcEndpointType | None
    VpcId: VpcId
    ServiceName: String | None
    PolicyDocument: String | None
    RouteTableIds: VpcEndpointRouteTableIdList | None
    SubnetIds: VpcEndpointSubnetIdList | None
    SecurityGroupIds: VpcEndpointSecurityGroupIdList | None
    IpAddressType: IpAddressType | None
    DnsOptions: DnsOptionsSpecification | None
    ClientToken: String | None
    PrivateDnsEnabled: Boolean | None
    TagSpecifications: TagSpecificationList | None
    SubnetConfigurations: SubnetConfigurationsList | None
    ServiceNetworkArn: ServiceNetworkArn | None
    ResourceConfigurationArn: ResourceConfigurationArn | None
    ServiceRegion: String | None


class SubnetIpPrefixes(TypedDict, total=False):
    SubnetId: String | None
    IpPrefixes: ValueStringList | None


SubnetIpPrefixesList = list[SubnetIpPrefixes]


class LastError(TypedDict, total=False):
    Message: String | None
    Code: String | None


class DnsEntry(TypedDict, total=False):
    DnsName: String | None
    HostedZoneId: String | None


DnsEntrySet = list[DnsEntry]


class DnsOptions(TypedDict, total=False):
    DnsRecordIpType: DnsRecordIpType | None
    PrivateDnsOnlyForInboundResolverEndpoint: Boolean | None
    PrivateDnsPreference: String | None
    PrivateDnsSpecifiedDomains: PrivateDnsSpecifiedDomainSet | None


class SecurityGroupIdentifier(TypedDict, total=False):
    GroupId: String | None
    GroupName: String | None


GroupIdentifierSet = list[SecurityGroupIdentifier]


class VpcEndpoint(TypedDict, total=False):
    VpcEndpointId: String | None
    VpcEndpointType: VpcEndpointType | None
    VpcId: String | None
    ServiceName: String | None
    State: State | None
    PolicyDocument: String | None
    RouteTableIds: ValueStringList | None
    SubnetIds: ValueStringList | None
    Groups: GroupIdentifierSet | None
    IpAddressType: IpAddressType | None
    DnsOptions: DnsOptions | None
    PrivateDnsEnabled: Boolean | None
    RequesterManaged: Boolean | None
    NetworkInterfaceIds: ValueStringList | None
    DnsEntries: DnsEntrySet | None
    CreationTimestamp: MillisecondDateTime | None
    Tags: TagList | None
    OwnerId: String | None
    LastError: LastError | None
    Ipv4Prefixes: SubnetIpPrefixesList | None
    Ipv6Prefixes: SubnetIpPrefixesList | None
    FailureReason: String | None
    ServiceNetworkArn: ServiceNetworkArn | None
    ResourceConfigurationArn: ResourceConfigurationArn | None
    ServiceRegion: String | None


class CreateVpcEndpointResult(TypedDict, total=False):
    VpcEndpoint: VpcEndpoint | None
    ClientToken: String | None


class CreateVpcEndpointServiceConfigurationRequest(ServiceRequest):
    DryRun: Boolean | None
    AcceptanceRequired: Boolean | None
    PrivateDnsName: String | None
    NetworkLoadBalancerArns: ValueStringList | None
    GatewayLoadBalancerArns: ValueStringList | None
    SupportedIpAddressTypes: ValueStringList | None
    SupportedRegions: ValueStringList | None
    ClientToken: String | None
    TagSpecifications: TagSpecificationList | None


class SupportedRegionDetail(TypedDict, total=False):
    Region: String | None
    ServiceState: String | None


SupportedRegionSet = list[SupportedRegionDetail]


class PrivateDnsNameConfiguration(TypedDict, total=False):
    State: DnsNameState | None
    Type: String | None
    Value: String | None
    Name: String | None


SupportedIpAddressTypes = list[ServiceConnectivityType]


class ServiceTypeDetail(TypedDict, total=False):
    ServiceType: ServiceType | None


ServiceTypeDetailSet = list[ServiceTypeDetail]


class ServiceConfiguration(TypedDict, total=False):
    ServiceType: ServiceTypeDetailSet | None
    ServiceId: String | None
    ServiceName: String | None
    ServiceState: ServiceState | None
    AvailabilityZoneIds: ValueStringList | None
    AvailabilityZones: ValueStringList | None
    AcceptanceRequired: Boolean | None
    ManagesVpcEndpoints: Boolean | None
    NetworkLoadBalancerArns: ValueStringList | None
    GatewayLoadBalancerArns: ValueStringList | None
    SupportedIpAddressTypes: SupportedIpAddressTypes | None
    BaseEndpointDnsNames: ValueStringList | None
    PrivateDnsName: String | None
    PrivateDnsNameConfiguration: PrivateDnsNameConfiguration | None
    PayerResponsibility: PayerResponsibility | None
    Tags: TagList | None
    SupportedRegions: SupportedRegionSet | None
    RemoteAccessEnabled: Boolean | None


class CreateVpcEndpointServiceConfigurationResult(TypedDict, total=False):
    ServiceConfiguration: ServiceConfiguration | None
    ClientToken: String | None


class CreateVpcPeeringConnectionRequest(ServiceRequest):
    PeerRegion: String | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None
    VpcId: VpcId
    PeerVpcId: String | None
    PeerOwnerId: String | None


class CreateVpcPeeringConnectionResult(TypedDict, total=False):
    VpcPeeringConnection: VpcPeeringConnection | None


class VpcEncryptionControlConfiguration(TypedDict, total=False):
    Mode: VpcEncryptionControlMode
    InternetGatewayExclusion: VpcEncryptionControlExclusionStateInput | None
    EgressOnlyInternetGatewayExclusion: VpcEncryptionControlExclusionStateInput | None
    NatGatewayExclusion: VpcEncryptionControlExclusionStateInput | None
    VirtualPrivateGatewayExclusion: VpcEncryptionControlExclusionStateInput | None
    VpcPeeringExclusion: VpcEncryptionControlExclusionStateInput | None
    LambdaExclusion: VpcEncryptionControlExclusionStateInput | None
    VpcLatticeExclusion: VpcEncryptionControlExclusionStateInput | None
    ElasticFileSystemExclusion: VpcEncryptionControlExclusionStateInput | None


class CreateVpcRequest(ServiceRequest):
    CidrBlock: String | None
    Ipv6Pool: Ipv6PoolEc2Id | None
    Ipv6CidrBlock: String | None
    Ipv4IpamPoolId: IpamPoolId | None
    Ipv4NetmaskLength: NetmaskLength | None
    Ipv6IpamPoolId: IpamPoolId | None
    Ipv6NetmaskLength: NetmaskLength | None
    Ipv6CidrBlockNetworkBorderGroup: String | None
    VpcEncryptionControl: VpcEncryptionControlConfiguration | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None
    InstanceTenancy: Tenancy | None
    AmazonProvidedIpv6CidrBlock: Boolean | None


class CreateVpcResult(TypedDict, total=False):
    Vpc: Vpc | None


class CreateVpnConcentratorRequest(ServiceRequest):
    Type: VpnConcentratorType
    TransitGatewayId: TransitGatewayId | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None


class VpnConcentrator(TypedDict, total=False):
    VpnConcentratorId: String | None
    State: String | None
    TransitGatewayId: String | None
    TransitGatewayAttachmentId: String | None
    Type: String | None
    Tags: TagList | None


class CreateVpnConcentratorResult(TypedDict, total=False):
    VpnConcentrator: VpnConcentrator | None


class VpnTunnelLogOptionsSpecification(TypedDict, total=False):
    CloudWatchLogOptions: CloudWatchLogOptionsSpecification | None


class IKEVersionsRequestListValue(TypedDict, total=False):
    Value: String | None


IKEVersionsRequestList = list[IKEVersionsRequestListValue]


class Phase2DHGroupNumbersRequestListValue(TypedDict, total=False):
    Value: Integer | None


Phase2DHGroupNumbersRequestList = list[Phase2DHGroupNumbersRequestListValue]


class Phase1DHGroupNumbersRequestListValue(TypedDict, total=False):
    Value: Integer | None


Phase1DHGroupNumbersRequestList = list[Phase1DHGroupNumbersRequestListValue]


class Phase2IntegrityAlgorithmsRequestListValue(TypedDict, total=False):
    Value: String | None


Phase2IntegrityAlgorithmsRequestList = list[Phase2IntegrityAlgorithmsRequestListValue]


class Phase1IntegrityAlgorithmsRequestListValue(TypedDict, total=False):
    Value: String | None


Phase1IntegrityAlgorithmsRequestList = list[Phase1IntegrityAlgorithmsRequestListValue]


class Phase2EncryptionAlgorithmsRequestListValue(TypedDict, total=False):
    Value: String | None


Phase2EncryptionAlgorithmsRequestList = list[Phase2EncryptionAlgorithmsRequestListValue]


class Phase1EncryptionAlgorithmsRequestListValue(TypedDict, total=False):
    Value: String | None


Phase1EncryptionAlgorithmsRequestList = list[Phase1EncryptionAlgorithmsRequestListValue]


class VpnTunnelOptionsSpecification(TypedDict, total=False):
    TunnelInsideCidr: String | None
    TunnelInsideIpv6Cidr: String | None
    PreSharedKey: preSharedKey | None
    Phase1LifetimeSeconds: Integer | None
    Phase2LifetimeSeconds: Integer | None
    RekeyMarginTimeSeconds: Integer | None
    RekeyFuzzPercentage: Integer | None
    ReplayWindowSize: Integer | None
    DPDTimeoutSeconds: Integer | None
    DPDTimeoutAction: String | None
    Phase1EncryptionAlgorithms: Phase1EncryptionAlgorithmsRequestList | None
    Phase2EncryptionAlgorithms: Phase2EncryptionAlgorithmsRequestList | None
    Phase1IntegrityAlgorithms: Phase1IntegrityAlgorithmsRequestList | None
    Phase2IntegrityAlgorithms: Phase2IntegrityAlgorithmsRequestList | None
    Phase1DHGroupNumbers: Phase1DHGroupNumbersRequestList | None
    Phase2DHGroupNumbers: Phase2DHGroupNumbersRequestList | None
    IKEVersions: IKEVersionsRequestList | None
    StartupAction: String | None
    LogOptions: VpnTunnelLogOptionsSpecification | None
    EnableTunnelLifecycleControl: Boolean | None


VpnTunnelOptionsSpecificationsList = list[VpnTunnelOptionsSpecification]


class VpnConnectionOptionsSpecification(TypedDict, total=False):
    EnableAcceleration: Boolean | None
    TunnelInsideIpVersion: TunnelInsideIpVersion | None
    TunnelOptions: VpnTunnelOptionsSpecificationsList | None
    LocalIpv4NetworkCidr: String | None
    RemoteIpv4NetworkCidr: String | None
    LocalIpv6NetworkCidr: String | None
    RemoteIpv6NetworkCidr: String | None
    OutsideIpAddressType: String | None
    TransportTransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    TunnelBandwidth: VpnTunnelBandwidth | None
    StaticRoutesOnly: Boolean | None


class CreateVpnConnectionRequest(ServiceRequest):
    CustomerGatewayId: CustomerGatewayId
    Type: String
    VpnGatewayId: VpnGatewayId | None
    TransitGatewayId: TransitGatewayId | None
    VpnConcentratorId: VpnConcentratorId | None
    TagSpecifications: TagSpecificationList | None
    PreSharedKeyStorage: String | None
    DryRun: Boolean | None
    Options: VpnConnectionOptionsSpecification | None


class VgwTelemetry(TypedDict, total=False):
    AcceptedRouteCount: Integer | None
    LastStatusChange: DateTime | None
    OutsideIpAddress: String | None
    Status: TelemetryStatus | None
    StatusMessage: String | None
    CertificateArn: String | None


VgwTelemetryList = list[VgwTelemetry]


class VpnStaticRoute(TypedDict, total=False):
    DestinationCidrBlock: String | None
    Source: VpnStaticRouteSource | None
    State: VpnState | None


VpnStaticRouteList = list[VpnStaticRoute]


class VpnTunnelLogOptions(TypedDict, total=False):
    CloudWatchLogOptions: CloudWatchLogOptions | None


class IKEVersionsListValue(TypedDict, total=False):
    Value: String | None


IKEVersionsList = list[IKEVersionsListValue]


class Phase2DHGroupNumbersListValue(TypedDict, total=False):
    Value: Integer | None


Phase2DHGroupNumbersList = list[Phase2DHGroupNumbersListValue]


class Phase1DHGroupNumbersListValue(TypedDict, total=False):
    Value: Integer | None


Phase1DHGroupNumbersList = list[Phase1DHGroupNumbersListValue]


class Phase2IntegrityAlgorithmsListValue(TypedDict, total=False):
    Value: String | None


Phase2IntegrityAlgorithmsList = list[Phase2IntegrityAlgorithmsListValue]


class Phase1IntegrityAlgorithmsListValue(TypedDict, total=False):
    Value: String | None


Phase1IntegrityAlgorithmsList = list[Phase1IntegrityAlgorithmsListValue]


class Phase2EncryptionAlgorithmsListValue(TypedDict, total=False):
    Value: String | None


Phase2EncryptionAlgorithmsList = list[Phase2EncryptionAlgorithmsListValue]


class Phase1EncryptionAlgorithmsListValue(TypedDict, total=False):
    Value: String | None


Phase1EncryptionAlgorithmsList = list[Phase1EncryptionAlgorithmsListValue]


class TunnelOption(TypedDict, total=False):
    OutsideIpAddress: String | None
    TunnelInsideCidr: String | None
    TunnelInsideIpv6Cidr: String | None
    PreSharedKey: preSharedKey | None
    Phase1LifetimeSeconds: Integer | None
    Phase2LifetimeSeconds: Integer | None
    RekeyMarginTimeSeconds: Integer | None
    RekeyFuzzPercentage: Integer | None
    ReplayWindowSize: Integer | None
    DpdTimeoutSeconds: Integer | None
    DpdTimeoutAction: String | None
    Phase1EncryptionAlgorithms: Phase1EncryptionAlgorithmsList | None
    Phase2EncryptionAlgorithms: Phase2EncryptionAlgorithmsList | None
    Phase1IntegrityAlgorithms: Phase1IntegrityAlgorithmsList | None
    Phase2IntegrityAlgorithms: Phase2IntegrityAlgorithmsList | None
    Phase1DHGroupNumbers: Phase1DHGroupNumbersList | None
    Phase2DHGroupNumbers: Phase2DHGroupNumbersList | None
    IkeVersions: IKEVersionsList | None
    StartupAction: String | None
    LogOptions: VpnTunnelLogOptions | None
    EnableTunnelLifecycleControl: Boolean | None


TunnelOptionsList = list[TunnelOption]


class VpnConnectionOptions(TypedDict, total=False):
    EnableAcceleration: Boolean | None
    StaticRoutesOnly: Boolean | None
    LocalIpv4NetworkCidr: String | None
    RemoteIpv4NetworkCidr: String | None
    LocalIpv6NetworkCidr: String | None
    RemoteIpv6NetworkCidr: String | None
    OutsideIpAddressType: String | None
    TransportTransitGatewayAttachmentId: String | None
    TunnelInsideIpVersion: TunnelInsideIpVersion | None
    TunnelOptions: TunnelOptionsList | None
    TunnelBandwidth: VpnTunnelBandwidth | None


class VpnConnection(TypedDict, total=False):
    Category: String | None
    TransitGatewayId: String | None
    VpnConcentratorId: String | None
    CoreNetworkArn: String | None
    CoreNetworkAttachmentArn: String | None
    GatewayAssociationState: GatewayAssociationState | None
    Options: VpnConnectionOptions | None
    Routes: VpnStaticRouteList | None
    Tags: TagList | None
    VgwTelemetry: VgwTelemetryList | None
    PreSharedKeyArn: String | None
    VpnConnectionId: String | None
    State: VpnState | None
    CustomerGatewayConfiguration: customerGatewayConfiguration | None
    Type: GatewayType | None
    CustomerGatewayId: String | None
    VpnGatewayId: String | None


class CreateVpnConnectionResult(TypedDict, total=False):
    VpnConnection: VpnConnection | None


class CreateVpnConnectionRouteRequest(ServiceRequest):
    DestinationCidrBlock: String
    VpnConnectionId: VpnConnectionId


class CreateVpnGatewayRequest(ServiceRequest):
    AvailabilityZone: String | None
    Type: GatewayType
    TagSpecifications: TagSpecificationList | None
    AmazonSideAsn: Long | None
    DryRun: Boolean | None


VpcAttachmentList = list[VpcAttachment]


class VpnGateway(TypedDict, total=False):
    AmazonSideAsn: Long | None
    Tags: TagList | None
    VpnGatewayId: String | None
    State: VpnState | None
    Type: GatewayType | None
    AvailabilityZone: String | None
    VpcAttachments: VpcAttachmentList | None


class CreateVpnGatewayResult(TypedDict, total=False):
    VpnGateway: VpnGateway | None


class CreationDateCondition(TypedDict, total=False):
    MaximumDaysSinceCreated: MaximumDaysSinceCreatedValue | None


class CreationDateConditionRequest(TypedDict, total=False):
    MaximumDaysSinceCreated: MaximumDaysSinceCreatedValue | None


CustomerGatewayIdStringList = list[CustomerGatewayId]
CustomerGatewayList = list[CustomerGateway]


class DataQuery(TypedDict, total=False):
    Id: String | None
    Source: String | None
    Destination: String | None
    Metric: MetricType | None
    Statistic: StatisticType | None
    Period: PeriodType | None


DataQueries = list[DataQuery]


class MetricPoint(TypedDict, total=False):
    StartDate: MillisecondDateTime | None
    EndDate: MillisecondDateTime | None
    Value: Float | None
    Status: String | None


MetricPoints = list[MetricPoint]


class DataResponse(TypedDict, total=False):
    Id: String | None
    Source: String | None
    Destination: String | None
    Metric: MetricType | None
    Statistic: StatisticType | None
    Period: PeriodType | None
    MetricPoints: MetricPoints | None


DataResponses = list[DataResponse]


class DeclarativePoliciesReport(TypedDict, total=False):
    ReportId: String | None
    S3Bucket: String | None
    S3Prefix: String | None
    TargetId: String | None
    StartTime: MillisecondDateTime | None
    EndTime: MillisecondDateTime | None
    Status: ReportState | None
    Tags: TagList | None


DeclarativePoliciesReportList = list[DeclarativePoliciesReport]


class DeleteCapacityManagerDataExportRequest(ServiceRequest):
    CapacityManagerDataExportId: CapacityManagerDataExportId
    DryRun: Boolean | None


class DeleteCapacityManagerDataExportResult(TypedDict, total=False):
    CapacityManagerDataExportId: CapacityManagerDataExportId | None


class DeleteCarrierGatewayRequest(ServiceRequest):
    CarrierGatewayId: CarrierGatewayId
    DryRun: Boolean | None


class DeleteCarrierGatewayResult(TypedDict, total=False):
    CarrierGateway: CarrierGateway | None


class DeleteClientVpnEndpointRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    DryRun: Boolean | None


class DeleteClientVpnEndpointResult(TypedDict, total=False):
    Status: ClientVpnEndpointStatus | None


class DeleteClientVpnRouteRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    TargetVpcSubnetId: SubnetId | None
    DestinationCidrBlock: String
    DryRun: Boolean | None


class DeleteClientVpnRouteResult(TypedDict, total=False):
    Status: ClientVpnRouteStatus | None


class DeleteCoipCidrRequest(ServiceRequest):
    Cidr: String
    CoipPoolId: Ipv4PoolCoipId
    DryRun: Boolean | None


class DeleteCoipCidrResult(TypedDict, total=False):
    CoipCidr: CoipCidr | None


class DeleteCoipPoolRequest(ServiceRequest):
    CoipPoolId: Ipv4PoolCoipId
    DryRun: Boolean | None


class DeleteCoipPoolResult(TypedDict, total=False):
    CoipPool: CoipPool | None


class DeleteCustomerGatewayRequest(ServiceRequest):
    CustomerGatewayId: CustomerGatewayId
    DryRun: Boolean | None


class DeleteDhcpOptionsRequest(ServiceRequest):
    DhcpOptionsId: DhcpOptionsId
    DryRun: Boolean | None


class DeleteEgressOnlyInternetGatewayRequest(ServiceRequest):
    DryRun: Boolean | None
    EgressOnlyInternetGatewayId: EgressOnlyInternetGatewayId


class DeleteEgressOnlyInternetGatewayResult(TypedDict, total=False):
    ReturnCode: Boolean | None


class DeleteFleetError(TypedDict, total=False):
    Code: DeleteFleetErrorCode | None
    Message: String | None


class DeleteFleetErrorItem(TypedDict, total=False):
    Error: DeleteFleetError | None
    FleetId: FleetId | None


DeleteFleetErrorSet = list[DeleteFleetErrorItem]


class DeleteFleetSuccessItem(TypedDict, total=False):
    CurrentFleetState: FleetStateCode | None
    PreviousFleetState: FleetStateCode | None
    FleetId: FleetId | None


DeleteFleetSuccessSet = list[DeleteFleetSuccessItem]
FleetIdSet = list[FleetId]


class DeleteFleetsRequest(ServiceRequest):
    DryRun: Boolean | None
    FleetIds: FleetIdSet
    TerminateInstances: Boolean


class DeleteFleetsResult(TypedDict, total=False):
    SuccessfulFleetDeletions: DeleteFleetSuccessSet | None
    UnsuccessfulFleetDeletions: DeleteFleetErrorSet | None


FlowLogIdList = list[VpcFlowLogId]


class DeleteFlowLogsRequest(ServiceRequest):
    DryRun: Boolean | None
    FlowLogIds: FlowLogIdList


class DeleteFlowLogsResult(TypedDict, total=False):
    Unsuccessful: UnsuccessfulItemSet | None


class DeleteFpgaImageRequest(ServiceRequest):
    DryRun: Boolean | None
    FpgaImageId: FpgaImageId


class DeleteFpgaImageResult(TypedDict, total=False):
    Return: Boolean | None


class DeleteImageUsageReportRequest(ServiceRequest):
    ReportId: ImageUsageReportId
    DryRun: Boolean | None


class DeleteImageUsageReportResult(TypedDict, total=False):
    Return: Boolean | None


class DeleteInstanceConnectEndpointRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceConnectEndpointId: InstanceConnectEndpointId


class DeleteInstanceConnectEndpointResult(TypedDict, total=False):
    InstanceConnectEndpoint: Ec2InstanceConnectEndpoint | None


class DeleteInstanceEventWindowRequest(ServiceRequest):
    DryRun: Boolean | None
    ForceDelete: Boolean | None
    InstanceEventWindowId: InstanceEventWindowId


class InstanceEventWindowStateChange(TypedDict, total=False):
    InstanceEventWindowId: InstanceEventWindowId | None
    State: InstanceEventWindowState | None


class DeleteInstanceEventWindowResult(TypedDict, total=False):
    InstanceEventWindowState: InstanceEventWindowStateChange | None


class DeleteInternetGatewayRequest(ServiceRequest):
    DryRun: Boolean | None
    InternetGatewayId: InternetGatewayId


class DeleteIpamExternalResourceVerificationTokenRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamExternalResourceVerificationTokenId: IpamExternalResourceVerificationTokenId


class DeleteIpamExternalResourceVerificationTokenResult(TypedDict, total=False):
    IpamExternalResourceVerificationToken: IpamExternalResourceVerificationToken | None


class DeleteIpamPolicyRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPolicyId: IpamPolicyId


class DeleteIpamPolicyResult(TypedDict, total=False):
    IpamPolicy: IpamPolicy | None


class DeleteIpamPoolRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPoolId: IpamPoolId
    Cascade: Boolean | None


class DeleteIpamPoolResult(TypedDict, total=False):
    IpamPool: IpamPool | None


class DeleteIpamPrefixListResolverRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPrefixListResolverId: IpamPrefixListResolverId


class DeleteIpamPrefixListResolverResult(TypedDict, total=False):
    IpamPrefixListResolver: IpamPrefixListResolver | None


class DeleteIpamPrefixListResolverTargetRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPrefixListResolverTargetId: IpamPrefixListResolverTargetId


class DeleteIpamPrefixListResolverTargetResult(TypedDict, total=False):
    IpamPrefixListResolverTarget: IpamPrefixListResolverTarget | None


class DeleteIpamRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamId: IpamId
    Cascade: Boolean | None


class DeleteIpamResourceDiscoveryRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamResourceDiscoveryId: IpamResourceDiscoveryId


class DeleteIpamResourceDiscoveryResult(TypedDict, total=False):
    IpamResourceDiscovery: IpamResourceDiscovery | None


class DeleteIpamResult(TypedDict, total=False):
    Ipam: Ipam | None


class DeleteIpamScopeRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamScopeId: IpamScopeId


class DeleteIpamScopeResult(TypedDict, total=False):
    IpamScope: IpamScope | None


class DeleteKeyPairRequest(ServiceRequest):
    KeyName: KeyPairNameWithResolver | None
    KeyPairId: KeyPairId | None
    DryRun: Boolean | None


class DeleteKeyPairResult(TypedDict, total=False):
    Return: Boolean | None
    KeyPairId: String | None


class DeleteLaunchTemplateRequest(ServiceRequest):
    DryRun: Boolean | None
    LaunchTemplateId: LaunchTemplateId | None
    LaunchTemplateName: LaunchTemplateName | None


class DeleteLaunchTemplateResult(TypedDict, total=False):
    LaunchTemplate: LaunchTemplate | None


VersionStringList = list[String]


class DeleteLaunchTemplateVersionsRequest(ServiceRequest):
    DryRun: Boolean | None
    LaunchTemplateId: LaunchTemplateId | None
    LaunchTemplateName: LaunchTemplateName | None
    Versions: VersionStringList


class ResponseError(TypedDict, total=False):
    Code: LaunchTemplateErrorCode | None
    Message: String | None


class DeleteLaunchTemplateVersionsResponseErrorItem(TypedDict, total=False):
    LaunchTemplateId: String | None
    LaunchTemplateName: String | None
    VersionNumber: Long | None
    ResponseError: ResponseError | None


DeleteLaunchTemplateVersionsResponseErrorSet = list[DeleteLaunchTemplateVersionsResponseErrorItem]


class DeleteLaunchTemplateVersionsResponseSuccessItem(TypedDict, total=False):
    LaunchTemplateId: String | None
    LaunchTemplateName: String | None
    VersionNumber: Long | None


DeleteLaunchTemplateVersionsResponseSuccessSet = list[
    DeleteLaunchTemplateVersionsResponseSuccessItem
]


class DeleteLaunchTemplateVersionsResult(TypedDict, total=False):
    SuccessfullyDeletedLaunchTemplateVersions: DeleteLaunchTemplateVersionsResponseSuccessSet | None
    UnsuccessfullyDeletedLaunchTemplateVersions: DeleteLaunchTemplateVersionsResponseErrorSet | None


class DeleteLocalGatewayRouteRequest(ServiceRequest):
    DestinationCidrBlock: String | None
    LocalGatewayRouteTableId: LocalGatewayRoutetableId
    DryRun: Boolean | None
    DestinationPrefixListId: PrefixListResourceId | None


class DeleteLocalGatewayRouteResult(TypedDict, total=False):
    Route: LocalGatewayRoute | None


class DeleteLocalGatewayRouteTableRequest(ServiceRequest):
    LocalGatewayRouteTableId: LocalGatewayRoutetableId
    DryRun: Boolean | None


class DeleteLocalGatewayRouteTableResult(TypedDict, total=False):
    LocalGatewayRouteTable: LocalGatewayRouteTable | None


class DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationRequest(ServiceRequest):
    LocalGatewayRouteTableVirtualInterfaceGroupAssociationId: (
        LocalGatewayRouteTableVirtualInterfaceGroupAssociationId
    )
    DryRun: Boolean | None


class DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult(TypedDict, total=False):
    LocalGatewayRouteTableVirtualInterfaceGroupAssociation: (
        LocalGatewayRouteTableVirtualInterfaceGroupAssociation | None
    )


class DeleteLocalGatewayRouteTableVpcAssociationRequest(ServiceRequest):
    LocalGatewayRouteTableVpcAssociationId: LocalGatewayRouteTableVpcAssociationId
    DryRun: Boolean | None


class DeleteLocalGatewayRouteTableVpcAssociationResult(TypedDict, total=False):
    LocalGatewayRouteTableVpcAssociation: LocalGatewayRouteTableVpcAssociation | None


class DeleteLocalGatewayVirtualInterfaceGroupRequest(ServiceRequest):
    LocalGatewayVirtualInterfaceGroupId: LocalGatewayVirtualInterfaceGroupId
    DryRun: Boolean | None


class DeleteLocalGatewayVirtualInterfaceGroupResult(TypedDict, total=False):
    LocalGatewayVirtualInterfaceGroup: LocalGatewayVirtualInterfaceGroup | None


class DeleteLocalGatewayVirtualInterfaceRequest(ServiceRequest):
    LocalGatewayVirtualInterfaceId: LocalGatewayVirtualInterfaceId
    DryRun: Boolean | None


class DeleteLocalGatewayVirtualInterfaceResult(TypedDict, total=False):
    LocalGatewayVirtualInterface: LocalGatewayVirtualInterface | None


class DeleteManagedPrefixListRequest(ServiceRequest):
    DryRun: Boolean | None
    PrefixListId: PrefixListResourceId


class DeleteManagedPrefixListResult(TypedDict, total=False):
    PrefixList: ManagedPrefixList | None


class DeleteNatGatewayRequest(ServiceRequest):
    DryRun: Boolean | None
    NatGatewayId: NatGatewayId


class DeleteNatGatewayResult(TypedDict, total=False):
    NatGatewayId: String | None


class DeleteNetworkAclEntryRequest(ServiceRequest):
    DryRun: Boolean | None
    NetworkAclId: NetworkAclId
    RuleNumber: Integer
    Egress: Boolean


class DeleteNetworkAclRequest(ServiceRequest):
    DryRun: Boolean | None
    NetworkAclId: NetworkAclId


class DeleteNetworkInsightsAccessScopeAnalysisRequest(ServiceRequest):
    NetworkInsightsAccessScopeAnalysisId: NetworkInsightsAccessScopeAnalysisId
    DryRun: Boolean | None


class DeleteNetworkInsightsAccessScopeAnalysisResult(TypedDict, total=False):
    NetworkInsightsAccessScopeAnalysisId: NetworkInsightsAccessScopeAnalysisId | None


class DeleteNetworkInsightsAccessScopeRequest(ServiceRequest):
    DryRun: Boolean | None
    NetworkInsightsAccessScopeId: NetworkInsightsAccessScopeId


class DeleteNetworkInsightsAccessScopeResult(TypedDict, total=False):
    NetworkInsightsAccessScopeId: NetworkInsightsAccessScopeId | None


class DeleteNetworkInsightsAnalysisRequest(ServiceRequest):
    DryRun: Boolean | None
    NetworkInsightsAnalysisId: NetworkInsightsAnalysisId


class DeleteNetworkInsightsAnalysisResult(TypedDict, total=False):
    NetworkInsightsAnalysisId: NetworkInsightsAnalysisId | None


class DeleteNetworkInsightsPathRequest(ServiceRequest):
    DryRun: Boolean | None
    NetworkInsightsPathId: NetworkInsightsPathId


class DeleteNetworkInsightsPathResult(TypedDict, total=False):
    NetworkInsightsPathId: NetworkInsightsPathId | None


class DeleteNetworkInterfacePermissionRequest(ServiceRequest):
    NetworkInterfacePermissionId: NetworkInterfacePermissionId
    Force: Boolean | None
    DryRun: Boolean | None


class DeleteNetworkInterfacePermissionResult(TypedDict, total=False):
    Return: Boolean | None


class DeleteNetworkInterfaceRequest(ServiceRequest):
    DryRun: Boolean | None
    NetworkInterfaceId: NetworkInterfaceId


class DeletePlacementGroupRequest(ServiceRequest):
    DryRun: Boolean | None
    GroupName: PlacementGroupName


class DeletePublicIpv4PoolRequest(ServiceRequest):
    DryRun: Boolean | None
    PoolId: Ipv4PoolEc2Id
    NetworkBorderGroup: String | None


class DeletePublicIpv4PoolResult(TypedDict, total=False):
    ReturnValue: Boolean | None


class DeleteQueuedReservedInstancesError(TypedDict, total=False):
    Code: DeleteQueuedReservedInstancesErrorCode | None
    Message: String | None


DeleteQueuedReservedInstancesIdList = list[ReservationId]


class DeleteQueuedReservedInstancesRequest(ServiceRequest):
    DryRun: Boolean | None
    ReservedInstancesIds: DeleteQueuedReservedInstancesIdList


class FailedQueuedPurchaseDeletion(TypedDict, total=False):
    Error: DeleteQueuedReservedInstancesError | None
    ReservedInstancesId: String | None


FailedQueuedPurchaseDeletionSet = list[FailedQueuedPurchaseDeletion]


class SuccessfulQueuedPurchaseDeletion(TypedDict, total=False):
    ReservedInstancesId: String | None


SuccessfulQueuedPurchaseDeletionSet = list[SuccessfulQueuedPurchaseDeletion]


class DeleteQueuedReservedInstancesResult(TypedDict, total=False):
    SuccessfulQueuedPurchaseDeletions: SuccessfulQueuedPurchaseDeletionSet | None
    FailedQueuedPurchaseDeletions: FailedQueuedPurchaseDeletionSet | None


class DeleteRouteRequest(ServiceRequest):
    DestinationPrefixListId: PrefixListResourceId | None
    DryRun: Boolean | None
    RouteTableId: RouteTableId
    DestinationCidrBlock: String | None
    DestinationIpv6CidrBlock: String | None


class DeleteRouteServerEndpointRequest(ServiceRequest):
    RouteServerEndpointId: RouteServerEndpointId
    DryRun: Boolean | None


class DeleteRouteServerEndpointResult(TypedDict, total=False):
    RouteServerEndpoint: RouteServerEndpoint | None


class DeleteRouteServerPeerRequest(ServiceRequest):
    RouteServerPeerId: RouteServerPeerId
    DryRun: Boolean | None


class DeleteRouteServerPeerResult(TypedDict, total=False):
    RouteServerPeer: RouteServerPeer | None


class DeleteRouteServerRequest(ServiceRequest):
    RouteServerId: RouteServerId
    DryRun: Boolean | None


class DeleteRouteServerResult(TypedDict, total=False):
    RouteServer: RouteServer | None


class DeleteRouteTableRequest(ServiceRequest):
    DryRun: Boolean | None
    RouteTableId: RouteTableId


class DeleteSecurityGroupRequest(ServiceRequest):
    GroupId: SecurityGroupId | None
    GroupName: SecurityGroupName | None
    DryRun: Boolean | None


class DeleteSecurityGroupResult(TypedDict, total=False):
    Return: Boolean | None
    GroupId: SecurityGroupId | None


class DeleteSnapshotRequest(ServiceRequest):
    SnapshotId: SnapshotId
    DryRun: Boolean | None


class DeleteSnapshotReturnCode(TypedDict, total=False):
    SnapshotId: SnapshotId | None
    ReturnCode: SnapshotReturnCodes | None


DeleteSnapshotResultSet = list[DeleteSnapshotReturnCode]


class DeleteSpotDatafeedSubscriptionRequest(ServiceRequest):
    DryRun: Boolean | None


class DeleteSubnetCidrReservationRequest(ServiceRequest):
    SubnetCidrReservationId: SubnetCidrReservationId
    DryRun: Boolean | None


class DeleteSubnetCidrReservationResult(TypedDict, total=False):
    DeletedSubnetCidrReservation: SubnetCidrReservation | None


class DeleteSubnetRequest(ServiceRequest):
    SubnetId: SubnetId
    DryRun: Boolean | None


class DeleteTagsRequest(ServiceRequest):
    DryRun: Boolean | None
    Resources: ResourceIdList
    Tags: TagList | None


class DeleteTrafficMirrorFilterRequest(ServiceRequest):
    TrafficMirrorFilterId: TrafficMirrorFilterId
    DryRun: Boolean | None


class DeleteTrafficMirrorFilterResult(TypedDict, total=False):
    TrafficMirrorFilterId: String | None


class DeleteTrafficMirrorFilterRuleRequest(ServiceRequest):
    TrafficMirrorFilterRuleId: TrafficMirrorFilterRuleIdWithResolver
    DryRun: Boolean | None


class DeleteTrafficMirrorFilterRuleResult(TypedDict, total=False):
    TrafficMirrorFilterRuleId: String | None


class DeleteTrafficMirrorSessionRequest(ServiceRequest):
    TrafficMirrorSessionId: TrafficMirrorSessionId
    DryRun: Boolean | None


class DeleteTrafficMirrorSessionResult(TypedDict, total=False):
    TrafficMirrorSessionId: String | None


class DeleteTrafficMirrorTargetRequest(ServiceRequest):
    TrafficMirrorTargetId: TrafficMirrorTargetId
    DryRun: Boolean | None


class DeleteTrafficMirrorTargetResult(TypedDict, total=False):
    TrafficMirrorTargetId: String | None


class DeleteTransitGatewayConnectPeerRequest(ServiceRequest):
    TransitGatewayConnectPeerId: TransitGatewayConnectPeerId
    DryRun: Boolean | None


class DeleteTransitGatewayConnectPeerResult(TypedDict, total=False):
    TransitGatewayConnectPeer: TransitGatewayConnectPeer | None


class DeleteTransitGatewayConnectRequest(ServiceRequest):
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    DryRun: Boolean | None


class DeleteTransitGatewayConnectResult(TypedDict, total=False):
    TransitGatewayConnect: TransitGatewayConnect | None


class DeleteTransitGatewayMeteringPolicyEntryRequest(ServiceRequest):
    TransitGatewayMeteringPolicyId: TransitGatewayMeteringPolicyId
    PolicyRuleNumber: Integer
    DryRun: Boolean | None


class DeleteTransitGatewayMeteringPolicyEntryResult(TypedDict, total=False):
    TransitGatewayMeteringPolicyEntry: TransitGatewayMeteringPolicyEntry | None


class DeleteTransitGatewayMeteringPolicyRequest(ServiceRequest):
    TransitGatewayMeteringPolicyId: TransitGatewayMeteringPolicyId
    DryRun: Boolean | None


class DeleteTransitGatewayMeteringPolicyResult(TypedDict, total=False):
    TransitGatewayMeteringPolicy: TransitGatewayMeteringPolicy | None


class DeleteTransitGatewayMulticastDomainRequest(ServiceRequest):
    TransitGatewayMulticastDomainId: TransitGatewayMulticastDomainId
    DryRun: Boolean | None


class DeleteTransitGatewayMulticastDomainResult(TypedDict, total=False):
    TransitGatewayMulticastDomain: TransitGatewayMulticastDomain | None


class DeleteTransitGatewayPeeringAttachmentRequest(ServiceRequest):
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    DryRun: Boolean | None


class DeleteTransitGatewayPeeringAttachmentResult(TypedDict, total=False):
    TransitGatewayPeeringAttachment: TransitGatewayPeeringAttachment | None


class DeleteTransitGatewayPolicyTableRequest(ServiceRequest):
    TransitGatewayPolicyTableId: TransitGatewayPolicyTableId
    DryRun: Boolean | None


class DeleteTransitGatewayPolicyTableResult(TypedDict, total=False):
    TransitGatewayPolicyTable: TransitGatewayPolicyTable | None


class DeleteTransitGatewayPrefixListReferenceRequest(ServiceRequest):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    PrefixListId: PrefixListResourceId
    DryRun: Boolean | None


class DeleteTransitGatewayPrefixListReferenceResult(TypedDict, total=False):
    TransitGatewayPrefixListReference: TransitGatewayPrefixListReference | None


class DeleteTransitGatewayRequest(ServiceRequest):
    TransitGatewayId: TransitGatewayId
    DryRun: Boolean | None


class DeleteTransitGatewayResult(TypedDict, total=False):
    TransitGateway: TransitGateway | None


class DeleteTransitGatewayRouteRequest(ServiceRequest):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    DestinationCidrBlock: String
    DryRun: Boolean | None


class DeleteTransitGatewayRouteResult(TypedDict, total=False):
    Route: TransitGatewayRoute | None


class DeleteTransitGatewayRouteTableAnnouncementRequest(ServiceRequest):
    TransitGatewayRouteTableAnnouncementId: TransitGatewayRouteTableAnnouncementId
    DryRun: Boolean | None


class DeleteTransitGatewayRouteTableAnnouncementResult(TypedDict, total=False):
    TransitGatewayRouteTableAnnouncement: TransitGatewayRouteTableAnnouncement | None


class DeleteTransitGatewayRouteTableRequest(ServiceRequest):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    DryRun: Boolean | None


class DeleteTransitGatewayRouteTableResult(TypedDict, total=False):
    TransitGatewayRouteTable: TransitGatewayRouteTable | None


class DeleteTransitGatewayVpcAttachmentRequest(ServiceRequest):
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    DryRun: Boolean | None


class DeleteTransitGatewayVpcAttachmentResult(TypedDict, total=False):
    TransitGatewayVpcAttachment: TransitGatewayVpcAttachment | None


class DeleteVerifiedAccessEndpointRequest(ServiceRequest):
    VerifiedAccessEndpointId: VerifiedAccessEndpointId
    ClientToken: String | None
    DryRun: Boolean | None


class DeleteVerifiedAccessEndpointResult(TypedDict, total=False):
    VerifiedAccessEndpoint: VerifiedAccessEndpoint | None


class DeleteVerifiedAccessGroupRequest(ServiceRequest):
    VerifiedAccessGroupId: VerifiedAccessGroupId
    ClientToken: String | None
    DryRun: Boolean | None


class DeleteVerifiedAccessGroupResult(TypedDict, total=False):
    VerifiedAccessGroup: VerifiedAccessGroup | None


class DeleteVerifiedAccessInstanceRequest(ServiceRequest):
    VerifiedAccessInstanceId: VerifiedAccessInstanceId
    DryRun: Boolean | None
    ClientToken: String | None


class DeleteVerifiedAccessInstanceResult(TypedDict, total=False):
    VerifiedAccessInstance: VerifiedAccessInstance | None


class DeleteVerifiedAccessTrustProviderRequest(ServiceRequest):
    VerifiedAccessTrustProviderId: VerifiedAccessTrustProviderId
    DryRun: Boolean | None
    ClientToken: String | None


class DeleteVerifiedAccessTrustProviderResult(TypedDict, total=False):
    VerifiedAccessTrustProvider: VerifiedAccessTrustProvider | None


class DeleteVolumeRequest(ServiceRequest):
    VolumeId: VolumeId
    DryRun: Boolean | None


class DeleteVpcBlockPublicAccessExclusionRequest(ServiceRequest):
    DryRun: Boolean | None
    ExclusionId: VpcBlockPublicAccessExclusionId


class DeleteVpcBlockPublicAccessExclusionResult(TypedDict, total=False):
    VpcBlockPublicAccessExclusion: VpcBlockPublicAccessExclusion | None


class DeleteVpcEncryptionControlRequest(ServiceRequest):
    DryRun: Boolean | None
    VpcEncryptionControlId: VpcEncryptionControlId


class DeleteVpcEncryptionControlResult(TypedDict, total=False):
    VpcEncryptionControl: VpcEncryptionControl | None


class DeleteVpcEndpointConnectionNotificationsRequest(ServiceRequest):
    DryRun: Boolean | None
    ConnectionNotificationIds: ConnectionNotificationIdsList


class DeleteVpcEndpointConnectionNotificationsResult(TypedDict, total=False):
    Unsuccessful: UnsuccessfulItemSet | None


VpcEndpointServiceIdList = list[VpcEndpointServiceId]


class DeleteVpcEndpointServiceConfigurationsRequest(ServiceRequest):
    DryRun: Boolean | None
    ServiceIds: VpcEndpointServiceIdList


class DeleteVpcEndpointServiceConfigurationsResult(TypedDict, total=False):
    Unsuccessful: UnsuccessfulItemSet | None


class DeleteVpcEndpointsRequest(ServiceRequest):
    DryRun: Boolean | None
    VpcEndpointIds: VpcEndpointIdList


class DeleteVpcEndpointsResult(TypedDict, total=False):
    Unsuccessful: UnsuccessfulItemSet | None


class DeleteVpcPeeringConnectionRequest(ServiceRequest):
    DryRun: Boolean | None
    VpcPeeringConnectionId: VpcPeeringConnectionId


class DeleteVpcPeeringConnectionResult(TypedDict, total=False):
    Return: Boolean | None


class DeleteVpcRequest(ServiceRequest):
    VpcId: VpcId
    DryRun: Boolean | None


class DeleteVpnConcentratorRequest(ServiceRequest):
    VpnConcentratorId: VpnConcentratorId
    DryRun: Boolean | None


class DeleteVpnConcentratorResult(TypedDict, total=False):
    Return: Boolean | None


class DeleteVpnConnectionRequest(ServiceRequest):
    VpnConnectionId: VpnConnectionId
    DryRun: Boolean | None


class DeleteVpnConnectionRouteRequest(ServiceRequest):
    DestinationCidrBlock: String
    VpnConnectionId: VpnConnectionId


class DeleteVpnGatewayRequest(ServiceRequest):
    VpnGatewayId: VpnGatewayId
    DryRun: Boolean | None


class DeprecationTimeCondition(TypedDict, total=False):
    MaximumDaysSinceDeprecated: MaximumDaysSinceDeprecatedValue | None


class DeprecationTimeConditionRequest(TypedDict, total=False):
    MaximumDaysSinceDeprecated: MaximumDaysSinceDeprecatedValue | None


class DeprovisionByoipCidrRequest(ServiceRequest):
    Cidr: String
    DryRun: Boolean | None


class DeprovisionByoipCidrResult(TypedDict, total=False):
    ByoipCidr: ByoipCidr | None


class DeprovisionIpamByoasnRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamId: IpamId
    Asn: String


class DeprovisionIpamByoasnResult(TypedDict, total=False):
    Byoasn: Byoasn | None


class DeprovisionIpamPoolCidrRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPoolId: IpamPoolId
    Cidr: String | None


class IpamPoolCidrFailureReason(TypedDict, total=False):
    Code: IpamPoolCidrFailureCode | None
    Message: String | None


class IpamPoolCidr(TypedDict, total=False):
    Cidr: String | None
    State: IpamPoolCidrState | None
    FailureReason: IpamPoolCidrFailureReason | None
    IpamPoolCidrId: IpamPoolCidrId | None
    NetmaskLength: Integer | None


class DeprovisionIpamPoolCidrResult(TypedDict, total=False):
    IpamPoolCidr: IpamPoolCidr | None


class DeprovisionPublicIpv4PoolCidrRequest(ServiceRequest):
    DryRun: Boolean | None
    PoolId: Ipv4PoolEc2Id
    Cidr: String


DeprovisionedAddressSet = list[String]


class DeprovisionPublicIpv4PoolCidrResult(TypedDict, total=False):
    PoolId: Ipv4PoolEc2Id | None
    DeprovisionedAddresses: DeprovisionedAddressSet | None


class DeregisterImageRequest(ServiceRequest):
    ImageId: ImageId
    DeleteAssociatedSnapshots: Boolean | None
    DryRun: Boolean | None


class DeregisterImageResult(TypedDict, total=False):
    Return: Boolean | None
    DeleteSnapshotResults: DeleteSnapshotResultSet | None


InstanceTagKeySet = list[String]


class DeregisterInstanceTagAttributeRequest(TypedDict, total=False):
    IncludeAllTagsOfInstance: Boolean | None
    InstanceTagKeys: InstanceTagKeySet | None


class DeregisterInstanceEventNotificationAttributesRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceTagAttribute: DeregisterInstanceTagAttributeRequest


class InstanceTagNotificationAttribute(TypedDict, total=False):
    InstanceTagKeys: InstanceTagKeySet | None
    IncludeAllTagsOfInstance: Boolean | None


class DeregisterInstanceEventNotificationAttributesResult(TypedDict, total=False):
    InstanceTagAttribute: InstanceTagNotificationAttribute | None


TransitGatewayNetworkInterfaceIdList = list[NetworkInterfaceId]


class DeregisterTransitGatewayMulticastGroupMembersRequest(ServiceRequest):
    TransitGatewayMulticastDomainId: TransitGatewayMulticastDomainId | None
    GroupIpAddress: String | None
    NetworkInterfaceIds: TransitGatewayNetworkInterfaceIdList | None
    DryRun: Boolean | None


class TransitGatewayMulticastDeregisteredGroupMembers(TypedDict, total=False):
    TransitGatewayMulticastDomainId: String | None
    DeregisteredNetworkInterfaceIds: ValueStringList | None
    GroupIpAddress: String | None


class DeregisterTransitGatewayMulticastGroupMembersResult(TypedDict, total=False):
    DeregisteredMulticastGroupMembers: TransitGatewayMulticastDeregisteredGroupMembers | None


class DeregisterTransitGatewayMulticastGroupSourcesRequest(ServiceRequest):
    TransitGatewayMulticastDomainId: TransitGatewayMulticastDomainId | None
    GroupIpAddress: String | None
    NetworkInterfaceIds: TransitGatewayNetworkInterfaceIdList | None
    DryRun: Boolean | None


class TransitGatewayMulticastDeregisteredGroupSources(TypedDict, total=False):
    TransitGatewayMulticastDomainId: String | None
    DeregisteredNetworkInterfaceIds: ValueStringList | None
    GroupIpAddress: String | None


class DeregisterTransitGatewayMulticastGroupSourcesResult(TypedDict, total=False):
    DeregisteredMulticastGroupSources: TransitGatewayMulticastDeregisteredGroupSources | None


class DescribeAccountAttributesRequest(ServiceRequest):
    DryRun: Boolean | None
    AttributeNames: AccountAttributeNameStringList | None


class DescribeAccountAttributesResult(TypedDict, total=False):
    AccountAttributes: AccountAttributeList | None


class DescribeAddressTransfersRequest(ServiceRequest):
    AllocationIds: AllocationIdList | None
    NextToken: String | None
    MaxResults: DescribeAddressTransfersMaxResults | None
    DryRun: Boolean | None


class DescribeAddressTransfersResult(TypedDict, total=False):
    AddressTransfers: AddressTransferList | None
    NextToken: String | None


class DescribeAddressesAttributeRequest(ServiceRequest):
    AllocationIds: AllocationIds | None
    Attribute: AddressAttributeName | None
    NextToken: NextToken | None
    MaxResults: AddressMaxResults | None
    DryRun: Boolean | None


class DescribeAddressesAttributeResult(TypedDict, total=False):
    Addresses: AddressSet | None
    NextToken: NextToken | None


class Filter(TypedDict, total=False):
    Name: String | None
    Values: ValueStringList | None


FilterList = list[Filter]
PublicIpStringList = list[String]


class DescribeAddressesRequest(ServiceRequest):
    PublicIps: PublicIpStringList | None
    DryRun: Boolean | None
    Filters: FilterList | None
    AllocationIds: AllocationIdList | None


class DescribeAddressesResult(TypedDict, total=False):
    Addresses: AddressList | None


class DescribeAggregateIdFormatRequest(ServiceRequest):
    DryRun: Boolean | None


class IdFormat(TypedDict, total=False):
    Deadline: DateTime | None
    Resource: String | None
    UseLongIds: Boolean | None


IdFormatList = list[IdFormat]


class DescribeAggregateIdFormatResult(TypedDict, total=False):
    UseLongIdsAggregated: Boolean | None
    Statuses: IdFormatList | None


ZoneIdStringList = list[String]
ZoneNameStringList = list[String]


class DescribeAvailabilityZonesRequest(ServiceRequest):
    ZoneNames: ZoneNameStringList | None
    ZoneIds: ZoneIdStringList | None
    AllAvailabilityZones: Boolean | None
    DryRun: Boolean | None
    Filters: FilterList | None


class DescribeAvailabilityZonesResult(TypedDict, total=False):
    AvailabilityZones: AvailabilityZoneList | None


class DescribeAwsNetworkPerformanceMetricSubscriptionsRequest(ServiceRequest):
    MaxResults: MaxResultsParam | None
    NextToken: String | None
    Filters: FilterList | None
    DryRun: Boolean | None


class Subscription(TypedDict, total=False):
    Source: String | None
    Destination: String | None
    Metric: MetricType | None
    Statistic: StatisticType | None
    Period: PeriodType | None


SubscriptionList = list[Subscription]


class DescribeAwsNetworkPerformanceMetricSubscriptionsResult(TypedDict, total=False):
    NextToken: String | None
    Subscriptions: SubscriptionList | None


class DescribeBundleTasksRequest(ServiceRequest):
    BundleIds: BundleIdStringList | None
    DryRun: Boolean | None
    Filters: FilterList | None


class DescribeBundleTasksResult(TypedDict, total=False):
    BundleTasks: BundleTaskList | None


class DescribeByoipCidrsRequest(ServiceRequest):
    DryRun: Boolean | None
    MaxResults: DescribeByoipCidrsMaxResults
    NextToken: NextToken | None


class DescribeByoipCidrsResult(TypedDict, total=False):
    ByoipCidrs: ByoipCidrSet | None
    NextToken: String | None


class DescribeCapacityBlockExtensionHistoryRequest(ServiceRequest):
    CapacityReservationIds: CapacityReservationIdSet | None
    NextToken: String | None
    MaxResults: DescribeFutureCapacityMaxResults | None
    Filters: FilterList | None
    DryRun: Boolean | None


class DescribeCapacityBlockExtensionHistoryResult(TypedDict, total=False):
    CapacityBlockExtensions: CapacityBlockExtensionSet | None
    NextToken: String | None


class DescribeCapacityBlockExtensionOfferingsRequest(ServiceRequest):
    DryRun: Boolean | None
    CapacityBlockExtensionDurationHours: Integer
    CapacityReservationId: CapacityReservationId
    NextToken: String | None
    MaxResults: DescribeCapacityBlockExtensionOfferingsMaxResults | None


class DescribeCapacityBlockExtensionOfferingsResult(TypedDict, total=False):
    CapacityBlockExtensionOfferings: CapacityBlockExtensionOfferingSet | None
    NextToken: String | None


class DescribeCapacityBlockOfferingsRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceType: String | None
    InstanceCount: Integer | None
    StartDateRange: MillisecondDateTime | None
    EndDateRange: MillisecondDateTime | None
    CapacityDurationHours: Integer
    NextToken: String | None
    MaxResults: DescribeCapacityBlockOfferingsMaxResults | None
    UltraserverType: String | None
    UltraserverCount: Integer | None


class DescribeCapacityBlockOfferingsResult(TypedDict, total=False):
    CapacityBlockOfferings: CapacityBlockOfferingSet | None
    NextToken: String | None


class DescribeCapacityBlockStatusRequest(ServiceRequest):
    CapacityBlockIds: CapacityBlockIds | None
    NextToken: String | None
    MaxResults: DescribeCapacityBlockStatusMaxResults | None
    Filters: FilterList | None
    DryRun: Boolean | None


class DescribeCapacityBlockStatusResult(TypedDict, total=False):
    CapacityBlockStatuses: CapacityBlockStatusSet | None
    NextToken: String | None


class DescribeCapacityBlocksRequest(ServiceRequest):
    CapacityBlockIds: CapacityBlockIds | None
    NextToken: String | None
    MaxResults: DescribeCapacityBlocksMaxResults | None
    Filters: FilterList | None
    DryRun: Boolean | None


class DescribeCapacityBlocksResult(TypedDict, total=False):
    CapacityBlocks: CapacityBlockSet | None
    NextToken: String | None


class DescribeCapacityManagerDataExportsRequest(ServiceRequest):
    CapacityManagerDataExportIds: CapacityManagerDataExportIdSet | None
    MaxResults: DescribeCapacityManagerDataExportsRequestMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None
    Filters: FilterList | None


class DescribeCapacityManagerDataExportsResult(TypedDict, total=False):
    CapacityManagerDataExports: CapacityManagerDataExportResponseSet | None
    NextToken: String | None


class DescribeCapacityReservationBillingRequestsRequest(ServiceRequest):
    CapacityReservationIds: CapacityReservationIdSet | None
    Role: CallerRole
    NextToken: String | None
    MaxResults: DescribeCapacityReservationBillingRequestsRequestMaxResults | None
    Filters: FilterList | None
    DryRun: Boolean | None


class DescribeCapacityReservationBillingRequestsResult(TypedDict, total=False):
    NextToken: String | None
    CapacityReservationBillingRequests: CapacityReservationBillingRequestSet | None


class DescribeCapacityReservationFleetsRequest(ServiceRequest):
    CapacityReservationFleetIds: CapacityReservationFleetIdSet | None
    NextToken: String | None
    MaxResults: DescribeCapacityReservationFleetsMaxResults | None
    Filters: FilterList | None
    DryRun: Boolean | None


class DescribeCapacityReservationFleetsResult(TypedDict, total=False):
    CapacityReservationFleets: CapacityReservationFleetSet | None
    NextToken: String | None


class DescribeCapacityReservationTopologyRequest(ServiceRequest):
    DryRun: Boolean | None
    NextToken: String | None
    MaxResults: DescribeCapacityReservationTopologyMaxResults | None
    CapacityReservationIds: CapacityReservationIdSet | None
    Filters: FilterList | None


class DescribeCapacityReservationTopologyResult(TypedDict, total=False):
    NextToken: String | None
    CapacityReservations: CapacityReservationTopologySet | None


class DescribeCapacityReservationsRequest(ServiceRequest):
    CapacityReservationIds: CapacityReservationIdSet | None
    NextToken: String | None
    MaxResults: DescribeCapacityReservationsMaxResults | None
    Filters: FilterList | None
    DryRun: Boolean | None


class DescribeCapacityReservationsResult(TypedDict, total=False):
    NextToken: String | None
    CapacityReservations: CapacityReservationSet | None


class DescribeCarrierGatewaysRequest(ServiceRequest):
    CarrierGatewayIds: CarrierGatewayIdSet | None
    Filters: FilterList | None
    MaxResults: CarrierGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


class DescribeCarrierGatewaysResult(TypedDict, total=False):
    CarrierGateways: CarrierGatewaySet | None
    NextToken: String | None


InstanceIdStringList = list[InstanceId]


class DescribeClassicLinkInstancesRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceIds: InstanceIdStringList | None
    Filters: FilterList | None
    NextToken: String | None
    MaxResults: DescribeClassicLinkInstancesMaxResults | None


class DescribeClassicLinkInstancesResult(TypedDict, total=False):
    Instances: ClassicLinkInstanceList | None
    NextToken: String | None


class DescribeClientVpnAuthorizationRulesRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    DryRun: Boolean | None
    NextToken: NextToken | None
    Filters: FilterList | None
    MaxResults: DescribeClientVpnAuthorizationRulesMaxResults | None


class DescribeClientVpnAuthorizationRulesResult(TypedDict, total=False):
    AuthorizationRules: AuthorizationRuleSet | None
    NextToken: NextToken | None


class DescribeClientVpnConnectionsRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    Filters: FilterList | None
    NextToken: NextToken | None
    MaxResults: DescribeClientVpnConnectionsMaxResults | None
    DryRun: Boolean | None


class DescribeClientVpnConnectionsResult(TypedDict, total=False):
    Connections: ClientVpnConnectionSet | None
    NextToken: NextToken | None


class DescribeClientVpnEndpointsRequest(ServiceRequest):
    ClientVpnEndpointIds: ClientVpnEndpointIdList | None
    MaxResults: DescribeClientVpnEndpointMaxResults | None
    NextToken: NextToken | None
    Filters: FilterList | None
    DryRun: Boolean | None


EndpointSet = list[ClientVpnEndpoint]


class DescribeClientVpnEndpointsResult(TypedDict, total=False):
    ClientVpnEndpoints: EndpointSet | None
    NextToken: NextToken | None


class DescribeClientVpnRoutesRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    Filters: FilterList | None
    MaxResults: DescribeClientVpnRoutesMaxResults | None
    NextToken: NextToken | None
    DryRun: Boolean | None


class DescribeClientVpnRoutesResult(TypedDict, total=False):
    Routes: ClientVpnRouteSet | None
    NextToken: NextToken | None


class DescribeClientVpnTargetNetworksRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    AssociationIds: ValueStringList | None
    MaxResults: DescribeClientVpnTargetNetworksMaxResults | None
    NextToken: NextToken | None
    Filters: FilterList | None
    DryRun: Boolean | None


class TargetNetwork(TypedDict, total=False):
    AssociationId: String | None
    VpcId: String | None
    TargetNetworkId: String | None
    ClientVpnEndpointId: String | None
    Status: AssociationStatus | None
    SecurityGroups: ValueStringList | None


TargetNetworkSet = list[TargetNetwork]


class DescribeClientVpnTargetNetworksResult(TypedDict, total=False):
    ClientVpnTargetNetworks: TargetNetworkSet | None
    NextToken: NextToken | None


class DescribeCoipPoolsRequest(ServiceRequest):
    PoolIds: CoipPoolIdSet | None
    Filters: FilterList | None
    MaxResults: CoipPoolMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


class DescribeCoipPoolsResult(TypedDict, total=False):
    CoipPools: CoipPoolSet | None
    NextToken: String | None


DescribeConversionTaskList = list[ConversionTask]


class DescribeConversionTasksRequest(ServiceRequest):
    DryRun: Boolean | None
    ConversionTaskIds: ConversionIdStringList | None


class DescribeConversionTasksResult(TypedDict, total=False):
    ConversionTasks: DescribeConversionTaskList | None


class DescribeCustomerGatewaysRequest(ServiceRequest):
    CustomerGatewayIds: CustomerGatewayIdStringList | None
    Filters: FilterList | None
    DryRun: Boolean | None


class DescribeCustomerGatewaysResult(TypedDict, total=False):
    CustomerGateways: CustomerGatewayList | None


class DescribeDeclarativePoliciesReportsRequest(ServiceRequest):
    DryRun: Boolean | None
    NextToken: String | None
    MaxResults: DeclarativePoliciesMaxResults | None
    ReportIds: ValueStringList | None


class DescribeDeclarativePoliciesReportsResult(TypedDict, total=False):
    NextToken: String | None
    Reports: DeclarativePoliciesReportList | None


DhcpOptionsIdStringList = list[DhcpOptionsId]


class DescribeDhcpOptionsRequest(ServiceRequest):
    DhcpOptionsIds: DhcpOptionsIdStringList | None
    NextToken: String | None
    MaxResults: DescribeDhcpOptionsMaxResults | None
    DryRun: Boolean | None
    Filters: FilterList | None


DhcpOptionsList = list[DhcpOptions]


class DescribeDhcpOptionsResult(TypedDict, total=False):
    NextToken: String | None
    DhcpOptions: DhcpOptionsList | None


EgressOnlyInternetGatewayIdList = list[EgressOnlyInternetGatewayId]


class DescribeEgressOnlyInternetGatewaysRequest(ServiceRequest):
    DryRun: Boolean | None
    EgressOnlyInternetGatewayIds: EgressOnlyInternetGatewayIdList | None
    MaxResults: DescribeEgressOnlyInternetGatewaysMaxResults | None
    NextToken: String | None
    Filters: FilterList | None


EgressOnlyInternetGatewayList = list[EgressOnlyInternetGateway]


class DescribeEgressOnlyInternetGatewaysResult(TypedDict, total=False):
    EgressOnlyInternetGateways: EgressOnlyInternetGatewayList | None
    NextToken: String | None


ElasticGpuIdSet = list[ElasticGpuId]


class DescribeElasticGpusRequest(ServiceRequest):
    ElasticGpuIds: ElasticGpuIdSet | None
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: DescribeElasticGpusMaxResults | None
    NextToken: String | None


class ElasticGpuHealth(TypedDict, total=False):
    Status: ElasticGpuStatus | None


class ElasticGpus(TypedDict, total=False):
    ElasticGpuId: String | None
    AvailabilityZone: String | None
    ElasticGpuType: String | None
    ElasticGpuHealth: ElasticGpuHealth | None
    ElasticGpuState: ElasticGpuState | None
    InstanceId: String | None
    Tags: TagList | None


ElasticGpuSet = list[ElasticGpus]


class DescribeElasticGpusResult(TypedDict, total=False):
    ElasticGpuSet: ElasticGpuSet | None
    MaxResults: Integer | None
    NextToken: String | None


ExportImageTaskIdList = list[ExportImageTaskId]


class DescribeExportImageTasksRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    ExportImageTaskIds: ExportImageTaskIdList | None
    MaxResults: DescribeExportImageTasksMaxResults | None
    NextToken: NextToken | None


class ExportTaskS3Location(TypedDict, total=False):
    S3Bucket: String | None
    S3Prefix: String | None


class ExportImageTask(TypedDict, total=False):
    Description: String | None
    ExportImageTaskId: String | None
    ImageId: String | None
    Progress: String | None
    S3ExportLocation: ExportTaskS3Location | None
    Status: String | None
    StatusMessage: String | None
    Tags: TagList | None


ExportImageTaskList = list[ExportImageTask]


class DescribeExportImageTasksResult(TypedDict, total=False):
    ExportImageTasks: ExportImageTaskList | None
    NextToken: NextToken | None


ExportTaskIdStringList = list[ExportTaskId]


class DescribeExportTasksRequest(ServiceRequest):
    Filters: FilterList | None
    ExportTaskIds: ExportTaskIdStringList | None


ExportTaskList = list[ExportTask]


class DescribeExportTasksResult(TypedDict, total=False):
    ExportTasks: ExportTaskList | None


FastLaunchImageIdList = list[ImageId]


class DescribeFastLaunchImagesRequest(ServiceRequest):
    ImageIds: FastLaunchImageIdList | None
    Filters: FilterList | None
    MaxResults: DescribeFastLaunchImagesRequestMaxResults | None
    NextToken: NextToken | None
    DryRun: Boolean | None


class FastLaunchLaunchTemplateSpecificationResponse(TypedDict, total=False):
    LaunchTemplateId: LaunchTemplateId | None
    LaunchTemplateName: String | None
    Version: String | None


class FastLaunchSnapshotConfigurationResponse(TypedDict, total=False):
    TargetResourceCount: Integer | None


class DescribeFastLaunchImagesSuccessItem(TypedDict, total=False):
    ImageId: ImageId | None
    ResourceType: FastLaunchResourceType | None
    SnapshotConfiguration: FastLaunchSnapshotConfigurationResponse | None
    LaunchTemplate: FastLaunchLaunchTemplateSpecificationResponse | None
    MaxParallelLaunches: Integer | None
    OwnerId: String | None
    State: FastLaunchStateCode | None
    StateTransitionReason: String | None
    StateTransitionTime: MillisecondDateTime | None


DescribeFastLaunchImagesSuccessSet = list[DescribeFastLaunchImagesSuccessItem]


class DescribeFastLaunchImagesResult(TypedDict, total=False):
    FastLaunchImages: DescribeFastLaunchImagesSuccessSet | None
    NextToken: NextToken | None


class DescribeFastSnapshotRestoreSuccessItem(TypedDict, total=False):
    SnapshotId: String | None
    AvailabilityZone: String | None
    AvailabilityZoneId: String | None
    State: FastSnapshotRestoreStateCode | None
    StateTransitionReason: String | None
    OwnerId: String | None
    OwnerAlias: String | None
    EnablingTime: MillisecondDateTime | None
    OptimizingTime: MillisecondDateTime | None
    EnabledTime: MillisecondDateTime | None
    DisablingTime: MillisecondDateTime | None
    DisabledTime: MillisecondDateTime | None


DescribeFastSnapshotRestoreSuccessSet = list[DescribeFastSnapshotRestoreSuccessItem]


class DescribeFastSnapshotRestoresRequest(ServiceRequest):
    Filters: FilterList | None
    MaxResults: DescribeFastSnapshotRestoresMaxResults | None
    NextToken: NextToken | None
    DryRun: Boolean | None


class DescribeFastSnapshotRestoresResult(TypedDict, total=False):
    FastSnapshotRestores: DescribeFastSnapshotRestoreSuccessSet | None
    NextToken: NextToken | None


class DescribeFleetError(TypedDict, total=False):
    LaunchTemplateAndOverrides: LaunchTemplateAndOverridesResponse | None
    Lifecycle: InstanceLifecycle | None
    ErrorCode: String | None
    ErrorMessage: String | None


class DescribeFleetHistoryRequest(ServiceRequest):
    DryRun: Boolean | None
    EventType: FleetEventType | None
    MaxResults: Integer | None
    NextToken: String | None
    FleetId: FleetId
    StartTime: DateTime


class EventInformation(TypedDict, total=False):
    EventDescription: String | None
    EventSubType: String | None
    InstanceId: String | None


class HistoryRecordEntry(TypedDict, total=False):
    EventInformation: EventInformation | None
    EventType: FleetEventType | None
    Timestamp: DateTime | None


HistoryRecordSet = list[HistoryRecordEntry]


class DescribeFleetHistoryResult(TypedDict, total=False):
    HistoryRecords: HistoryRecordSet | None
    LastEvaluatedTime: DateTime | None
    NextToken: String | None
    FleetId: FleetId | None
    StartTime: DateTime | None


class DescribeFleetInstancesRequest(ServiceRequest):
    DryRun: Boolean | None
    MaxResults: Integer | None
    NextToken: String | None
    FleetId: FleetId
    Filters: FilterList | None


class DescribeFleetInstancesResult(TypedDict, total=False):
    ActiveInstances: ActiveInstanceSet | None
    NextToken: String | None
    FleetId: FleetId | None


DescribeFleetsErrorSet = list[DescribeFleetError]


class DescribeFleetsInstances(TypedDict, total=False):
    LaunchTemplateAndOverrides: LaunchTemplateAndOverridesResponse | None
    Lifecycle: InstanceLifecycle | None
    InstanceIds: InstanceIdsSet | None
    InstanceType: InstanceType | None
    Platform: PlatformValues | None


DescribeFleetsInstancesSet = list[DescribeFleetsInstances]


class DescribeFleetsRequest(ServiceRequest):
    DryRun: Boolean | None
    MaxResults: Integer | None
    NextToken: String | None
    FleetIds: FleetIdSet | None
    Filters: FilterList | None


class OnDemandOptions(TypedDict, total=False):
    AllocationStrategy: FleetOnDemandAllocationStrategy | None
    CapacityReservationOptions: CapacityReservationOptions | None
    SingleInstanceType: Boolean | None
    SingleAvailabilityZone: Boolean | None
    MinTargetCapacity: Integer | None
    MaxTotalPrice: String | None


class FleetSpotCapacityRebalance(TypedDict, total=False):
    ReplacementStrategy: FleetReplacementStrategy | None
    TerminationDelay: Integer | None


class FleetSpotMaintenanceStrategies(TypedDict, total=False):
    CapacityRebalance: FleetSpotCapacityRebalance | None


class SpotOptions(TypedDict, total=False):
    AllocationStrategy: SpotAllocationStrategy | None
    MaintenanceStrategies: FleetSpotMaintenanceStrategies | None
    InstanceInterruptionBehavior: SpotInstanceInterruptionBehavior | None
    InstancePoolsToUseCount: Integer | None
    SingleInstanceType: Boolean | None
    SingleAvailabilityZone: Boolean | None
    MinTargetCapacity: Integer | None
    MaxTotalPrice: String | None


class TargetCapacitySpecification(TypedDict, total=False):
    TotalTargetCapacity: Integer | None
    OnDemandTargetCapacity: Integer | None
    SpotTargetCapacity: Integer | None
    DefaultTargetCapacityType: DefaultTargetCapacityType | None
    TargetCapacityUnitType: TargetCapacityUnitType | None


FleetLaunchTemplateOverridesList = list[FleetLaunchTemplateOverrides]


class FleetLaunchTemplateConfig(TypedDict, total=False):
    LaunchTemplateSpecification: FleetLaunchTemplateSpecification | None
    Overrides: FleetLaunchTemplateOverridesList | None


FleetLaunchTemplateConfigList = list[FleetLaunchTemplateConfig]


class FleetData(TypedDict, total=False):
    ActivityStatus: FleetActivityStatus | None
    CreateTime: DateTime | None
    FleetId: FleetId | None
    FleetState: FleetStateCode | None
    ClientToken: String | None
    ExcessCapacityTerminationPolicy: FleetExcessCapacityTerminationPolicy | None
    FulfilledCapacity: Double | None
    FulfilledOnDemandCapacity: Double | None
    LaunchTemplateConfigs: FleetLaunchTemplateConfigList | None
    TargetCapacitySpecification: TargetCapacitySpecification | None
    TerminateInstancesWithExpiration: Boolean | None
    Type: FleetType | None
    ValidFrom: DateTime | None
    ValidUntil: DateTime | None
    ReplaceUnhealthyInstances: Boolean | None
    SpotOptions: SpotOptions | None
    OnDemandOptions: OnDemandOptions | None
    Tags: TagList | None
    Errors: DescribeFleetsErrorSet | None
    Instances: DescribeFleetsInstancesSet | None
    Context: String | None


FleetSet = list[FleetData]


class DescribeFleetsResult(TypedDict, total=False):
    NextToken: String | None
    Fleets: FleetSet | None


class DescribeFlowLogsRequest(ServiceRequest):
    DryRun: Boolean | None
    Filter: FilterList | None
    FlowLogIds: FlowLogIdList | None
    MaxResults: Integer | None
    NextToken: String | None


class DestinationOptionsResponse(TypedDict, total=False):
    FileFormat: DestinationFileFormat | None
    HiveCompatiblePartitions: Boolean | None
    PerHourPartition: Boolean | None


class FlowLog(TypedDict, total=False):
    CreationTime: MillisecondDateTime | None
    DeliverLogsErrorMessage: String | None
    DeliverLogsPermissionArn: String | None
    DeliverCrossAccountRole: String | None
    DeliverLogsStatus: String | None
    FlowLogId: String | None
    FlowLogStatus: String | None
    LogGroupName: String | None
    ResourceId: String | None
    TrafficType: TrafficType | None
    LogDestinationType: LogDestinationType | None
    LogDestination: String | None
    LogFormat: String | None
    Tags: TagList | None
    MaxAggregationInterval: Integer | None
    DestinationOptions: DestinationOptionsResponse | None


FlowLogSet = list[FlowLog]


class DescribeFlowLogsResult(TypedDict, total=False):
    FlowLogs: FlowLogSet | None
    NextToken: String | None


class DescribeFpgaImageAttributeRequest(ServiceRequest):
    DryRun: Boolean | None
    FpgaImageId: FpgaImageId
    Attribute: FpgaImageAttributeName


class ProductCode(TypedDict, total=False):
    ProductCodeId: String | None
    ProductCodeType: ProductCodeValues | None


ProductCodeList = list[ProductCode]


class LoadPermission(TypedDict, total=False):
    UserId: String | None
    Group: PermissionGroup | None


LoadPermissionList = list[LoadPermission]


class FpgaImageAttribute(TypedDict, total=False):
    FpgaImageId: String | None
    Name: String | None
    Description: String | None
    LoadPermissions: LoadPermissionList | None
    ProductCodes: ProductCodeList | None


class DescribeFpgaImageAttributeResult(TypedDict, total=False):
    FpgaImageAttribute: FpgaImageAttribute | None


OwnerStringList = list[String]
FpgaImageIdList = list[FpgaImageId]


class DescribeFpgaImagesRequest(ServiceRequest):
    DryRun: Boolean | None
    FpgaImageIds: FpgaImageIdList | None
    Owners: OwnerStringList | None
    Filters: FilterList | None
    NextToken: NextToken | None
    MaxResults: DescribeFpgaImagesMaxResults | None


InstanceTypesList = list[String]


class FpgaImageState(TypedDict, total=False):
    Code: FpgaImageStateCode | None
    Message: String | None


class PciId(TypedDict, total=False):
    DeviceId: String | None
    VendorId: String | None
    SubsystemId: String | None
    SubsystemVendorId: String | None


class FpgaImage(TypedDict, total=False):
    FpgaImageId: String | None
    FpgaImageGlobalId: String | None
    Name: String | None
    Description: String | None
    ShellVersion: String | None
    PciId: PciId | None
    State: FpgaImageState | None
    CreateTime: DateTime | None
    UpdateTime: DateTime | None
    OwnerId: String | None
    OwnerAlias: String | None
    ProductCodes: ProductCodeList | None
    Tags: TagList | None
    Public: Boolean | None
    DataRetentionSupport: Boolean | None
    InstanceTypes: InstanceTypesList | None


FpgaImageList = list[FpgaImage]


class DescribeFpgaImagesResult(TypedDict, total=False):
    FpgaImages: FpgaImageList | None
    NextToken: NextToken | None


class DescribeHostReservationOfferingsRequest(ServiceRequest):
    Filter: FilterList | None
    MaxDuration: Integer | None
    MaxResults: DescribeHostReservationsMaxResults | None
    MinDuration: Integer | None
    NextToken: String | None
    OfferingId: OfferingId | None


class HostOffering(TypedDict, total=False):
    CurrencyCode: CurrencyCodeValues | None
    Duration: Integer | None
    HourlyPrice: String | None
    InstanceFamily: String | None
    OfferingId: OfferingId | None
    PaymentOption: PaymentOption | None
    UpfrontPrice: String | None


HostOfferingSet = list[HostOffering]


class DescribeHostReservationOfferingsResult(TypedDict, total=False):
    NextToken: String | None
    OfferingSet: HostOfferingSet | None


HostReservationIdSet = list[HostReservationId]


class DescribeHostReservationsRequest(ServiceRequest):
    Filter: FilterList | None
    HostReservationIdSet: HostReservationIdSet | None
    MaxResults: Integer | None
    NextToken: String | None


ResponseHostIdSet = list[String]


class HostReservation(TypedDict, total=False):
    Count: Integer | None
    CurrencyCode: CurrencyCodeValues | None
    Duration: Integer | None
    End: DateTime | None
    HostIdSet: ResponseHostIdSet | None
    HostReservationId: HostReservationId | None
    HourlyPrice: String | None
    InstanceFamily: String | None
    OfferingId: OfferingId | None
    PaymentOption: PaymentOption | None
    Start: DateTime | None
    State: ReservationState | None
    UpfrontPrice: String | None
    Tags: TagList | None


HostReservationSet = list[HostReservation]


class DescribeHostReservationsResult(TypedDict, total=False):
    HostReservationSet: HostReservationSet | None
    NextToken: String | None


RequestHostIdList = list[DedicatedHostId]


class DescribeHostsRequest(ServiceRequest):
    HostIds: RequestHostIdList | None
    NextToken: String | None
    MaxResults: Integer | None
    Filter: FilterList | None


class HostInstance(TypedDict, total=False):
    InstanceId: String | None
    InstanceType: String | None
    OwnerId: String | None


HostInstanceList = list[HostInstance]


class HostProperties(TypedDict, total=False):
    Cores: Integer | None
    InstanceType: String | None
    InstanceFamily: String | None
    Sockets: Integer | None
    TotalVCpus: Integer | None


class Host(TypedDict, total=False):
    AutoPlacement: AutoPlacement | None
    AvailabilityZone: String | None
    AvailableCapacity: AvailableCapacity | None
    ClientToken: String | None
    HostId: String | None
    HostProperties: HostProperties | None
    HostReservationId: String | None
    Instances: HostInstanceList | None
    State: AllocationState | None
    AllocationTime: DateTime | None
    ReleaseTime: DateTime | None
    Tags: TagList | None
    HostRecovery: HostRecovery | None
    AllowsMultipleInstanceTypes: AllowsMultipleInstanceTypes | None
    OwnerId: String | None
    AvailabilityZoneId: String | None
    MemberOfServiceLinkedResourceGroup: Boolean | None
    OutpostArn: String | None
    HostMaintenance: HostMaintenance | None
    AssetId: AssetId | None


HostList = list[Host]


class DescribeHostsResult(TypedDict, total=False):
    Hosts: HostList | None
    NextToken: String | None


class DescribeIamInstanceProfileAssociationsRequest(ServiceRequest):
    AssociationIds: AssociationIdList | None
    Filters: FilterList | None
    MaxResults: DescribeIamInstanceProfileAssociationsMaxResults | None
    NextToken: NextToken | None


IamInstanceProfileAssociationSet = list[IamInstanceProfileAssociation]


class DescribeIamInstanceProfileAssociationsResult(TypedDict, total=False):
    IamInstanceProfileAssociations: IamInstanceProfileAssociationSet | None
    NextToken: NextToken | None


class DescribeIdFormatRequest(ServiceRequest):
    Resource: String | None


class DescribeIdFormatResult(TypedDict, total=False):
    Statuses: IdFormatList | None


class DescribeIdentityIdFormatRequest(ServiceRequest):
    Resource: String | None
    PrincipalArn: String


class DescribeIdentityIdFormatResult(TypedDict, total=False):
    Statuses: IdFormatList | None


class DescribeImageAttributeRequest(ServiceRequest):
    Attribute: ImageAttributeName
    ImageId: ImageId
    DryRun: Boolean | None


DescribeImageReferencesImageIdStringList = list[ImageId]
ResourceTypeOptionValuesList = list[ResourceTypeOptionValue]


class ResourceTypeOption(TypedDict, total=False):
    OptionName: ImageReferenceOptionName | None
    OptionValues: ResourceTypeOptionValuesList | None


ResourceTypeOptionList = list[ResourceTypeOption]


class ResourceTypeRequest(TypedDict, total=False):
    ResourceType: ImageReferenceResourceType | None
    ResourceTypeOptions: ResourceTypeOptionList | None


ResourceTypeRequestList = list[ResourceTypeRequest]


class DescribeImageReferencesRequest(ServiceRequest):
    ImageIds: DescribeImageReferencesImageIdStringList
    IncludeAllResourceTypes: Boolean | None
    ResourceTypes: ResourceTypeRequestList | None
    NextToken: String | None
    DryRun: Boolean | None
    MaxResults: DescribeImageReferencesMaxResults | None


class ImageReference(TypedDict, total=False):
    ImageId: ImageId | None
    ResourceType: ImageReferenceResourceType | None
    Arn: String | None


ImageReferenceList = list[ImageReference]


class DescribeImageReferencesResult(TypedDict, total=False):
    NextToken: String | None
    ImageReferences: ImageReferenceList | None


ImageUsageReportIdStringList = list[ImageUsageReportId]
DescribeImageUsageReportsImageIdStringList = list[ImageId]


class DescribeImageUsageReportEntriesRequest(ServiceRequest):
    ImageIds: DescribeImageUsageReportsImageIdStringList | None
    ReportIds: ImageUsageReportIdStringList | None
    NextToken: String | None
    Filters: FilterList | None
    DryRun: Boolean | None
    MaxResults: DescribeImageUsageReportEntriesMaxResults | None


class ImageUsageReportEntry(TypedDict, total=False):
    ResourceType: ImageUsageResourceTypeName | None
    ReportId: ImageUsageReportId | None
    UsageCount: Long | None
    AccountId: String | None
    ImageId: ImageId | None
    ReportCreationTime: MillisecondDateTime | None


ImageUsageReportEntryList = list[ImageUsageReportEntry]


class DescribeImageUsageReportEntriesResult(TypedDict, total=False):
    NextToken: String | None
    ImageUsageReportEntries: ImageUsageReportEntryList | None


class DescribeImageUsageReportsRequest(ServiceRequest):
    ImageIds: DescribeImageUsageReportsImageIdStringList | None
    ReportIds: ImageUsageReportIdStringList | None
    NextToken: String | None
    Filters: FilterList | None
    DryRun: Boolean | None
    MaxResults: DescribeImageUsageReportsMaxResults | None


UserIdList = list[String]


class ImageUsageResourceTypeOption(TypedDict, total=False):
    OptionName: String | None
    OptionValues: ImageUsageResourceTypeOptionValuesList | None


ImageUsageResourceTypeOptionList = list[ImageUsageResourceTypeOption]


class ImageUsageResourceType(TypedDict, total=False):
    ResourceType: ImageUsageResourceTypeName | None
    ResourceTypeOptions: ImageUsageResourceTypeOptionList | None


ImageUsageResourceTypeList = list[ImageUsageResourceType]


class ImageUsageReport(TypedDict, total=False):
    ImageId: ImageId | None
    ReportId: ImageUsageReportId | None
    ResourceTypes: ImageUsageResourceTypeList | None
    AccountIds: UserIdList | None
    State: ImageUsageReportState | None
    StateReason: ImageUsageReportStateReason | None
    CreationTime: MillisecondDateTime | None
    ExpirationTime: MillisecondDateTime | None
    Tags: TagList | None


ImageUsageReportList = list[ImageUsageReport]


class DescribeImageUsageReportsResult(TypedDict, total=False):
    NextToken: String | None
    ImageUsageReports: ImageUsageReportList | None


ImageIdStringList = list[ImageId]
ExecutableByStringList = list[String]


class DescribeImagesRequest(ServiceRequest):
    ExecutableUsers: ExecutableByStringList | None
    ImageIds: ImageIdStringList | None
    Owners: OwnerStringList | None
    IncludeDeprecated: Boolean | None
    IncludeDisabled: Boolean | None
    MaxResults: Integer | None
    NextToken: String | None
    DryRun: Boolean | None
    Filters: FilterList | None


class Image(TypedDict, total=False):
    PlatformDetails: String | None
    UsageOperation: String | None
    BlockDeviceMappings: BlockDeviceMappingList | None
    Description: String | None
    EnaSupport: Boolean | None
    Hypervisor: HypervisorType | None
    ImageOwnerAlias: String | None
    Name: String | None
    RootDeviceName: String | None
    RootDeviceType: DeviceType | None
    SriovNetSupport: String | None
    StateReason: StateReason | None
    Tags: TagList | None
    VirtualizationType: VirtualizationType | None
    BootMode: BootModeValues | None
    TpmSupport: TpmSupportValues | None
    DeprecationTime: String | None
    ImdsSupport: ImdsSupportValues | None
    SourceInstanceId: String | None
    DeregistrationProtection: String | None
    LastLaunchedTime: String | None
    ImageAllowed: Boolean | None
    SourceImageId: String | None
    SourceImageRegion: String | None
    FreeTierEligible: Boolean | None
    ImageId: String | None
    ImageLocation: String | None
    State: ImageState | None
    OwnerId: String | None
    CreationDate: String | None
    Public: Boolean | None
    ProductCodes: ProductCodeList | None
    Architecture: ArchitectureValues | None
    ImageType: ImageTypeValues | None
    KernelId: String | None
    RamdiskId: String | None
    Platform: PlatformValues | None


ImageList = list[Image]


class DescribeImagesResult(TypedDict, total=False):
    NextToken: String | None
    Images: ImageList | None


ImportTaskIdList = list[ImportImageTaskId]


class DescribeImportImageTasksRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    ImportTaskIds: ImportTaskIdList | None
    MaxResults: Integer | None
    NextToken: String | None


class ImportImageLicenseConfigurationResponse(TypedDict, total=False):
    LicenseConfigurationArn: String | None


ImportImageLicenseSpecificationListResponse = list[ImportImageLicenseConfigurationResponse]


class UserBucketDetails(TypedDict, total=False):
    S3Bucket: String | None
    S3Key: String | None


class SnapshotDetail(TypedDict, total=False):
    Description: String | None
    DeviceName: String | None
    DiskImageSize: Double | None
    Format: String | None
    Progress: String | None
    SnapshotId: String | None
    Status: String | None
    StatusMessage: String | None
    Url: SensitiveUrl | None
    UserBucket: UserBucketDetails | None


SnapshotDetailList = list[SnapshotDetail]


class ImportImageTask(TypedDict, total=False):
    Architecture: String | None
    Description: String | None
    Encrypted: Boolean | None
    Hypervisor: String | None
    ImageId: String | None
    ImportTaskId: String | None
    KmsKeyId: String | None
    LicenseType: String | None
    Platform: String | None
    Progress: String | None
    SnapshotDetails: SnapshotDetailList | None
    Status: String | None
    StatusMessage: String | None
    Tags: TagList | None
    LicenseSpecifications: ImportImageLicenseSpecificationListResponse | None
    UsageOperation: String | None
    BootMode: BootModeValues | None


ImportImageTaskList = list[ImportImageTask]


class DescribeImportImageTasksResult(TypedDict, total=False):
    ImportImageTasks: ImportImageTaskList | None
    NextToken: String | None


ImportSnapshotTaskIdList = list[ImportSnapshotTaskId]


class DescribeImportSnapshotTasksRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    ImportTaskIds: ImportSnapshotTaskIdList | None
    MaxResults: Integer | None
    NextToken: String | None


class SnapshotTaskDetail(TypedDict, total=False):
    Description: String | None
    DiskImageSize: Double | None
    Encrypted: Boolean | None
    Format: String | None
    KmsKeyId: String | None
    Progress: String | None
    SnapshotId: String | None
    Status: String | None
    StatusMessage: String | None
    Url: SensitiveUrl | None
    UserBucket: UserBucketDetails | None


class ImportSnapshotTask(TypedDict, total=False):
    Description: String | None
    ImportTaskId: String | None
    SnapshotTaskDetail: SnapshotTaskDetail | None
    Tags: TagList | None


ImportSnapshotTaskList = list[ImportSnapshotTask]


class DescribeImportSnapshotTasksResult(TypedDict, total=False):
    ImportSnapshotTasks: ImportSnapshotTaskList | None
    NextToken: String | None


class DescribeInstanceAttributeRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceId: InstanceId
    Attribute: InstanceAttributeName


class DescribeInstanceConnectEndpointsRequest(ServiceRequest):
    DryRun: Boolean | None
    MaxResults: InstanceConnectEndpointMaxResults | None
    NextToken: NextToken | None
    Filters: FilterList | None
    InstanceConnectEndpointIds: ValueStringList | None


InstanceConnectEndpointSet = list[Ec2InstanceConnectEndpoint]


class DescribeInstanceConnectEndpointsResult(TypedDict, total=False):
    InstanceConnectEndpoints: InstanceConnectEndpointSet | None
    NextToken: NextToken | None


class DescribeInstanceCreditSpecificationsRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    InstanceIds: InstanceIdStringList | None
    MaxResults: DescribeInstanceCreditSpecificationsMaxResults | None
    NextToken: String | None


class InstanceCreditSpecification(TypedDict, total=False):
    InstanceId: String | None
    CpuCredits: String | None


InstanceCreditSpecificationList = list[InstanceCreditSpecification]


class DescribeInstanceCreditSpecificationsResult(TypedDict, total=False):
    InstanceCreditSpecifications: InstanceCreditSpecificationList | None
    NextToken: String | None


class DescribeInstanceEventNotificationAttributesRequest(ServiceRequest):
    DryRun: Boolean | None


class DescribeInstanceEventNotificationAttributesResult(TypedDict, total=False):
    InstanceTagAttribute: InstanceTagNotificationAttribute | None


InstanceEventWindowIdSet = list[InstanceEventWindowId]


class DescribeInstanceEventWindowsRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceEventWindowIds: InstanceEventWindowIdSet | None
    Filters: FilterList | None
    MaxResults: ResultRange | None
    NextToken: String | None


InstanceEventWindowSet = list[InstanceEventWindow]


class DescribeInstanceEventWindowsResult(TypedDict, total=False):
    InstanceEventWindows: InstanceEventWindowSet | None
    NextToken: String | None


class DescribeInstanceImageMetadataRequest(ServiceRequest):
    Filters: FilterList | None
    InstanceIds: InstanceIdStringList | None
    MaxResults: DescribeInstanceImageMetadataMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


class ImageMetadata(TypedDict, total=False):
    ImageId: ImageId | None
    Name: String | None
    OwnerId: String | None
    State: ImageState | None
    ImageOwnerAlias: String | None
    CreationDate: String | None
    DeprecationTime: String | None
    ImageAllowed: Boolean | None
    IsPublic: Boolean | None


class InstanceState(TypedDict, total=False):
    Code: Integer | None
    Name: InstanceStateName | None


class InstanceImageMetadata(TypedDict, total=False):
    InstanceId: InstanceId | None
    InstanceType: InstanceType | None
    LaunchTime: MillisecondDateTime | None
    AvailabilityZone: String | None
    ZoneId: String | None
    State: InstanceState | None
    OwnerId: String | None
    Tags: TagList | None
    ImageMetadata: ImageMetadata | None
    Operator: OperatorResponse | None


InstanceImageMetadataList = list[InstanceImageMetadata]


class DescribeInstanceImageMetadataResult(TypedDict, total=False):
    InstanceImageMetadata: InstanceImageMetadataList | None
    NextToken: String | None


class DescribeInstanceSqlHaHistoryStatesRequest(ServiceRequest):
    InstanceIds: InstanceIdStringList | None
    StartTime: MillisecondDateTime | None
    EndTime: MillisecondDateTime | None
    NextToken: NextToken | None
    MaxResults: DescribeInstanceSqlHaStatesRequestMaxResultsInteger | None
    Filters: FilterList | None
    DryRun: Boolean | None


class RegisteredInstance(TypedDict, total=False):
    InstanceId: InstanceId | None
    SqlServerLicenseUsage: SqlServerLicenseUsage | None
    HaStatus: HaStatus | None
    ProcessingStatus: String | None
    LastUpdatedTime: MillisecondDateTime | None
    SqlServerCredentials: String | None
    Tags: TagList | None


RegisteredInstanceList = list[RegisteredInstance]


class DescribeInstanceSqlHaHistoryStatesResult(TypedDict, total=False):
    Instances: RegisteredInstanceList | None
    NextToken: NextToken | None


class DescribeInstanceSqlHaStatesRequest(ServiceRequest):
    InstanceIds: InstanceIdStringList | None
    NextToken: NextToken | None
    MaxResults: DescribeInstanceSqlHaStatesRequestMaxResultsInteger | None
    Filters: FilterList | None
    DryRun: Boolean | None


class DescribeInstanceSqlHaStatesResult(TypedDict, total=False):
    Instances: RegisteredInstanceList | None
    NextToken: NextToken | None


class DescribeInstanceStatusRequest(ServiceRequest):
    InstanceIds: InstanceIdStringList | None
    MaxResults: Integer | None
    NextToken: String | None
    DryRun: Boolean | None
    Filters: FilterList | None
    IncludeAllInstances: Boolean | None


class EbsStatusDetails(TypedDict, total=False):
    ImpairedSince: MillisecondDateTime | None
    Name: StatusName | None
    Status: StatusType | None


EbsStatusDetailsList = list[EbsStatusDetails]


class EbsStatusSummary(TypedDict, total=False):
    Details: EbsStatusDetailsList | None
    Status: SummaryStatus | None


class InstanceStatusDetails(TypedDict, total=False):
    ImpairedSince: DateTime | None
    Name: StatusName | None
    Status: StatusType | None


InstanceStatusDetailsList = list[InstanceStatusDetails]


class InstanceStatusSummary(TypedDict, total=False):
    Details: InstanceStatusDetailsList | None
    Status: SummaryStatus | None


class InstanceStatusEvent(TypedDict, total=False):
    InstanceEventId: InstanceEventId | None
    Code: EventCode | None
    Description: String | None
    NotAfter: DateTime | None
    NotBefore: DateTime | None
    NotBeforeDeadline: DateTime | None


InstanceStatusEventList = list[InstanceStatusEvent]


class InstanceStatus(TypedDict, total=False):
    AvailabilityZone: String | None
    AvailabilityZoneId: AvailabilityZoneId | None
    OutpostArn: String | None
    Operator: OperatorResponse | None
    Events: InstanceStatusEventList | None
    InstanceId: String | None
    InstanceState: InstanceState | None
    InstanceStatus: InstanceStatusSummary | None
    SystemStatus: InstanceStatusSummary | None
    AttachedEbsStatus: EbsStatusSummary | None


InstanceStatusList = list[InstanceStatus]


class DescribeInstanceStatusResult(TypedDict, total=False):
    InstanceStatuses: InstanceStatusList | None
    NextToken: String | None


DescribeInstanceTopologyGroupNameSet = list[PlacementGroupName]
DescribeInstanceTopologyInstanceIdSet = list[InstanceId]


class DescribeInstanceTopologyRequest(ServiceRequest):
    DryRun: Boolean | None
    NextToken: String | None
    MaxResults: DescribeInstanceTopologyMaxResults | None
    InstanceIds: DescribeInstanceTopologyInstanceIdSet | None
    GroupNames: DescribeInstanceTopologyGroupNameSet | None
    Filters: FilterList | None


NetworkNodesList = list[String]


class InstanceTopology(TypedDict, total=False):
    InstanceId: String | None
    InstanceType: String | None
    GroupName: String | None
    NetworkNodes: NetworkNodesList | None
    AvailabilityZone: String | None
    ZoneId: String | None
    CapacityBlockId: String | None


InstanceSet = list[InstanceTopology]


class DescribeInstanceTopologyResult(TypedDict, total=False):
    Instances: InstanceSet | None
    NextToken: String | None


class DescribeInstanceTypeOfferingsRequest(ServiceRequest):
    DryRun: Boolean | None
    LocationType: LocationType | None
    Filters: FilterList | None
    MaxResults: DITOMaxResults | None
    NextToken: NextToken | None


class InstanceTypeOffering(TypedDict, total=False):
    InstanceType: InstanceType | None
    LocationType: LocationType | None
    Location: Location | None


InstanceTypeOfferingsList = list[InstanceTypeOffering]


class DescribeInstanceTypeOfferingsResult(TypedDict, total=False):
    InstanceTypeOfferings: InstanceTypeOfferingsList | None
    NextToken: NextToken | None


RequestInstanceTypeList = list[InstanceType]


class DescribeInstanceTypesRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceTypes: RequestInstanceTypeList | None
    Filters: FilterList | None
    MaxResults: DITMaxResults | None
    NextToken: NextToken | None


class NeuronDeviceMemoryInfo(TypedDict, total=False):
    SizeInMiB: NeuronDeviceMemorySize | None


class NeuronDeviceCoreInfo(TypedDict, total=False):
    Count: NeuronDeviceCoreCount | None
    Version: NeuronDeviceCoreVersion | None


class NeuronDeviceInfo(TypedDict, total=False):
    Count: NeuronDeviceCount | None
    Name: NeuronDeviceName | None
    CoreInfo: NeuronDeviceCoreInfo | None
    MemoryInfo: NeuronDeviceMemoryInfo | None


NeuronDeviceInfoList = list[NeuronDeviceInfo]


class NeuronInfo(TypedDict, total=False):
    NeuronDevices: NeuronDeviceInfoList | None
    TotalNeuronDeviceMemoryInMiB: TotalNeuronMemory | None


class MediaDeviceMemoryInfo(TypedDict, total=False):
    SizeInMiB: MediaDeviceMemorySize | None


class MediaDeviceInfo(TypedDict, total=False):
    Count: MediaDeviceCount | None
    Name: MediaDeviceName | None
    Manufacturer: MediaDeviceManufacturerName | None
    MemoryInfo: MediaDeviceMemoryInfo | None


MediaDeviceInfoList = list[MediaDeviceInfo]


class MediaAcceleratorInfo(TypedDict, total=False):
    Accelerators: MediaDeviceInfoList | None
    TotalMediaMemoryInMiB: TotalMediaMemory | None


NitroTpmSupportedVersionsList = list[NitroTpmSupportedVersionType]


class NitroTpmInfo(TypedDict, total=False):
    SupportedVersions: NitroTpmSupportedVersionsList | None


class InferenceDeviceMemoryInfo(TypedDict, total=False):
    SizeInMiB: InferenceDeviceMemorySize | None


class InferenceDeviceInfo(TypedDict, total=False):
    Count: InferenceDeviceCount | None
    Name: InferenceDeviceName | None
    Manufacturer: InferenceDeviceManufacturerName | None
    MemoryInfo: InferenceDeviceMemoryInfo | None


InferenceDeviceInfoList = list[InferenceDeviceInfo]


class InferenceAcceleratorInfo(TypedDict, total=False):
    Accelerators: InferenceDeviceInfoList | None
    TotalInferenceMemoryInMiB: totalInferenceMemory | None


PlacementGroupStrategyList = list[PlacementGroupStrategy]


class PlacementGroupInfo(TypedDict, total=False):
    SupportedStrategies: PlacementGroupStrategyList | None


class FpgaDeviceMemoryInfo(TypedDict, total=False):
    SizeInMiB: FpgaDeviceMemorySize | None


class FpgaDeviceInfo(TypedDict, total=False):
    Name: FpgaDeviceName | None
    Manufacturer: FpgaDeviceManufacturerName | None
    Count: FpgaDeviceCount | None
    MemoryInfo: FpgaDeviceMemoryInfo | None


FpgaDeviceInfoList = list[FpgaDeviceInfo]


class FpgaInfo(TypedDict, total=False):
    Fpgas: FpgaDeviceInfoList | None
    TotalFpgaMemoryInMiB: totalFpgaMemory | None


class GpuDeviceMemoryInfo(TypedDict, total=False):
    SizeInMiB: GpuDeviceMemorySize | None


WorkloadsList = list[Workload]


class GpuDeviceInfo(TypedDict, total=False):
    Name: GpuDeviceName | None
    Manufacturer: GpuDeviceManufacturerName | None
    Count: GpuDeviceCount | None
    LogicalGpuCount: LogicalGpuCount | None
    GpuPartitionSize: GpuPartitionSize | None
    Workloads: WorkloadsList | None
    MemoryInfo: GpuDeviceMemoryInfo | None


GpuDeviceInfoList = list[GpuDeviceInfo]


class GpuInfo(TypedDict, total=False):
    Gpus: GpuDeviceInfoList | None
    TotalGpuMemoryInMiB: totalGpuMemory | None


class EfaInfo(TypedDict, total=False):
    MaximumEfaInterfaces: MaximumEfaInterfaces | None


class NetworkCardInfo(TypedDict, total=False):
    NetworkCardIndex: NetworkCardIndex | None
    NetworkPerformance: NetworkPerformance | None
    MaximumNetworkInterfaces: MaxNetworkInterfaces | None
    BaselineBandwidthInGbps: BaselineBandwidthInGbps | None
    PeakBandwidthInGbps: PeakBandwidthInGbps | None
    DefaultEnaQueueCountPerInterface: DefaultEnaQueueCountPerInterface | None
    MaximumEnaQueueCount: MaximumEnaQueueCount | None
    MaximumEnaQueueCountPerInterface: MaximumEnaQueueCountPerInterface | None


NetworkCardInfoList = list[NetworkCardInfo]


class NetworkInfo(TypedDict, total=False):
    NetworkPerformance: NetworkPerformance | None
    MaximumNetworkInterfaces: MaxNetworkInterfaces | None
    MaximumNetworkCards: MaximumNetworkCards | None
    DefaultNetworkCardIndex: DefaultNetworkCardIndex | None
    NetworkCards: NetworkCardInfoList | None
    Ipv4AddressesPerInterface: MaxIpv4AddrPerInterface | None
    Ipv6AddressesPerInterface: MaxIpv6AddrPerInterface | None
    Ipv6Supported: Ipv6Flag | None
    EnaSupport: EnaSupport | None
    EfaSupported: EfaSupportedFlag | None
    EfaInfo: EfaInfo | None
    EncryptionInTransitSupported: EncryptionInTransitSupported | None
    EnaSrdSupported: EnaSrdSupported | None
    BandwidthWeightings: BandwidthWeightingTypeList | None
    FlexibleEnaQueuesSupport: FlexibleEnaQueuesSupport | None


class EbsCardInfo(TypedDict, total=False):
    EbsCardIndex: EbsCardIndex | None
    BaselineBandwidthInMbps: BaselineBandwidthInMbps | None
    BaselineThroughputInMBps: BaselineThroughputInMBps | None
    BaselineIops: BaselineIops | None
    MaximumBandwidthInMbps: MaximumBandwidthInMbps | None
    MaximumThroughputInMBps: MaximumThroughputInMBps | None
    MaximumIops: MaximumIops | None


EbsCardInfoList = list[EbsCardInfo]


class EbsOptimizedInfo(TypedDict, total=False):
    BaselineBandwidthInMbps: BaselineBandwidthInMbps | None
    BaselineThroughputInMBps: BaselineThroughputInMBps | None
    BaselineIops: BaselineIops | None
    MaximumBandwidthInMbps: MaximumBandwidthInMbps | None
    MaximumThroughputInMBps: MaximumThroughputInMBps | None
    MaximumIops: MaximumIops | None


class EbsInfo(TypedDict, total=False):
    EbsOptimizedSupport: EbsOptimizedSupport | None
    EncryptionSupport: EbsEncryptionSupport | None
    EbsOptimizedInfo: EbsOptimizedInfo | None
    NvmeSupport: EbsNvmeSupport | None
    MaximumEbsAttachments: MaximumEbsAttachments | None
    AttachmentLimitType: AttachmentLimitType | None
    MaximumEbsCards: MaximumEbsCards | None
    EbsCards: EbsCardInfoList | None


DiskSize = int


class DiskInfo(TypedDict, total=False):
    SizeInGB: DiskSize | None
    Count: DiskCount | None
    Type: DiskType | None


DiskInfoList = list[DiskInfo]


class InstanceStorageInfo(TypedDict, total=False):
    TotalSizeInGB: DiskSize | None
    Disks: DiskInfoList | None
    NvmeSupport: EphemeralNvmeSupport | None
    EncryptionSupport: InstanceStorageEncryptionSupport | None


MemorySize = int


class MemoryInfo(TypedDict, total=False):
    SizeInMiB: MemorySize | None


ThreadsPerCoreList = list[ThreadsPerCore]


class VCpuInfo(TypedDict, total=False):
    DefaultVCpus: VCpuCount | None
    DefaultCores: CoreCount | None
    DefaultThreadsPerCore: ThreadsPerCore | None
    ValidCores: CoreCountList | None
    ValidThreadsPerCore: ThreadsPerCoreList | None


SupportedAdditionalProcessorFeatureList = list[SupportedAdditionalProcessorFeature]


class ProcessorInfo(TypedDict, total=False):
    SupportedArchitectures: ArchitectureTypeList | None
    SustainedClockSpeedInGhz: ProcessorSustainedClockSpeed | None
    SupportedFeatures: SupportedAdditionalProcessorFeatureList | None
    Manufacturer: CpuManufacturerName | None


VirtualizationTypeList = list[VirtualizationType]
RootDeviceTypeList = list[RootDeviceType]
UsageClassTypeList = list[UsageClassType]


class InstanceTypeInfo(TypedDict, total=False):
    InstanceType: InstanceType | None
    CurrentGeneration: CurrentGenerationFlag | None
    FreeTierEligible: FreeTierEligibleFlag | None
    SupportedUsageClasses: UsageClassTypeList | None
    SupportedRootDeviceTypes: RootDeviceTypeList | None
    SupportedVirtualizationTypes: VirtualizationTypeList | None
    BareMetal: BareMetalFlag | None
    Hypervisor: InstanceTypeHypervisor | None
    ProcessorInfo: ProcessorInfo | None
    VCpuInfo: VCpuInfo | None
    MemoryInfo: MemoryInfo | None
    InstanceStorageSupported: InstanceStorageFlag | None
    InstanceStorageInfo: InstanceStorageInfo | None
    EbsInfo: EbsInfo | None
    NetworkInfo: NetworkInfo | None
    GpuInfo: GpuInfo | None
    FpgaInfo: FpgaInfo | None
    PlacementGroupInfo: PlacementGroupInfo | None
    InferenceAcceleratorInfo: InferenceAcceleratorInfo | None
    HibernationSupported: HibernationFlag | None
    BurstablePerformanceSupported: BurstablePerformanceFlag | None
    DedicatedHostsSupported: DedicatedHostFlag | None
    AutoRecoverySupported: AutoRecoveryFlag | None
    SupportedBootModes: BootModeTypeList | None
    NitroEnclavesSupport: NitroEnclavesSupport | None
    NitroTpmSupport: NitroTpmSupport | None
    NitroTpmInfo: NitroTpmInfo | None
    MediaAcceleratorInfo: MediaAcceleratorInfo | None
    NeuronInfo: NeuronInfo | None
    PhcSupport: PhcSupport | None
    RebootMigrationSupport: RebootMigrationSupport | None


InstanceTypeInfoList = list[InstanceTypeInfo]


class DescribeInstanceTypesResult(TypedDict, total=False):
    InstanceTypes: InstanceTypeInfoList | None
    NextToken: NextToken | None


class DescribeInstancesRequest(ServiceRequest):
    InstanceIds: InstanceIdStringList | None
    DryRun: Boolean | None
    Filters: FilterList | None
    NextToken: String | None
    MaxResults: Integer | None


class Monitoring(TypedDict, total=False):
    State: MonitoringState | None


class InstanceNetworkPerformanceOptions(TypedDict, total=False):
    BandwidthWeighting: InstanceBandwidthWeighting | None


class InstanceMaintenanceOptions(TypedDict, total=False):
    AutoRecovery: InstanceAutoRecoveryState | None
    RebootMigration: InstanceRebootMigrationState | None


class PrivateDnsNameOptionsResponse(TypedDict, total=False):
    HostnameType: HostnameType | None
    EnableResourceNameDnsARecord: Boolean | None
    EnableResourceNameDnsAAAARecord: Boolean | None


class EnclaveOptions(TypedDict, total=False):
    Enabled: Boolean | None


class InstanceMetadataOptionsResponse(TypedDict, total=False):
    State: InstanceMetadataOptionsState | None
    HttpTokens: HttpTokensState | None
    HttpPutResponseHopLimit: Integer | None
    HttpEndpoint: InstanceMetadataEndpointState | None
    HttpProtocolIpv6: InstanceMetadataProtocolState | None
    InstanceMetadataTags: InstanceMetadataTagsState | None


class LicenseConfiguration(TypedDict, total=False):
    LicenseConfigurationArn: String | None


LicenseList = list[LicenseConfiguration]


class HibernationOptions(TypedDict, total=False):
    Configured: Boolean | None


class InstanceIpv6Prefix(TypedDict, total=False):
    Ipv6Prefix: String | None


InstanceIpv6PrefixList = list[InstanceIpv6Prefix]


class InstanceIpv4Prefix(TypedDict, total=False):
    Ipv4Prefix: String | None


InstanceIpv4PrefixList = list[InstanceIpv4Prefix]


class InstanceNetworkInterfaceAssociation(TypedDict, total=False):
    CarrierIp: String | None
    CustomerOwnedIp: String | None
    IpOwnerId: String | None
    PublicDnsName: String | None
    PublicIp: String | None


class InstancePrivateIpAddress(TypedDict, total=False):
    Association: InstanceNetworkInterfaceAssociation | None
    Primary: Boolean | None
    PrivateDnsName: String | None
    PrivateIpAddress: String | None


InstancePrivateIpAddressList = list[InstancePrivateIpAddress]


class InstanceAttachmentEnaSrdUdpSpecification(TypedDict, total=False):
    EnaSrdUdpEnabled: Boolean | None


class InstanceAttachmentEnaSrdSpecification(TypedDict, total=False):
    EnaSrdEnabled: Boolean | None
    EnaSrdUdpSpecification: InstanceAttachmentEnaSrdUdpSpecification | None


class InstanceNetworkInterfaceAttachment(TypedDict, total=False):
    AttachTime: DateTime | None
    AttachmentId: String | None
    DeleteOnTermination: Boolean | None
    DeviceIndex: Integer | None
    Status: AttachmentStatus | None
    NetworkCardIndex: Integer | None
    EnaSrdSpecification: InstanceAttachmentEnaSrdSpecification | None
    EnaQueueCount: Integer | None


class InstanceNetworkInterface(TypedDict, total=False):
    Association: InstanceNetworkInterfaceAssociation | None
    Attachment: InstanceNetworkInterfaceAttachment | None
    Description: String | None
    Groups: GroupIdentifierList | None
    Ipv6Addresses: InstanceIpv6AddressList | None
    MacAddress: String | None
    NetworkInterfaceId: String | None
    OwnerId: String | None
    PrivateDnsName: String | None
    PrivateIpAddress: String | None
    PrivateIpAddresses: InstancePrivateIpAddressList | None
    SourceDestCheck: Boolean | None
    Status: NetworkInterfaceStatus | None
    SubnetId: String | None
    VpcId: String | None
    InterfaceType: String | None
    Ipv4Prefixes: InstanceIpv4PrefixList | None
    Ipv6Prefixes: InstanceIpv6PrefixList | None
    ConnectionTrackingConfiguration: ConnectionTrackingSpecificationResponse | None
    Operator: OperatorResponse | None


InstanceNetworkInterfaceList = list[InstanceNetworkInterface]


class ElasticInferenceAcceleratorAssociation(TypedDict, total=False):
    ElasticInferenceAcceleratorArn: String | None
    ElasticInferenceAcceleratorAssociationId: String | None
    ElasticInferenceAcceleratorAssociationState: String | None
    ElasticInferenceAcceleratorAssociationTime: DateTime | None


ElasticInferenceAcceleratorAssociationList = list[ElasticInferenceAcceleratorAssociation]


class ElasticGpuAssociation(TypedDict, total=False):
    ElasticGpuId: ElasticGpuId | None
    ElasticGpuAssociationId: String | None
    ElasticGpuAssociationState: String | None
    ElasticGpuAssociationTime: String | None


ElasticGpuAssociationList = list[ElasticGpuAssociation]


class EbsInstanceBlockDevice(TypedDict, total=False):
    AttachTime: DateTime | None
    DeleteOnTermination: Boolean | None
    Status: AttachmentStatus | None
    VolumeId: String | None
    AssociatedResource: String | None
    VolumeOwnerId: String | None
    Operator: OperatorResponse | None
    EbsCardIndex: Integer | None


class InstanceBlockDeviceMapping(TypedDict, total=False):
    DeviceName: String | None
    Ebs: EbsInstanceBlockDevice | None


InstanceBlockDeviceMappingList = list[InstanceBlockDeviceMapping]


class Instance(TypedDict, total=False):
    Architecture: ArchitectureValues | None
    BlockDeviceMappings: InstanceBlockDeviceMappingList | None
    ClientToken: String | None
    EbsOptimized: Boolean | None
    EnaSupport: Boolean | None
    Hypervisor: HypervisorType | None
    IamInstanceProfile: IamInstanceProfile | None
    InstanceLifecycle: InstanceLifecycleType | None
    ElasticGpuAssociations: ElasticGpuAssociationList | None
    ElasticInferenceAcceleratorAssociations: ElasticInferenceAcceleratorAssociationList | None
    NetworkInterfaces: InstanceNetworkInterfaceList | None
    OutpostArn: String | None
    RootDeviceName: String | None
    RootDeviceType: DeviceType | None
    SecurityGroups: GroupIdentifierList | None
    SourceDestCheck: Boolean | None
    SpotInstanceRequestId: String | None
    SriovNetSupport: String | None
    StateReason: StateReason | None
    Tags: TagList | None
    VirtualizationType: VirtualizationType | None
    CpuOptions: CpuOptions | None
    CapacityBlockId: String | None
    CapacityReservationId: String | None
    CapacityReservationSpecification: CapacityReservationSpecificationResponse | None
    HibernationOptions: HibernationOptions | None
    Licenses: LicenseList | None
    MetadataOptions: InstanceMetadataOptionsResponse | None
    EnclaveOptions: EnclaveOptions | None
    BootMode: BootModeValues | None
    PlatformDetails: String | None
    UsageOperation: String | None
    UsageOperationUpdateTime: MillisecondDateTime | None
    PrivateDnsNameOptions: PrivateDnsNameOptionsResponse | None
    Ipv6Address: String | None
    TpmSupport: String | None
    MaintenanceOptions: InstanceMaintenanceOptions | None
    CurrentInstanceBootMode: InstanceBootModeValues | None
    NetworkPerformanceOptions: InstanceNetworkPerformanceOptions | None
    Operator: OperatorResponse | None
    InstanceId: String | None
    ImageId: String | None
    State: InstanceState | None
    PrivateDnsName: String | None
    PublicDnsName: String | None
    StateTransitionReason: String | None
    KeyName: String | None
    AmiLaunchIndex: Integer | None
    ProductCodes: ProductCodeList | None
    InstanceType: InstanceType | None
    LaunchTime: DateTime | None
    Placement: Placement | None
    KernelId: String | None
    RamdiskId: String | None
    Platform: PlatformValues | None
    Monitoring: Monitoring | None
    SubnetId: String | None
    VpcId: String | None
    PrivateIpAddress: String | None
    PublicIpAddress: String | None


InstanceList = list[Instance]


class Reservation(TypedDict, total=False):
    ReservationId: String | None
    OwnerId: String | None
    RequesterId: String | None
    Groups: GroupIdentifierList | None
    Instances: InstanceList | None


ReservationList = list[Reservation]


class DescribeInstancesResult(TypedDict, total=False):
    NextToken: String | None
    Reservations: ReservationList | None


InternetGatewayIdList = list[InternetGatewayId]


class DescribeInternetGatewaysRequest(ServiceRequest):
    NextToken: String | None
    MaxResults: DescribeInternetGatewaysMaxResults | None
    DryRun: Boolean | None
    InternetGatewayIds: InternetGatewayIdList | None
    Filters: FilterList | None


InternetGatewayList = list[InternetGateway]


class DescribeInternetGatewaysResult(TypedDict, total=False):
    InternetGateways: InternetGatewayList | None
    NextToken: String | None


class DescribeIpamByoasnRequest(ServiceRequest):
    DryRun: Boolean | None
    MaxResults: DescribeIpamByoasnMaxResults | None
    NextToken: NextToken | None


class DescribeIpamByoasnResult(TypedDict, total=False):
    Byoasns: ByoasnSet | None
    NextToken: String | None


class DescribeIpamExternalResourceVerificationTokensRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    NextToken: NextToken | None
    MaxResults: IpamMaxResults | None
    IpamExternalResourceVerificationTokenIds: ValueStringList | None


IpamExternalResourceVerificationTokenSet = list[IpamExternalResourceVerificationToken]


class DescribeIpamExternalResourceVerificationTokensResult(TypedDict, total=False):
    NextToken: NextToken | None
    IpamExternalResourceVerificationTokens: IpamExternalResourceVerificationTokenSet | None


class DescribeIpamPoliciesRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: IpamMaxResults | None
    NextToken: NextToken | None
    IpamPolicyIds: ValueStringList | None


IpamPolicySet = list[IpamPolicy]


class DescribeIpamPoliciesResult(TypedDict, total=False):
    NextToken: NextToken | None
    IpamPolicies: IpamPolicySet | None


class DescribeIpamPoolsRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: IpamMaxResults | None
    NextToken: NextToken | None
    IpamPoolIds: ValueStringList | None


IpamPoolSet = list[IpamPool]


class DescribeIpamPoolsResult(TypedDict, total=False):
    NextToken: NextToken | None
    IpamPools: IpamPoolSet | None


class DescribeIpamPrefixListResolverTargetsRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: IpamMaxResults | None
    NextToken: NextToken | None
    IpamPrefixListResolverTargetIds: ValueStringList | None
    IpamPrefixListResolverId: IpamPrefixListResolverId | None


IpamPrefixListResolverTargetSet = list[IpamPrefixListResolverTarget]


class DescribeIpamPrefixListResolverTargetsResult(TypedDict, total=False):
    NextToken: NextToken | None
    IpamPrefixListResolverTargets: IpamPrefixListResolverTargetSet | None


class DescribeIpamPrefixListResolversRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: IpamMaxResults | None
    NextToken: NextToken | None
    IpamPrefixListResolverIds: ValueStringList | None


IpamPrefixListResolverSet = list[IpamPrefixListResolver]


class DescribeIpamPrefixListResolversResult(TypedDict, total=False):
    NextToken: NextToken | None
    IpamPrefixListResolvers: IpamPrefixListResolverSet | None


class DescribeIpamResourceDiscoveriesRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamResourceDiscoveryIds: ValueStringList | None
    NextToken: NextToken | None
    MaxResults: IpamMaxResults | None
    Filters: FilterList | None


IpamResourceDiscoverySet = list[IpamResourceDiscovery]


class DescribeIpamResourceDiscoveriesResult(TypedDict, total=False):
    IpamResourceDiscoveries: IpamResourceDiscoverySet | None
    NextToken: NextToken | None


class DescribeIpamResourceDiscoveryAssociationsRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamResourceDiscoveryAssociationIds: ValueStringList | None
    NextToken: NextToken | None
    MaxResults: IpamMaxResults | None
    Filters: FilterList | None


IpamResourceDiscoveryAssociationSet = list[IpamResourceDiscoveryAssociation]


class DescribeIpamResourceDiscoveryAssociationsResult(TypedDict, total=False):
    IpamResourceDiscoveryAssociations: IpamResourceDiscoveryAssociationSet | None
    NextToken: NextToken | None


class DescribeIpamScopesRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: IpamMaxResults | None
    NextToken: NextToken | None
    IpamScopeIds: ValueStringList | None


IpamScopeSet = list[IpamScope]


class DescribeIpamScopesResult(TypedDict, total=False):
    NextToken: NextToken | None
    IpamScopes: IpamScopeSet | None


class DescribeIpamsRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: IpamMaxResults | None
    NextToken: NextToken | None
    IpamIds: ValueStringList | None


IpamSet = list[Ipam]


class DescribeIpamsResult(TypedDict, total=False):
    NextToken: NextToken | None
    Ipams: IpamSet | None


Ipv6PoolIdList = list[Ipv6PoolEc2Id]


class DescribeIpv6PoolsRequest(ServiceRequest):
    PoolIds: Ipv6PoolIdList | None
    NextToken: NextToken | None
    MaxResults: Ipv6PoolMaxResults | None
    DryRun: Boolean | None
    Filters: FilterList | None


class PoolCidrBlock(TypedDict, total=False):
    Cidr: String | None


PoolCidrBlocksSet = list[PoolCidrBlock]


class Ipv6Pool(TypedDict, total=False):
    PoolId: String | None
    Description: String | None
    PoolCidrBlocks: PoolCidrBlocksSet | None
    Tags: TagList | None


Ipv6PoolSet = list[Ipv6Pool]


class DescribeIpv6PoolsResult(TypedDict, total=False):
    Ipv6Pools: Ipv6PoolSet | None
    NextToken: NextToken | None


KeyPairIdStringList = list[KeyPairId]
KeyNameStringList = list[KeyPairName]


class DescribeKeyPairsRequest(ServiceRequest):
    KeyNames: KeyNameStringList | None
    KeyPairIds: KeyPairIdStringList | None
    IncludePublicKey: Boolean | None
    DryRun: Boolean | None
    Filters: FilterList | None


class KeyPairInfo(TypedDict, total=False):
    KeyPairId: String | None
    KeyType: KeyType | None
    Tags: TagList | None
    PublicKey: String | None
    CreateTime: MillisecondDateTime | None
    KeyName: String | None
    KeyFingerprint: String | None


KeyPairList = list[KeyPairInfo]


class DescribeKeyPairsResult(TypedDict, total=False):
    KeyPairs: KeyPairList | None


class DescribeLaunchTemplateVersionsRequest(ServiceRequest):
    DryRun: Boolean | None
    LaunchTemplateId: LaunchTemplateId | None
    LaunchTemplateName: LaunchTemplateName | None
    Versions: VersionStringList | None
    MinVersion: String | None
    MaxVersion: String | None
    NextToken: String | None
    MaxResults: Integer | None
    Filters: FilterList | None
    ResolveAlias: Boolean | None


LaunchTemplateVersionSet = list[LaunchTemplateVersion]


class DescribeLaunchTemplateVersionsResult(TypedDict, total=False):
    LaunchTemplateVersions: LaunchTemplateVersionSet | None
    NextToken: String | None


LaunchTemplateNameStringList = list[LaunchTemplateName]
LaunchTemplateIdStringList = list[LaunchTemplateId]


class DescribeLaunchTemplatesRequest(ServiceRequest):
    DryRun: Boolean | None
    LaunchTemplateIds: LaunchTemplateIdStringList | None
    LaunchTemplateNames: LaunchTemplateNameStringList | None
    Filters: FilterList | None
    NextToken: String | None
    MaxResults: DescribeLaunchTemplatesMaxResults | None


LaunchTemplateSet = list[LaunchTemplate]


class DescribeLaunchTemplatesResult(TypedDict, total=False):
    LaunchTemplates: LaunchTemplateSet | None
    NextToken: String | None


LocalGatewayRouteTableVirtualInterfaceGroupAssociationIdSet = list[
    LocalGatewayRouteTableVirtualInterfaceGroupAssociationId
]


class DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsRequest(ServiceRequest):
    LocalGatewayRouteTableVirtualInterfaceGroupAssociationIds: (
        LocalGatewayRouteTableVirtualInterfaceGroupAssociationIdSet | None
    )
    Filters: FilterList | None
    MaxResults: LocalGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


LocalGatewayRouteTableVirtualInterfaceGroupAssociationSet = list[
    LocalGatewayRouteTableVirtualInterfaceGroupAssociation
]


class DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult(TypedDict, total=False):
    LocalGatewayRouteTableVirtualInterfaceGroupAssociations: (
        LocalGatewayRouteTableVirtualInterfaceGroupAssociationSet | None
    )
    NextToken: String | None


LocalGatewayRouteTableVpcAssociationIdSet = list[LocalGatewayRouteTableVpcAssociationId]


class DescribeLocalGatewayRouteTableVpcAssociationsRequest(ServiceRequest):
    LocalGatewayRouteTableVpcAssociationIds: LocalGatewayRouteTableVpcAssociationIdSet | None
    Filters: FilterList | None
    MaxResults: LocalGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


LocalGatewayRouteTableVpcAssociationSet = list[LocalGatewayRouteTableVpcAssociation]


class DescribeLocalGatewayRouteTableVpcAssociationsResult(TypedDict, total=False):
    LocalGatewayRouteTableVpcAssociations: LocalGatewayRouteTableVpcAssociationSet | None
    NextToken: String | None


LocalGatewayRouteTableIdSet = list[LocalGatewayRoutetableId]


class DescribeLocalGatewayRouteTablesRequest(ServiceRequest):
    LocalGatewayRouteTableIds: LocalGatewayRouteTableIdSet | None
    Filters: FilterList | None
    MaxResults: LocalGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


LocalGatewayRouteTableSet = list[LocalGatewayRouteTable]


class DescribeLocalGatewayRouteTablesResult(TypedDict, total=False):
    LocalGatewayRouteTables: LocalGatewayRouteTableSet | None
    NextToken: String | None


LocalGatewayVirtualInterfaceGroupIdSet = list[LocalGatewayVirtualInterfaceGroupId]


class DescribeLocalGatewayVirtualInterfaceGroupsRequest(ServiceRequest):
    LocalGatewayVirtualInterfaceGroupIds: LocalGatewayVirtualInterfaceGroupIdSet | None
    Filters: FilterList | None
    MaxResults: LocalGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


LocalGatewayVirtualInterfaceGroupSet = list[LocalGatewayVirtualInterfaceGroup]


class DescribeLocalGatewayVirtualInterfaceGroupsResult(TypedDict, total=False):
    LocalGatewayVirtualInterfaceGroups: LocalGatewayVirtualInterfaceGroupSet | None
    NextToken: String | None


class DescribeLocalGatewayVirtualInterfacesRequest(ServiceRequest):
    LocalGatewayVirtualInterfaceIds: LocalGatewayVirtualInterfaceIdSet | None
    Filters: FilterList | None
    MaxResults: LocalGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


LocalGatewayVirtualInterfaceSet = list[LocalGatewayVirtualInterface]


class DescribeLocalGatewayVirtualInterfacesResult(TypedDict, total=False):
    LocalGatewayVirtualInterfaces: LocalGatewayVirtualInterfaceSet | None
    NextToken: String | None


LocalGatewayIdSet = list[LocalGatewayId]


class DescribeLocalGatewaysRequest(ServiceRequest):
    LocalGatewayIds: LocalGatewayIdSet | None
    Filters: FilterList | None
    MaxResults: LocalGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


class LocalGateway(TypedDict, total=False):
    LocalGatewayId: LocalGatewayId | None
    OutpostArn: String | None
    OwnerId: String | None
    State: String | None
    Tags: TagList | None


LocalGatewaySet = list[LocalGateway]


class DescribeLocalGatewaysResult(TypedDict, total=False):
    LocalGateways: LocalGatewaySet | None
    NextToken: String | None


SnapshotIdStringList = list[SnapshotId]


class DescribeLockedSnapshotsRequest(ServiceRequest):
    Filters: FilterList | None
    MaxResults: DescribeLockedSnapshotsMaxResults | None
    NextToken: String | None
    SnapshotIds: SnapshotIdStringList | None
    DryRun: Boolean | None


class LockedSnapshotsInfo(TypedDict, total=False):
    OwnerId: String | None
    SnapshotId: String | None
    LockState: LockState | None
    LockDuration: RetentionPeriodResponseDays | None
    CoolOffPeriod: CoolOffPeriodResponseHours | None
    CoolOffPeriodExpiresOn: MillisecondDateTime | None
    LockCreatedOn: MillisecondDateTime | None
    LockDurationStartTime: MillisecondDateTime | None
    LockExpiresOn: MillisecondDateTime | None


LockedSnapshotsInfoList = list[LockedSnapshotsInfo]


class DescribeLockedSnapshotsResult(TypedDict, total=False):
    Snapshots: LockedSnapshotsInfoList | None
    NextToken: String | None


class DescribeMacHostsRequest(ServiceRequest):
    Filters: FilterList | None
    HostIds: RequestHostIdList | None
    MaxResults: DescribeMacHostsRequestMaxResults | None
    NextToken: String | None


MacOSVersionStringList = list[String]


class MacHost(TypedDict, total=False):
    HostId: DedicatedHostId | None
    MacOSLatestSupportedVersions: MacOSVersionStringList | None


MacHostList = list[MacHost]


class DescribeMacHostsResult(TypedDict, total=False):
    MacHosts: MacHostList | None
    NextToken: String | None


MacModificationTaskIdList = list[MacModificationTaskId]


class DescribeMacModificationTasksRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    MacModificationTaskIds: MacModificationTaskIdList | None
    MaxResults: DescribeMacModificationTasksMaxResults | None
    NextToken: String | None


MacModificationTaskList = list[MacModificationTask]


class DescribeMacModificationTasksResult(TypedDict, total=False):
    MacModificationTasks: MacModificationTaskList | None
    NextToken: String | None


class DescribeManagedPrefixListsRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: PrefixListMaxResults | None
    NextToken: NextToken | None
    PrefixListIds: ValueStringList | None


ManagedPrefixListSet = list[ManagedPrefixList]


class DescribeManagedPrefixListsResult(TypedDict, total=False):
    NextToken: NextToken | None
    PrefixLists: ManagedPrefixListSet | None


class DescribeMovingAddressesRequest(ServiceRequest):
    DryRun: Boolean | None
    PublicIps: ValueStringList | None
    NextToken: String | None
    Filters: FilterList | None
    MaxResults: DescribeMovingAddressesMaxResults | None


class MovingAddressStatus(TypedDict, total=False):
    MoveStatus: MoveStatus | None
    PublicIp: String | None


MovingAddressStatusSet = list[MovingAddressStatus]


class DescribeMovingAddressesResult(TypedDict, total=False):
    MovingAddressStatuses: MovingAddressStatusSet | None
    NextToken: String | None


NatGatewayIdStringList = list[NatGatewayId]


class DescribeNatGatewaysRequest(ServiceRequest):
    DryRun: Boolean | None
    Filter: FilterList | None
    MaxResults: DescribeNatGatewaysMaxResults | None
    NatGatewayIds: NatGatewayIdStringList | None
    NextToken: String | None


NatGatewayList = list[NatGateway]


class DescribeNatGatewaysResult(TypedDict, total=False):
    NatGateways: NatGatewayList | None
    NextToken: String | None


NetworkAclIdStringList = list[NetworkAclId]


class DescribeNetworkAclsRequest(ServiceRequest):
    NextToken: String | None
    MaxResults: DescribeNetworkAclsMaxResults | None
    DryRun: Boolean | None
    NetworkAclIds: NetworkAclIdStringList | None
    Filters: FilterList | None


NetworkAclList = list[NetworkAcl]


class DescribeNetworkAclsResult(TypedDict, total=False):
    NetworkAcls: NetworkAclList | None
    NextToken: String | None


NetworkInsightsAccessScopeAnalysisIdList = list[NetworkInsightsAccessScopeAnalysisId]


class DescribeNetworkInsightsAccessScopeAnalysesRequest(ServiceRequest):
    NetworkInsightsAccessScopeAnalysisIds: NetworkInsightsAccessScopeAnalysisIdList | None
    NetworkInsightsAccessScopeId: NetworkInsightsAccessScopeId | None
    AnalysisStartTimeBegin: MillisecondDateTime | None
    AnalysisStartTimeEnd: MillisecondDateTime | None
    Filters: FilterList | None
    MaxResults: NetworkInsightsMaxResults | None
    DryRun: Boolean | None
    NextToken: NextToken | None


class NetworkInsightsAccessScopeAnalysis(TypedDict, total=False):
    NetworkInsightsAccessScopeAnalysisId: NetworkInsightsAccessScopeAnalysisId | None
    NetworkInsightsAccessScopeAnalysisArn: ResourceArn | None
    NetworkInsightsAccessScopeId: NetworkInsightsAccessScopeId | None
    Status: AnalysisStatus | None
    StatusMessage: String | None
    WarningMessage: String | None
    StartDate: MillisecondDateTime | None
    EndDate: MillisecondDateTime | None
    FindingsFound: FindingsFound | None
    AnalyzedEniCount: Integer | None
    Tags: TagList | None


NetworkInsightsAccessScopeAnalysisList = list[NetworkInsightsAccessScopeAnalysis]


class DescribeNetworkInsightsAccessScopeAnalysesResult(TypedDict, total=False):
    NetworkInsightsAccessScopeAnalyses: NetworkInsightsAccessScopeAnalysisList | None
    NextToken: String | None


NetworkInsightsAccessScopeIdList = list[NetworkInsightsAccessScopeId]


class DescribeNetworkInsightsAccessScopesRequest(ServiceRequest):
    NetworkInsightsAccessScopeIds: NetworkInsightsAccessScopeIdList | None
    Filters: FilterList | None
    MaxResults: NetworkInsightsMaxResults | None
    DryRun: Boolean | None
    NextToken: NextToken | None


NetworkInsightsAccessScopeList = list[NetworkInsightsAccessScope]


class DescribeNetworkInsightsAccessScopesResult(TypedDict, total=False):
    NetworkInsightsAccessScopes: NetworkInsightsAccessScopeList | None
    NextToken: String | None


NetworkInsightsAnalysisIdList = list[NetworkInsightsAnalysisId]


class DescribeNetworkInsightsAnalysesRequest(ServiceRequest):
    NetworkInsightsAnalysisIds: NetworkInsightsAnalysisIdList | None
    NetworkInsightsPathId: NetworkInsightsPathId | None
    AnalysisStartTime: MillisecondDateTime | None
    AnalysisEndTime: MillisecondDateTime | None
    Filters: FilterList | None
    MaxResults: NetworkInsightsMaxResults | None
    DryRun: Boolean | None
    NextToken: NextToken | None


class NetworkInsightsAnalysis(TypedDict, total=False):
    NetworkInsightsAnalysisId: NetworkInsightsAnalysisId | None
    NetworkInsightsAnalysisArn: ResourceArn | None
    NetworkInsightsPathId: NetworkInsightsPathId | None
    AdditionalAccounts: ValueStringList | None
    FilterInArns: ArnList | None
    FilterOutArns: ArnList | None
    StartDate: MillisecondDateTime | None
    Status: AnalysisStatus | None
    StatusMessage: String | None
    WarningMessage: String | None
    NetworkPathFound: Boolean | None
    ForwardPathComponents: PathComponentList | None
    ReturnPathComponents: PathComponentList | None
    Explanations: ExplanationList | None
    AlternatePathHints: AlternatePathHintList | None
    SuggestedAccounts: ValueStringList | None
    Tags: TagList | None


NetworkInsightsAnalysisList = list[NetworkInsightsAnalysis]


class DescribeNetworkInsightsAnalysesResult(TypedDict, total=False):
    NetworkInsightsAnalyses: NetworkInsightsAnalysisList | None
    NextToken: String | None


NetworkInsightsPathIdList = list[NetworkInsightsPathId]


class DescribeNetworkInsightsPathsRequest(ServiceRequest):
    NetworkInsightsPathIds: NetworkInsightsPathIdList | None
    Filters: FilterList | None
    MaxResults: NetworkInsightsMaxResults | None
    DryRun: Boolean | None
    NextToken: NextToken | None


NetworkInsightsPathList = list[NetworkInsightsPath]


class DescribeNetworkInsightsPathsResult(TypedDict, total=False):
    NetworkInsightsPaths: NetworkInsightsPathList | None
    NextToken: String | None


class DescribeNetworkInterfaceAttributeRequest(ServiceRequest):
    DryRun: Boolean | None
    NetworkInterfaceId: NetworkInterfaceId
    Attribute: NetworkInterfaceAttribute | None


class DescribeNetworkInterfaceAttributeResult(TypedDict, total=False):
    Attachment: NetworkInterfaceAttachment | None
    Description: AttributeValue | None
    Groups: GroupIdentifierList | None
    NetworkInterfaceId: String | None
    SourceDestCheck: AttributeBooleanValue | None
    AssociatePublicIpAddress: Boolean | None


NetworkInterfacePermissionIdList = list[NetworkInterfacePermissionId]


class DescribeNetworkInterfacePermissionsRequest(ServiceRequest):
    NetworkInterfacePermissionIds: NetworkInterfacePermissionIdList | None
    Filters: FilterList | None
    NextToken: String | None
    MaxResults: DescribeNetworkInterfacePermissionsMaxResults | None


NetworkInterfacePermissionList = list[NetworkInterfacePermission]


class DescribeNetworkInterfacePermissionsResult(TypedDict, total=False):
    NetworkInterfacePermissions: NetworkInterfacePermissionList | None
    NextToken: String | None


NetworkInterfaceIdList = list[NetworkInterfaceId]


class DescribeNetworkInterfacesRequest(ServiceRequest):
    NextToken: String | None
    MaxResults: DescribeNetworkInterfacesMaxResults | None
    DryRun: Boolean | None
    NetworkInterfaceIds: NetworkInterfaceIdList | None
    Filters: FilterList | None


NetworkInterfaceList = list[NetworkInterface]


class DescribeNetworkInterfacesResult(TypedDict, total=False):
    NetworkInterfaces: NetworkInterfaceList | None
    NextToken: String | None


OutpostLagIdSet = list[OutpostLagId]


class DescribeOutpostLagsRequest(ServiceRequest):
    OutpostLagIds: OutpostLagIdSet | None
    Filters: FilterList | None
    MaxResults: OutpostLagMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


ServiceLinkVirtualInterfaceIdSet = list[ServiceLinkVirtualInterfaceId]


class OutpostLag(TypedDict, total=False):
    OutpostArn: String | None
    OwnerId: String | None
    State: String | None
    OutpostLagId: OutpostLagId | None
    LocalGatewayVirtualInterfaceIds: LocalGatewayVirtualInterfaceIdSet | None
    ServiceLinkVirtualInterfaceIds: ServiceLinkVirtualInterfaceIdSet | None
    Tags: TagList | None


OutpostLagSet = list[OutpostLag]


class DescribeOutpostLagsResult(TypedDict, total=False):
    OutpostLags: OutpostLagSet | None
    NextToken: String | None


PlacementGroupStringList = list[PlacementGroupName]
PlacementGroupIdStringList = list[PlacementGroupId]


class DescribePlacementGroupsRequest(ServiceRequest):
    GroupIds: PlacementGroupIdStringList | None
    DryRun: Boolean | None
    GroupNames: PlacementGroupStringList | None
    Filters: FilterList | None


PlacementGroupList = list[PlacementGroup]


class DescribePlacementGroupsResult(TypedDict, total=False):
    PlacementGroups: PlacementGroupList | None


PrefixListResourceIdStringList = list[PrefixListResourceId]


class DescribePrefixListsRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: Integer | None
    NextToken: String | None
    PrefixListIds: PrefixListResourceIdStringList | None


class PrefixList(TypedDict, total=False):
    Cidrs: ValueStringList | None
    PrefixListId: String | None
    PrefixListName: String | None


PrefixListSet = list[PrefixList]


class DescribePrefixListsResult(TypedDict, total=False):
    NextToken: String | None
    PrefixLists: PrefixListSet | None


ResourceList = list[String]


class DescribePrincipalIdFormatRequest(ServiceRequest):
    DryRun: Boolean | None
    Resources: ResourceList | None
    MaxResults: DescribePrincipalIdFormatMaxResults | None
    NextToken: String | None


class PrincipalIdFormat(TypedDict, total=False):
    Arn: String | None
    Statuses: IdFormatList | None


PrincipalIdFormatList = list[PrincipalIdFormat]


class DescribePrincipalIdFormatResult(TypedDict, total=False):
    Principals: PrincipalIdFormatList | None
    NextToken: String | None


PublicIpv4PoolIdStringList = list[Ipv4PoolEc2Id]


class DescribePublicIpv4PoolsRequest(ServiceRequest):
    PoolIds: PublicIpv4PoolIdStringList | None
    NextToken: NextToken | None
    MaxResults: PoolMaxResults | None
    Filters: FilterList | None


class PublicIpv4PoolRange(TypedDict, total=False):
    FirstAddress: String | None
    LastAddress: String | None
    AddressCount: Integer | None
    AvailableAddressCount: Integer | None


PublicIpv4PoolRangeSet = list[PublicIpv4PoolRange]


class PublicIpv4Pool(TypedDict, total=False):
    PoolId: String | None
    Description: String | None
    PoolAddressRanges: PublicIpv4PoolRangeSet | None
    TotalAddressCount: Integer | None
    TotalAvailableAddressCount: Integer | None
    NetworkBorderGroup: String | None
    Tags: TagList | None


PublicIpv4PoolSet = list[PublicIpv4Pool]


class DescribePublicIpv4PoolsResult(TypedDict, total=False):
    PublicIpv4Pools: PublicIpv4PoolSet | None
    NextToken: String | None


RegionNameStringList = list[String]


class DescribeRegionsRequest(ServiceRequest):
    RegionNames: RegionNameStringList | None
    AllRegions: Boolean | None
    DryRun: Boolean | None
    Filters: FilterList | None


class Region(TypedDict, total=False):
    OptInStatus: String | None
    RegionName: String | None
    Endpoint: String | None


RegionList = list[Region]


class DescribeRegionsResult(TypedDict, total=False):
    Regions: RegionList | None


ReplaceRootVolumeTaskIds = list[ReplaceRootVolumeTaskId]


class DescribeReplaceRootVolumeTasksRequest(ServiceRequest):
    ReplaceRootVolumeTaskIds: ReplaceRootVolumeTaskIds | None
    Filters: FilterList | None
    MaxResults: DescribeReplaceRootVolumeTasksMaxResults | None
    NextToken: NextToken | None
    DryRun: Boolean | None


ReplaceRootVolumeTasks = list[ReplaceRootVolumeTask]


class DescribeReplaceRootVolumeTasksResult(TypedDict, total=False):
    ReplaceRootVolumeTasks: ReplaceRootVolumeTasks | None
    NextToken: String | None


class DescribeReservedInstancesListingsRequest(ServiceRequest):
    ReservedInstancesId: ReservationId | None
    ReservedInstancesListingId: ReservedInstancesListingId | None
    Filters: FilterList | None


class DescribeReservedInstancesListingsResult(TypedDict, total=False):
    ReservedInstancesListings: ReservedInstancesListingList | None


ReservedInstancesModificationIdStringList = list[ReservedInstancesModificationId]


class DescribeReservedInstancesModificationsRequest(ServiceRequest):
    ReservedInstancesModificationIds: ReservedInstancesModificationIdStringList | None
    NextToken: String | None
    Filters: FilterList | None


class ReservedInstancesId(TypedDict, total=False):
    ReservedInstancesId: String | None


ReservedIntancesIds = list[ReservedInstancesId]


class ReservedInstancesConfiguration(TypedDict, total=False):
    AvailabilityZone: String | None
    InstanceCount: Integer | None
    InstanceType: InstanceType | None
    Platform: String | None
    Scope: scope | None
    AvailabilityZoneId: String | None


class ReservedInstancesModificationResult(TypedDict, total=False):
    ReservedInstancesId: String | None
    TargetConfiguration: ReservedInstancesConfiguration | None


ReservedInstancesModificationResultList = list[ReservedInstancesModificationResult]


class ReservedInstancesModification(TypedDict, total=False):
    ClientToken: String | None
    CreateDate: DateTime | None
    EffectiveDate: DateTime | None
    ModificationResults: ReservedInstancesModificationResultList | None
    ReservedInstancesIds: ReservedIntancesIds | None
    ReservedInstancesModificationId: String | None
    Status: String | None
    StatusMessage: String | None
    UpdateDate: DateTime | None


ReservedInstancesModificationList = list[ReservedInstancesModification]


class DescribeReservedInstancesModificationsResult(TypedDict, total=False):
    NextToken: String | None
    ReservedInstancesModifications: ReservedInstancesModificationList | None


ReservedInstancesOfferingIdStringList = list[ReservedInstancesOfferingId]


class DescribeReservedInstancesOfferingsRequest(ServiceRequest):
    AvailabilityZone: String | None
    IncludeMarketplace: Boolean | None
    InstanceType: InstanceType | None
    MaxDuration: Long | None
    MaxInstanceCount: Integer | None
    MinDuration: Long | None
    OfferingClass: OfferingClassType | None
    ProductDescription: RIProductDescription | None
    ReservedInstancesOfferingIds: ReservedInstancesOfferingIdStringList | None
    AvailabilityZoneId: AvailabilityZoneId | None
    DryRun: Boolean | None
    Filters: FilterList | None
    InstanceTenancy: Tenancy | None
    OfferingType: OfferingTypeValues | None
    NextToken: String | None
    MaxResults: Integer | None


class RecurringCharge(TypedDict, total=False):
    Amount: Double | None
    Frequency: RecurringChargeFrequency | None


RecurringChargesList = list[RecurringCharge]


class PricingDetail(TypedDict, total=False):
    Count: Integer | None
    Price: Double | None


PricingDetailsList = list[PricingDetail]


class ReservedInstancesOffering(TypedDict, total=False):
    CurrencyCode: CurrencyCodeValues | None
    InstanceTenancy: Tenancy | None
    Marketplace: Boolean | None
    OfferingClass: OfferingClassType | None
    OfferingType: OfferingTypeValues | None
    PricingDetails: PricingDetailsList | None
    RecurringCharges: RecurringChargesList | None
    Scope: scope | None
    AvailabilityZoneId: AvailabilityZoneId | None
    ReservedInstancesOfferingId: String | None
    InstanceType: InstanceType | None
    AvailabilityZone: String | None
    Duration: Long | None
    UsagePrice: Float | None
    FixedPrice: Float | None
    ProductDescription: RIProductDescription | None


ReservedInstancesOfferingList = list[ReservedInstancesOffering]


class DescribeReservedInstancesOfferingsResult(TypedDict, total=False):
    NextToken: String | None
    ReservedInstancesOfferings: ReservedInstancesOfferingList | None


ReservedInstancesIdStringList = list[ReservationId]


class DescribeReservedInstancesRequest(ServiceRequest):
    OfferingClass: OfferingClassType | None
    ReservedInstancesIds: ReservedInstancesIdStringList | None
    DryRun: Boolean | None
    Filters: FilterList | None
    OfferingType: OfferingTypeValues | None


class ReservedInstances(TypedDict, total=False):
    CurrencyCode: CurrencyCodeValues | None
    InstanceTenancy: Tenancy | None
    OfferingClass: OfferingClassType | None
    OfferingType: OfferingTypeValues | None
    RecurringCharges: RecurringChargesList | None
    Scope: scope | None
    Tags: TagList | None
    AvailabilityZoneId: String | None
    ReservedInstancesId: String | None
    InstanceType: InstanceType | None
    AvailabilityZone: String | None
    Start: DateTime | None
    End: DateTime | None
    Duration: Long | None
    UsagePrice: Float | None
    FixedPrice: Float | None
    InstanceCount: Integer | None
    ProductDescription: RIProductDescription | None
    State: ReservedInstanceState | None


ReservedInstancesList = list[ReservedInstances]


class DescribeReservedInstancesResult(TypedDict, total=False):
    ReservedInstances: ReservedInstancesList | None


RouteServerEndpointIdsList = list[RouteServerEndpointId]


class DescribeRouteServerEndpointsRequest(ServiceRequest):
    RouteServerEndpointIds: RouteServerEndpointIdsList | None
    NextToken: String | None
    MaxResults: RouteServerMaxResults | None
    Filters: FilterList | None
    DryRun: Boolean | None


RouteServerEndpointsList = list[RouteServerEndpoint]


class DescribeRouteServerEndpointsResult(TypedDict, total=False):
    RouteServerEndpoints: RouteServerEndpointsList | None
    NextToken: String | None


RouteServerPeerIdsList = list[RouteServerPeerId]


class DescribeRouteServerPeersRequest(ServiceRequest):
    RouteServerPeerIds: RouteServerPeerIdsList | None
    NextToken: String | None
    MaxResults: RouteServerMaxResults | None
    Filters: FilterList | None
    DryRun: Boolean | None


RouteServerPeersList = list[RouteServerPeer]


class DescribeRouteServerPeersResult(TypedDict, total=False):
    RouteServerPeers: RouteServerPeersList | None
    NextToken: String | None


RouteServerIdsList = list[RouteServerId]


class DescribeRouteServersRequest(ServiceRequest):
    RouteServerIds: RouteServerIdsList | None
    NextToken: String | None
    MaxResults: RouteServerMaxResults | None
    Filters: FilterList | None
    DryRun: Boolean | None


RouteServersList = list[RouteServer]


class DescribeRouteServersResult(TypedDict, total=False):
    RouteServers: RouteServersList | None
    NextToken: String | None


RouteTableIdStringList = list[RouteTableId]


class DescribeRouteTablesRequest(ServiceRequest):
    NextToken: String | None
    MaxResults: DescribeRouteTablesMaxResults | None
    DryRun: Boolean | None
    RouteTableIds: RouteTableIdStringList | None
    Filters: FilterList | None


RouteTableList = list[RouteTable]


class DescribeRouteTablesResult(TypedDict, total=False):
    RouteTables: RouteTableList | None
    NextToken: String | None


OccurrenceDayRequestSet = list[Integer]


class ScheduledInstanceRecurrenceRequest(TypedDict, total=False):
    Frequency: String | None
    Interval: Integer | None
    OccurrenceDays: OccurrenceDayRequestSet | None
    OccurrenceRelativeToEnd: Boolean | None
    OccurrenceUnit: String | None


class SlotDateTimeRangeRequest(TypedDict, total=False):
    EarliestTime: DateTime
    LatestTime: DateTime


class DescribeScheduledInstanceAvailabilityRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    FirstSlotStartTimeRange: SlotDateTimeRangeRequest
    MaxResults: DescribeScheduledInstanceAvailabilityMaxResults | None
    MaxSlotDurationInHours: Integer | None
    MinSlotDurationInHours: Integer | None
    NextToken: String | None
    Recurrence: ScheduledInstanceRecurrenceRequest


OccurrenceDaySet = list[Integer]


class ScheduledInstanceRecurrence(TypedDict, total=False):
    Frequency: String | None
    Interval: Integer | None
    OccurrenceDaySet: OccurrenceDaySet | None
    OccurrenceRelativeToEnd: Boolean | None
    OccurrenceUnit: String | None


class ScheduledInstanceAvailability(TypedDict, total=False):
    AvailabilityZone: String | None
    AvailableInstanceCount: Integer | None
    FirstSlotStartTime: DateTime | None
    HourlyPrice: String | None
    InstanceType: String | None
    MaxTermDurationInDays: Integer | None
    MinTermDurationInDays: Integer | None
    NetworkPlatform: String | None
    Platform: String | None
    PurchaseToken: String | None
    Recurrence: ScheduledInstanceRecurrence | None
    SlotDurationInHours: Integer | None
    TotalScheduledInstanceHours: Integer | None


ScheduledInstanceAvailabilitySet = list[ScheduledInstanceAvailability]


class DescribeScheduledInstanceAvailabilityResult(TypedDict, total=False):
    NextToken: String | None
    ScheduledInstanceAvailabilitySet: ScheduledInstanceAvailabilitySet | None


class SlotStartTimeRangeRequest(TypedDict, total=False):
    EarliestTime: DateTime | None
    LatestTime: DateTime | None


ScheduledInstanceIdRequestSet = list[ScheduledInstanceId]


class DescribeScheduledInstancesRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: Integer | None
    NextToken: String | None
    ScheduledInstanceIds: ScheduledInstanceIdRequestSet | None
    SlotStartTimeRange: SlotStartTimeRangeRequest | None


class ScheduledInstance(TypedDict, total=False):
    AvailabilityZone: String | None
    CreateDate: DateTime | None
    HourlyPrice: String | None
    InstanceCount: Integer | None
    InstanceType: String | None
    NetworkPlatform: String | None
    NextSlotStartTime: DateTime | None
    Platform: String | None
    PreviousSlotEndTime: DateTime | None
    Recurrence: ScheduledInstanceRecurrence | None
    ScheduledInstanceId: String | None
    SlotDurationInHours: Integer | None
    TermEndDate: DateTime | None
    TermStartDate: DateTime | None
    TotalScheduledInstanceHours: Integer | None


ScheduledInstanceSet = list[ScheduledInstance]


class DescribeScheduledInstancesResult(TypedDict, total=False):
    NextToken: String | None
    ScheduledInstanceSet: ScheduledInstanceSet | None


GroupIds = list[SecurityGroupId]


class DescribeSecurityGroupReferencesRequest(ServiceRequest):
    DryRun: Boolean | None
    GroupId: GroupIds


class SecurityGroupReference(TypedDict, total=False):
    GroupId: String | None
    ReferencingVpcId: String | None
    VpcPeeringConnectionId: String | None
    TransitGatewayId: String | None


SecurityGroupReferences = list[SecurityGroupReference]


class DescribeSecurityGroupReferencesResult(TypedDict, total=False):
    SecurityGroupReferenceSet: SecurityGroupReferences | None


SecurityGroupRuleIdList = list[String]


class DescribeSecurityGroupRulesRequest(ServiceRequest):
    Filters: FilterList | None
    SecurityGroupRuleIds: SecurityGroupRuleIdList | None
    DryRun: Boolean | None
    NextToken: String | None
    MaxResults: DescribeSecurityGroupRulesMaxResults | None


class DescribeSecurityGroupRulesResult(TypedDict, total=False):
    SecurityGroupRules: SecurityGroupRuleList | None
    NextToken: String | None


class DescribeSecurityGroupVpcAssociationsRequest(ServiceRequest):
    Filters: FilterList | None
    NextToken: String | None
    MaxResults: DescribeSecurityGroupVpcAssociationsMaxResults | None
    DryRun: Boolean | None


class SecurityGroupVpcAssociation(TypedDict, total=False):
    GroupId: SecurityGroupId | None
    VpcId: VpcId | None
    VpcOwnerId: String | None
    State: SecurityGroupVpcAssociationState | None
    StateReason: String | None
    GroupOwnerId: String | None


SecurityGroupVpcAssociationList = list[SecurityGroupVpcAssociation]


class DescribeSecurityGroupVpcAssociationsResult(TypedDict, total=False):
    SecurityGroupVpcAssociations: SecurityGroupVpcAssociationList | None
    NextToken: String | None


GroupNameStringList = list[SecurityGroupName]


class DescribeSecurityGroupsRequest(ServiceRequest):
    GroupIds: GroupIdStringList | None
    GroupNames: GroupNameStringList | None
    NextToken: String | None
    MaxResults: DescribeSecurityGroupsMaxResults | None
    DryRun: Boolean | None
    Filters: FilterList | None


class SecurityGroup(TypedDict, total=False):
    GroupId: String | None
    IpPermissionsEgress: IpPermissionList | None
    Tags: TagList | None
    VpcId: String | None
    SecurityGroupArn: String | None
    OwnerId: String | None
    GroupName: String | None
    Description: String | None
    IpPermissions: IpPermissionList | None


SecurityGroupList = list[SecurityGroup]


class DescribeSecurityGroupsResult(TypedDict, total=False):
    NextToken: String | None
    SecurityGroups: SecurityGroupList | None


class DescribeServiceLinkVirtualInterfacesRequest(ServiceRequest):
    ServiceLinkVirtualInterfaceIds: ServiceLinkVirtualInterfaceIdSet | None
    Filters: FilterList | None
    MaxResults: ServiceLinkMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


class ServiceLinkVirtualInterface(TypedDict, total=False):
    ServiceLinkVirtualInterfaceId: ServiceLinkVirtualInterfaceId | None
    ServiceLinkVirtualInterfaceArn: ResourceArn | None
    OutpostId: String | None
    OutpostArn: String | None
    OwnerId: String | None
    LocalAddress: String | None
    PeerAddress: String | None
    PeerBgpAsn: Long | None
    Vlan: Integer | None
    OutpostLagId: OutpostLagId | None
    Tags: TagList | None
    ConfigurationState: ServiceLinkVirtualInterfaceConfigurationState | None


ServiceLinkVirtualInterfaceSet = list[ServiceLinkVirtualInterface]


class DescribeServiceLinkVirtualInterfacesResult(TypedDict, total=False):
    ServiceLinkVirtualInterfaces: ServiceLinkVirtualInterfaceSet | None
    NextToken: String | None


class DescribeSnapshotAttributeRequest(ServiceRequest):
    Attribute: SnapshotAttributeName
    SnapshotId: SnapshotId
    DryRun: Boolean | None


class DescribeSnapshotAttributeResult(TypedDict, total=False):
    ProductCodes: ProductCodeList | None
    SnapshotId: String | None
    CreateVolumePermissions: CreateVolumePermissionList | None


class DescribeSnapshotTierStatusRequest(ServiceRequest):
    Filters: FilterList | None
    DryRun: Boolean | None
    NextToken: String | None
    MaxResults: DescribeSnapshotTierStatusMaxResults | None


class SnapshotTierStatus(TypedDict, total=False):
    SnapshotId: SnapshotId | None
    VolumeId: VolumeId | None
    Status: SnapshotState | None
    OwnerId: String | None
    Tags: TagList | None
    StorageTier: StorageTier | None
    LastTieringStartTime: MillisecondDateTime | None
    LastTieringProgress: Integer | None
    LastTieringOperationStatus: TieringOperationStatus | None
    LastTieringOperationStatusDetail: String | None
    ArchivalCompleteTime: MillisecondDateTime | None
    RestoreExpiryTime: MillisecondDateTime | None


snapshotTierStatusSet = list[SnapshotTierStatus]


class DescribeSnapshotTierStatusResult(TypedDict, total=False):
    SnapshotTierStatuses: snapshotTierStatusSet | None
    NextToken: String | None


RestorableByStringList = list[String]


class DescribeSnapshotsRequest(ServiceRequest):
    MaxResults: Integer | None
    NextToken: String | None
    OwnerIds: OwnerStringList | None
    RestorableByUserIds: RestorableByStringList | None
    SnapshotIds: SnapshotIdStringList | None
    DryRun: Boolean | None
    Filters: FilterList | None


class Snapshot(TypedDict, total=False):
    OwnerAlias: String | None
    OutpostArn: String | None
    Tags: TagList | None
    StorageTier: StorageTier | None
    RestoreExpiryTime: MillisecondDateTime | None
    SseType: SSEType | None
    AvailabilityZone: String | None
    TransferType: TransferType | None
    CompletionDurationMinutes: SnapshotCompletionDurationMinutesResponse | None
    CompletionTime: MillisecondDateTime | None
    FullSnapshotSizeInBytes: Long | None
    SnapshotId: String | None
    VolumeId: String | None
    State: SnapshotState | None
    StateMessage: String | None
    StartTime: DateTime | None
    Progress: String | None
    OwnerId: String | None
    Description: String | None
    VolumeSize: Integer | None
    Encrypted: Boolean | None
    KmsKeyId: String | None
    DataEncryptionKeyId: String | None


SnapshotList = list[Snapshot]


class DescribeSnapshotsResult(TypedDict, total=False):
    NextToken: String | None
    Snapshots: SnapshotList | None


class DescribeSpotDatafeedSubscriptionRequest(ServiceRequest):
    DryRun: Boolean | None


class DescribeSpotDatafeedSubscriptionResult(TypedDict, total=False):
    SpotDatafeedSubscription: SpotDatafeedSubscription | None


class DescribeSpotFleetInstancesRequest(ServiceRequest):
    DryRun: Boolean | None
    SpotFleetRequestId: SpotFleetRequestId
    NextToken: String | None
    MaxResults: DescribeSpotFleetInstancesMaxResults | None


class DescribeSpotFleetInstancesResponse(TypedDict, total=False):
    ActiveInstances: ActiveInstanceSet | None
    NextToken: String | None
    SpotFleetRequestId: String | None


class DescribeSpotFleetRequestHistoryRequest(ServiceRequest):
    DryRun: Boolean | None
    SpotFleetRequestId: SpotFleetRequestId
    EventType: EventType | None
    StartTime: DateTime
    NextToken: String | None
    MaxResults: DescribeSpotFleetRequestHistoryMaxResults | None


class HistoryRecord(TypedDict, total=False):
    EventInformation: EventInformation | None
    EventType: EventType | None
    Timestamp: DateTime | None


HistoryRecords = list[HistoryRecord]


class DescribeSpotFleetRequestHistoryResponse(TypedDict, total=False):
    HistoryRecords: HistoryRecords | None
    LastEvaluatedTime: DateTime | None
    NextToken: String | None
    SpotFleetRequestId: String | None
    StartTime: DateTime | None


class DescribeSpotFleetRequestsRequest(ServiceRequest):
    DryRun: Boolean | None
    SpotFleetRequestIds: SpotFleetRequestIdList | None
    NextToken: String | None
    MaxResults: Integer | None


class TargetGroup(TypedDict, total=False):
    Arn: String | None


TargetGroups = list[TargetGroup]


class TargetGroupsConfig(TypedDict, total=False):
    TargetGroups: TargetGroups | None


class LoadBalancersConfig(TypedDict, total=False):
    ClassicLoadBalancersConfig: ClassicLoadBalancersConfig | None
    TargetGroupsConfig: TargetGroupsConfig | None


class LaunchTemplateOverrides(TypedDict, total=False):
    InstanceType: InstanceType | None
    SpotPrice: String | None
    SubnetId: SubnetId | None
    AvailabilityZone: String | None
    WeightedCapacity: Double | None
    Priority: Double | None
    InstanceRequirements: InstanceRequirements | None
    AvailabilityZoneId: AvailabilityZoneId | None


LaunchTemplateOverridesList = list[LaunchTemplateOverrides]


class LaunchTemplateConfig(TypedDict, total=False):
    LaunchTemplateSpecification: FleetLaunchTemplateSpecification | None
    Overrides: LaunchTemplateOverridesList | None


LaunchTemplateConfigList = list[LaunchTemplateConfig]


class SpotFleetTagSpecification(TypedDict, total=False):
    ResourceType: ResourceType | None
    Tags: TagList | None


SpotFleetTagSpecificationList = list[SpotFleetTagSpecification]


class SpotPlacement(TypedDict, total=False):
    AvailabilityZone: String | None
    GroupName: PlacementGroupName | None
    Tenancy: Tenancy | None
    AvailabilityZoneId: String | None


class InstanceNetworkInterfaceSpecification(TypedDict, total=False):
    AssociatePublicIpAddress: Boolean | None
    DeleteOnTermination: Boolean | None
    Description: String | None
    DeviceIndex: Integer | None
    Groups: SecurityGroupIdStringList | None
    Ipv6AddressCount: Integer | None
    Ipv6Addresses: InstanceIpv6AddressList | None
    NetworkInterfaceId: NetworkInterfaceId | None
    PrivateIpAddress: String | None
    PrivateIpAddresses: PrivateIpAddressSpecificationList | None
    SecondaryPrivateIpAddressCount: Integer | None
    SubnetId: String | None
    AssociateCarrierIpAddress: Boolean | None
    InterfaceType: String | None
    NetworkCardIndex: Integer | None
    Ipv4Prefixes: Ipv4PrefixList | None
    Ipv4PrefixCount: Integer | None
    Ipv6Prefixes: Ipv6PrefixList | None
    Ipv6PrefixCount: Integer | None
    PrimaryIpv6: Boolean | None
    EnaSrdSpecification: EnaSrdSpecificationRequest | None
    ConnectionTrackingSpecification: ConnectionTrackingSpecificationRequest | None
    EnaQueueCount: Integer | None


InstanceNetworkInterfaceSpecificationList = list[InstanceNetworkInterfaceSpecification]


class SpotFleetMonitoring(TypedDict, total=False):
    Enabled: Boolean | None


class SpotFleetLaunchSpecification(TypedDict, total=False):
    AddressingType: String | None
    BlockDeviceMappings: BlockDeviceMappingList | None
    EbsOptimized: Boolean | None
    IamInstanceProfile: IamInstanceProfileSpecification | None
    ImageId: ImageId | None
    InstanceType: InstanceType | None
    KernelId: String | None
    KeyName: KeyPairName | None
    Monitoring: SpotFleetMonitoring | None
    NetworkInterfaces: InstanceNetworkInterfaceSpecificationList | None
    Placement: SpotPlacement | None
    RamdiskId: String | None
    SpotPrice: String | None
    SubnetId: SubnetId | None
    UserData: SensitiveUserData | None
    WeightedCapacity: Double | None
    TagSpecifications: SpotFleetTagSpecificationList | None
    InstanceRequirements: InstanceRequirements | None
    SecurityGroups: GroupIdentifierList | None


LaunchSpecsList = list[SpotFleetLaunchSpecification]


class SpotCapacityRebalance(TypedDict, total=False):
    ReplacementStrategy: ReplacementStrategy | None
    TerminationDelay: Integer | None


class SpotMaintenanceStrategies(TypedDict, total=False):
    CapacityRebalance: SpotCapacityRebalance | None


class SpotFleetRequestConfigData(TypedDict, total=False):
    AllocationStrategy: AllocationStrategy | None
    OnDemandAllocationStrategy: OnDemandAllocationStrategy | None
    SpotMaintenanceStrategies: SpotMaintenanceStrategies | None
    ClientToken: String | None
    ExcessCapacityTerminationPolicy: ExcessCapacityTerminationPolicy | None
    FulfilledCapacity: Double | None
    OnDemandFulfilledCapacity: Double | None
    IamFleetRole: String
    LaunchSpecifications: LaunchSpecsList | None
    LaunchTemplateConfigs: LaunchTemplateConfigList | None
    SpotPrice: String | None
    TargetCapacity: Integer
    OnDemandTargetCapacity: Integer | None
    OnDemandMaxTotalPrice: String | None
    SpotMaxTotalPrice: String | None
    TerminateInstancesWithExpiration: Boolean | None
    Type: FleetType | None
    ValidFrom: DateTime | None
    ValidUntil: DateTime | None
    ReplaceUnhealthyInstances: Boolean | None
    InstanceInterruptionBehavior: InstanceInterruptionBehavior | None
    LoadBalancersConfig: LoadBalancersConfig | None
    InstancePoolsToUseCount: Integer | None
    Context: String | None
    TargetCapacityUnitType: TargetCapacityUnitType | None
    TagSpecifications: TagSpecificationList | None


class SpotFleetRequestConfig(TypedDict, total=False):
    ActivityStatus: ActivityStatus | None
    CreateTime: MillisecondDateTime | None
    SpotFleetRequestConfig: SpotFleetRequestConfigData | None
    SpotFleetRequestId: String | None
    SpotFleetRequestState: BatchState | None
    Tags: TagList | None


SpotFleetRequestConfigSet = list[SpotFleetRequestConfig]


class DescribeSpotFleetRequestsResponse(TypedDict, total=False):
    NextToken: String | None
    SpotFleetRequestConfigs: SpotFleetRequestConfigSet | None


class DescribeSpotInstanceRequestsRequest(ServiceRequest):
    NextToken: String | None
    MaxResults: Integer | None
    DryRun: Boolean | None
    SpotInstanceRequestIds: SpotInstanceRequestIdList | None
    Filters: FilterList | None


class SpotInstanceStatus(TypedDict, total=False):
    Code: String | None
    Message: String | None
    UpdateTime: DateTime | None


class RunInstancesMonitoringEnabled(TypedDict, total=False):
    Enabled: Boolean


class LaunchSpecification(TypedDict, total=False):
    UserData: SensitiveUserData | None
    AddressingType: String | None
    BlockDeviceMappings: BlockDeviceMappingList | None
    EbsOptimized: Boolean | None
    IamInstanceProfile: IamInstanceProfileSpecification | None
    ImageId: String | None
    InstanceType: InstanceType | None
    KernelId: String | None
    KeyName: String | None
    NetworkInterfaces: InstanceNetworkInterfaceSpecificationList | None
    Placement: SpotPlacement | None
    RamdiskId: String | None
    SubnetId: String | None
    SecurityGroups: GroupIdentifierList | None
    Monitoring: RunInstancesMonitoringEnabled | None


class SpotInstanceRequest(TypedDict, total=False):
    ActualBlockHourlyPrice: String | None
    AvailabilityZoneGroup: String | None
    BlockDurationMinutes: Integer | None
    CreateTime: DateTime | None
    Fault: SpotInstanceStateFault | None
    InstanceId: InstanceId | None
    LaunchGroup: String | None
    LaunchSpecification: LaunchSpecification | None
    LaunchedAvailabilityZone: String | None
    LaunchedAvailabilityZoneId: String | None
    ProductDescription: RIProductDescription | None
    SpotInstanceRequestId: String | None
    SpotPrice: String | None
    State: SpotInstanceState | None
    Status: SpotInstanceStatus | None
    Tags: TagList | None
    Type: SpotInstanceType | None
    ValidFrom: DateTime | None
    ValidUntil: DateTime | None
    InstanceInterruptionBehavior: InstanceInterruptionBehavior | None


SpotInstanceRequestList = list[SpotInstanceRequest]


class DescribeSpotInstanceRequestsResult(TypedDict, total=False):
    SpotInstanceRequests: SpotInstanceRequestList | None
    NextToken: String | None


ProductDescriptionList = list[String]
InstanceTypeList = list[InstanceType]


class DescribeSpotPriceHistoryRequest(ServiceRequest):
    AvailabilityZoneId: AvailabilityZoneId | None
    DryRun: Boolean | None
    StartTime: DateTime | None
    EndTime: DateTime | None
    InstanceTypes: InstanceTypeList | None
    ProductDescriptions: ProductDescriptionList | None
    Filters: FilterList | None
    AvailabilityZone: String | None
    MaxResults: Integer | None
    NextToken: String | None


class SpotPrice(TypedDict, total=False):
    AvailabilityZone: String | None
    AvailabilityZoneId: String | None
    InstanceType: InstanceType | None
    ProductDescription: RIProductDescription | None
    SpotPrice: String | None
    Timestamp: DateTime | None


SpotPriceHistoryList = list[SpotPrice]


class DescribeSpotPriceHistoryResult(TypedDict, total=False):
    NextToken: String | None
    SpotPriceHistory: SpotPriceHistoryList | None


class DescribeStaleSecurityGroupsRequest(ServiceRequest):
    DryRun: Boolean | None
    MaxResults: DescribeStaleSecurityGroupsMaxResults | None
    NextToken: DescribeStaleSecurityGroupsNextToken | None
    VpcId: VpcId


UserIdGroupPairSet = list[UserIdGroupPair]
PrefixListIdSet = list[String]
IpRanges = list[String]


class StaleIpPermission(TypedDict, total=False):
    FromPort: Integer | None
    IpProtocol: String | None
    IpRanges: IpRanges | None
    PrefixListIds: PrefixListIdSet | None
    ToPort: Integer | None
    UserIdGroupPairs: UserIdGroupPairSet | None


StaleIpPermissionSet = list[StaleIpPermission]


class StaleSecurityGroup(TypedDict, total=False):
    Description: String | None
    GroupId: String | None
    GroupName: String | None
    StaleIpPermissions: StaleIpPermissionSet | None
    StaleIpPermissionsEgress: StaleIpPermissionSet | None
    VpcId: String | None


StaleSecurityGroupSet = list[StaleSecurityGroup]


class DescribeStaleSecurityGroupsResult(TypedDict, total=False):
    NextToken: String | None
    StaleSecurityGroupSet: StaleSecurityGroupSet | None


ImageIdList = list[ImageId]


class DescribeStoreImageTasksRequest(ServiceRequest):
    ImageIds: ImageIdList | None
    DryRun: Boolean | None
    Filters: FilterList | None
    NextToken: String | None
    MaxResults: DescribeStoreImageTasksRequestMaxResults | None


class StoreImageTaskResult(TypedDict, total=False):
    AmiId: String | None
    TaskStartTime: MillisecondDateTime | None
    Bucket: String | None
    S3objectKey: String | None
    ProgressPercentage: Integer | None
    StoreTaskState: String | None
    StoreTaskFailureReason: String | None


StoreImageTaskResultSet = list[StoreImageTaskResult]


class DescribeStoreImageTasksResult(TypedDict, total=False):
    StoreImageTaskResults: StoreImageTaskResultSet | None
    NextToken: String | None


SubnetIdStringList = list[SubnetId]


class DescribeSubnetsRequest(ServiceRequest):
    Filters: FilterList | None
    SubnetIds: SubnetIdStringList | None
    NextToken: String | None
    MaxResults: DescribeSubnetsMaxResults | None
    DryRun: Boolean | None


SubnetList = list[Subnet]


class DescribeSubnetsResult(TypedDict, total=False):
    NextToken: String | None
    Subnets: SubnetList | None


class DescribeTagsRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: Integer | None
    NextToken: String | None


class TagDescription(TypedDict, total=False):
    Key: String | None
    ResourceId: String | None
    ResourceType: ResourceType | None
    Value: String | None


TagDescriptionList = list[TagDescription]


class DescribeTagsResult(TypedDict, total=False):
    NextToken: String | None
    Tags: TagDescriptionList | None


TrafficMirrorFilterRuleIdList = list[TrafficMirrorFilterRuleIdWithResolver]


class DescribeTrafficMirrorFilterRulesRequest(ServiceRequest):
    TrafficMirrorFilterRuleIds: TrafficMirrorFilterRuleIdList | None
    TrafficMirrorFilterId: TrafficMirrorFilterId | None
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: TrafficMirroringMaxResults | None
    NextToken: NextToken | None


TrafficMirrorFilterRuleSet = list[TrafficMirrorFilterRule]


class DescribeTrafficMirrorFilterRulesResult(TypedDict, total=False):
    TrafficMirrorFilterRules: TrafficMirrorFilterRuleSet | None
    NextToken: String | None


TrafficMirrorFilterIdList = list[TrafficMirrorFilterId]


class DescribeTrafficMirrorFiltersRequest(ServiceRequest):
    TrafficMirrorFilterIds: TrafficMirrorFilterIdList | None
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: TrafficMirroringMaxResults | None
    NextToken: NextToken | None


TrafficMirrorFilterSet = list[TrafficMirrorFilter]


class DescribeTrafficMirrorFiltersResult(TypedDict, total=False):
    TrafficMirrorFilters: TrafficMirrorFilterSet | None
    NextToken: String | None


TrafficMirrorSessionIdList = list[TrafficMirrorSessionId]


class DescribeTrafficMirrorSessionsRequest(ServiceRequest):
    TrafficMirrorSessionIds: TrafficMirrorSessionIdList | None
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: TrafficMirroringMaxResults | None
    NextToken: NextToken | None


TrafficMirrorSessionSet = list[TrafficMirrorSession]


class DescribeTrafficMirrorSessionsResult(TypedDict, total=False):
    TrafficMirrorSessions: TrafficMirrorSessionSet | None
    NextToken: String | None


TrafficMirrorTargetIdList = list[TrafficMirrorTargetId]


class DescribeTrafficMirrorTargetsRequest(ServiceRequest):
    TrafficMirrorTargetIds: TrafficMirrorTargetIdList | None
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: TrafficMirroringMaxResults | None
    NextToken: NextToken | None


TrafficMirrorTargetSet = list[TrafficMirrorTarget]


class DescribeTrafficMirrorTargetsResult(TypedDict, total=False):
    TrafficMirrorTargets: TrafficMirrorTargetSet | None
    NextToken: String | None


class DescribeTransitGatewayAttachmentsRequest(ServiceRequest):
    TransitGatewayAttachmentIds: TransitGatewayAttachmentIdStringList | None
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


class TransitGatewayAttachmentAssociation(TypedDict, total=False):
    TransitGatewayRouteTableId: String | None
    State: TransitGatewayAssociationState | None


class TransitGatewayAttachment(TypedDict, total=False):
    TransitGatewayAttachmentId: String | None
    TransitGatewayId: String | None
    TransitGatewayOwnerId: String | None
    ResourceOwnerId: String | None
    ResourceType: TransitGatewayAttachmentResourceType | None
    ResourceId: String | None
    State: TransitGatewayAttachmentState | None
    Association: TransitGatewayAttachmentAssociation | None
    CreationTime: DateTime | None
    Tags: TagList | None


TransitGatewayAttachmentList = list[TransitGatewayAttachment]


class DescribeTransitGatewayAttachmentsResult(TypedDict, total=False):
    TransitGatewayAttachments: TransitGatewayAttachmentList | None
    NextToken: String | None


TransitGatewayConnectPeerIdStringList = list[TransitGatewayConnectPeerId]


class DescribeTransitGatewayConnectPeersRequest(ServiceRequest):
    TransitGatewayConnectPeerIds: TransitGatewayConnectPeerIdStringList | None
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


TransitGatewayConnectPeerList = list[TransitGatewayConnectPeer]


class DescribeTransitGatewayConnectPeersResult(TypedDict, total=False):
    TransitGatewayConnectPeers: TransitGatewayConnectPeerList | None
    NextToken: String | None


class DescribeTransitGatewayConnectsRequest(ServiceRequest):
    TransitGatewayAttachmentIds: TransitGatewayAttachmentIdStringList | None
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


TransitGatewayConnectList = list[TransitGatewayConnect]


class DescribeTransitGatewayConnectsResult(TypedDict, total=False):
    TransitGatewayConnects: TransitGatewayConnectList | None
    NextToken: String | None


TransitGatewayMeteringPolicyIdStringList = list[TransitGatewayMeteringPolicyId]


class DescribeTransitGatewayMeteringPoliciesRequest(ServiceRequest):
    TransitGatewayMeteringPolicyIds: TransitGatewayMeteringPolicyIdStringList | None
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


TransitGatewayMeteringPolicyList = list[TransitGatewayMeteringPolicy]


class DescribeTransitGatewayMeteringPoliciesResult(TypedDict, total=False):
    TransitGatewayMeteringPolicies: TransitGatewayMeteringPolicyList | None
    NextToken: String | None


TransitGatewayMulticastDomainIdStringList = list[TransitGatewayMulticastDomainId]


class DescribeTransitGatewayMulticastDomainsRequest(ServiceRequest):
    TransitGatewayMulticastDomainIds: TransitGatewayMulticastDomainIdStringList | None
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


TransitGatewayMulticastDomainList = list[TransitGatewayMulticastDomain]


class DescribeTransitGatewayMulticastDomainsResult(TypedDict, total=False):
    TransitGatewayMulticastDomains: TransitGatewayMulticastDomainList | None
    NextToken: String | None


class DescribeTransitGatewayPeeringAttachmentsRequest(ServiceRequest):
    TransitGatewayAttachmentIds: TransitGatewayAttachmentIdStringList | None
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


TransitGatewayPeeringAttachmentList = list[TransitGatewayPeeringAttachment]


class DescribeTransitGatewayPeeringAttachmentsResult(TypedDict, total=False):
    TransitGatewayPeeringAttachments: TransitGatewayPeeringAttachmentList | None
    NextToken: String | None


TransitGatewayPolicyTableIdStringList = list[TransitGatewayPolicyTableId]


class DescribeTransitGatewayPolicyTablesRequest(ServiceRequest):
    TransitGatewayPolicyTableIds: TransitGatewayPolicyTableIdStringList | None
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


TransitGatewayPolicyTableList = list[TransitGatewayPolicyTable]


class DescribeTransitGatewayPolicyTablesResult(TypedDict, total=False):
    TransitGatewayPolicyTables: TransitGatewayPolicyTableList | None
    NextToken: String | None


TransitGatewayRouteTableAnnouncementIdStringList = list[TransitGatewayRouteTableAnnouncementId]


class DescribeTransitGatewayRouteTableAnnouncementsRequest(ServiceRequest):
    TransitGatewayRouteTableAnnouncementIds: TransitGatewayRouteTableAnnouncementIdStringList | None
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


TransitGatewayRouteTableAnnouncementList = list[TransitGatewayRouteTableAnnouncement]


class DescribeTransitGatewayRouteTableAnnouncementsResult(TypedDict, total=False):
    TransitGatewayRouteTableAnnouncements: TransitGatewayRouteTableAnnouncementList | None
    NextToken: String | None


TransitGatewayRouteTableIdStringList = list[TransitGatewayRouteTableId]


class DescribeTransitGatewayRouteTablesRequest(ServiceRequest):
    TransitGatewayRouteTableIds: TransitGatewayRouteTableIdStringList | None
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


TransitGatewayRouteTableList = list[TransitGatewayRouteTable]


class DescribeTransitGatewayRouteTablesResult(TypedDict, total=False):
    TransitGatewayRouteTables: TransitGatewayRouteTableList | None
    NextToken: String | None


class DescribeTransitGatewayVpcAttachmentsRequest(ServiceRequest):
    TransitGatewayAttachmentIds: TransitGatewayAttachmentIdStringList | None
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


TransitGatewayVpcAttachmentList = list[TransitGatewayVpcAttachment]


class DescribeTransitGatewayVpcAttachmentsResult(TypedDict, total=False):
    TransitGatewayVpcAttachments: TransitGatewayVpcAttachmentList | None
    NextToken: String | None


TransitGatewayIdStringList = list[TransitGatewayId]


class DescribeTransitGatewaysRequest(ServiceRequest):
    TransitGatewayIds: TransitGatewayIdStringList | None
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


TransitGatewayList = list[TransitGateway]


class DescribeTransitGatewaysResult(TypedDict, total=False):
    TransitGateways: TransitGatewayList | None
    NextToken: String | None


TrunkInterfaceAssociationIdList = list[TrunkInterfaceAssociationId]


class DescribeTrunkInterfaceAssociationsRequest(ServiceRequest):
    AssociationIds: TrunkInterfaceAssociationIdList | None
    DryRun: Boolean | None
    Filters: FilterList | None
    NextToken: String | None
    MaxResults: DescribeTrunkInterfaceAssociationsMaxResults | None


TrunkInterfaceAssociationList = list[TrunkInterfaceAssociation]


class DescribeTrunkInterfaceAssociationsResult(TypedDict, total=False):
    InterfaceAssociations: TrunkInterfaceAssociationList | None
    NextToken: String | None


VerifiedAccessEndpointIdList = list[VerifiedAccessEndpointId]


class DescribeVerifiedAccessEndpointsRequest(ServiceRequest):
    VerifiedAccessEndpointIds: VerifiedAccessEndpointIdList | None
    VerifiedAccessInstanceId: VerifiedAccessInstanceId | None
    VerifiedAccessGroupId: VerifiedAccessGroupId | None
    MaxResults: DescribeVerifiedAccessEndpointsMaxResults | None
    NextToken: NextToken | None
    Filters: FilterList | None
    DryRun: Boolean | None


VerifiedAccessEndpointList = list[VerifiedAccessEndpoint]


class DescribeVerifiedAccessEndpointsResult(TypedDict, total=False):
    VerifiedAccessEndpoints: VerifiedAccessEndpointList | None
    NextToken: NextToken | None


VerifiedAccessGroupIdList = list[VerifiedAccessGroupId]


class DescribeVerifiedAccessGroupsRequest(ServiceRequest):
    VerifiedAccessGroupIds: VerifiedAccessGroupIdList | None
    VerifiedAccessInstanceId: VerifiedAccessInstanceId | None
    MaxResults: DescribeVerifiedAccessGroupMaxResults | None
    NextToken: NextToken | None
    Filters: FilterList | None
    DryRun: Boolean | None


VerifiedAccessGroupList = list[VerifiedAccessGroup]


class DescribeVerifiedAccessGroupsResult(TypedDict, total=False):
    VerifiedAccessGroups: VerifiedAccessGroupList | None
    NextToken: NextToken | None


VerifiedAccessInstanceIdList = list[VerifiedAccessInstanceId]


class DescribeVerifiedAccessInstanceLoggingConfigurationsRequest(ServiceRequest):
    VerifiedAccessInstanceIds: VerifiedAccessInstanceIdList | None
    MaxResults: DescribeVerifiedAccessInstanceLoggingConfigurationsMaxResults | None
    NextToken: NextToken | None
    Filters: FilterList | None
    DryRun: Boolean | None


class VerifiedAccessLogDeliveryStatus(TypedDict, total=False):
    Code: VerifiedAccessLogDeliveryStatusCode | None
    Message: String | None


class VerifiedAccessLogKinesisDataFirehoseDestination(TypedDict, total=False):
    Enabled: Boolean | None
    DeliveryStatus: VerifiedAccessLogDeliveryStatus | None
    DeliveryStream: String | None


class VerifiedAccessLogCloudWatchLogsDestination(TypedDict, total=False):
    Enabled: Boolean | None
    DeliveryStatus: VerifiedAccessLogDeliveryStatus | None
    LogGroup: String | None


class VerifiedAccessLogS3Destination(TypedDict, total=False):
    Enabled: Boolean | None
    DeliveryStatus: VerifiedAccessLogDeliveryStatus | None
    BucketName: String | None
    Prefix: String | None
    BucketOwner: String | None


class VerifiedAccessLogs(TypedDict, total=False):
    S3: VerifiedAccessLogS3Destination | None
    CloudWatchLogs: VerifiedAccessLogCloudWatchLogsDestination | None
    KinesisDataFirehose: VerifiedAccessLogKinesisDataFirehoseDestination | None
    LogVersion: String | None
    IncludeTrustContext: Boolean | None


class VerifiedAccessInstanceLoggingConfiguration(TypedDict, total=False):
    VerifiedAccessInstanceId: String | None
    AccessLogs: VerifiedAccessLogs | None


VerifiedAccessInstanceLoggingConfigurationList = list[VerifiedAccessInstanceLoggingConfiguration]


class DescribeVerifiedAccessInstanceLoggingConfigurationsResult(TypedDict, total=False):
    LoggingConfigurations: VerifiedAccessInstanceLoggingConfigurationList | None
    NextToken: NextToken | None


class DescribeVerifiedAccessInstancesRequest(ServiceRequest):
    VerifiedAccessInstanceIds: VerifiedAccessInstanceIdList | None
    MaxResults: DescribeVerifiedAccessInstancesMaxResults | None
    NextToken: NextToken | None
    Filters: FilterList | None
    DryRun: Boolean | None


VerifiedAccessInstanceList = list[VerifiedAccessInstance]


class DescribeVerifiedAccessInstancesResult(TypedDict, total=False):
    VerifiedAccessInstances: VerifiedAccessInstanceList | None
    NextToken: NextToken | None


VerifiedAccessTrustProviderIdList = list[VerifiedAccessTrustProviderId]


class DescribeVerifiedAccessTrustProvidersRequest(ServiceRequest):
    VerifiedAccessTrustProviderIds: VerifiedAccessTrustProviderIdList | None
    MaxResults: DescribeVerifiedAccessTrustProvidersMaxResults | None
    NextToken: NextToken | None
    Filters: FilterList | None
    DryRun: Boolean | None


VerifiedAccessTrustProviderList = list[VerifiedAccessTrustProvider]


class DescribeVerifiedAccessTrustProvidersResult(TypedDict, total=False):
    VerifiedAccessTrustProviders: VerifiedAccessTrustProviderList | None
    NextToken: NextToken | None


class DescribeVolumeAttributeRequest(ServiceRequest):
    Attribute: VolumeAttributeName
    VolumeId: VolumeId
    DryRun: Boolean | None


class DescribeVolumeAttributeResult(TypedDict, total=False):
    AutoEnableIO: AttributeBooleanValue | None
    ProductCodes: ProductCodeList | None
    VolumeId: String | None


class DescribeVolumeStatusRequest(ServiceRequest):
    MaxResults: Integer | None
    NextToken: String | None
    VolumeIds: VolumeIdStringList | None
    DryRun: Boolean | None
    Filters: FilterList | None


class InitializationStatusDetails(TypedDict, total=False):
    InitializationType: InitializationType | None
    Progress: Long | None
    EstimatedTimeToCompleteInSeconds: Long | None


class VolumeStatusAttachmentStatus(TypedDict, total=False):
    IoPerformance: String | None
    InstanceId: String | None


VolumeStatusAttachmentStatusList = list[VolumeStatusAttachmentStatus]


class VolumeStatusDetails(TypedDict, total=False):
    Name: VolumeStatusName | None
    Status: String | None


VolumeStatusDetailsList = list[VolumeStatusDetails]


class VolumeStatusInfo(TypedDict, total=False):
    Details: VolumeStatusDetailsList | None
    Status: VolumeStatusInfoStatus | None


class VolumeStatusEvent(TypedDict, total=False):
    Description: String | None
    EventId: String | None
    EventType: String | None
    NotAfter: MillisecondDateTime | None
    NotBefore: MillisecondDateTime | None
    InstanceId: String | None


VolumeStatusEventsList = list[VolumeStatusEvent]


class VolumeStatusAction(TypedDict, total=False):
    Code: String | None
    Description: String | None
    EventId: String | None
    EventType: String | None


VolumeStatusActionsList = list[VolumeStatusAction]


class VolumeStatusItem(TypedDict, total=False):
    Actions: VolumeStatusActionsList | None
    AvailabilityZone: String | None
    OutpostArn: String | None
    Events: VolumeStatusEventsList | None
    VolumeId: String | None
    VolumeStatus: VolumeStatusInfo | None
    AttachmentStatuses: VolumeStatusAttachmentStatusList | None
    InitializationStatusDetails: InitializationStatusDetails | None
    AvailabilityZoneId: String | None


VolumeStatusList = list[VolumeStatusItem]


class DescribeVolumeStatusResult(TypedDict, total=False):
    NextToken: String | None
    VolumeStatuses: VolumeStatusList | None


class DescribeVolumesModificationsRequest(ServiceRequest):
    DryRun: Boolean | None
    VolumeIds: VolumeIdStringList | None
    Filters: FilterList | None
    NextToken: String | None
    MaxResults: Integer | None


class VolumeModification(TypedDict, total=False):
    VolumeId: String | None
    ModificationState: VolumeModificationState | None
    StatusMessage: String | None
    TargetSize: Integer | None
    TargetIops: Integer | None
    TargetVolumeType: VolumeType | None
    TargetThroughput: Integer | None
    TargetMultiAttachEnabled: Boolean | None
    OriginalSize: Integer | None
    OriginalIops: Integer | None
    OriginalVolumeType: VolumeType | None
    OriginalThroughput: Integer | None
    OriginalMultiAttachEnabled: Boolean | None
    Progress: Long | None
    StartTime: DateTime | None
    EndTime: DateTime | None


VolumeModificationList = list[VolumeModification]


class DescribeVolumesModificationsResult(TypedDict, total=False):
    NextToken: String | None
    VolumesModifications: VolumeModificationList | None


class DescribeVolumesRequest(ServiceRequest):
    VolumeIds: VolumeIdStringList | None
    DryRun: Boolean | None
    Filters: FilterList | None
    NextToken: String | None
    MaxResults: Integer | None


class DescribeVolumesResult(TypedDict, total=False):
    NextToken: String | None
    Volumes: VolumeList | None


class DescribeVpcAttributeRequest(ServiceRequest):
    Attribute: VpcAttributeName
    VpcId: VpcId
    DryRun: Boolean | None


class DescribeVpcAttributeResult(TypedDict, total=False):
    EnableDnsHostnames: AttributeBooleanValue | None
    EnableDnsSupport: AttributeBooleanValue | None
    EnableNetworkAddressUsageMetrics: AttributeBooleanValue | None
    VpcId: String | None


VpcBlockPublicAccessExclusionIdList = list[VpcBlockPublicAccessExclusionId]


class DescribeVpcBlockPublicAccessExclusionsRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    ExclusionIds: VpcBlockPublicAccessExclusionIdList | None
    NextToken: String | None
    MaxResults: DescribeVpcBlockPublicAccessExclusionsMaxResults | None


VpcBlockPublicAccessExclusionList = list[VpcBlockPublicAccessExclusion]


class DescribeVpcBlockPublicAccessExclusionsResult(TypedDict, total=False):
    VpcBlockPublicAccessExclusions: VpcBlockPublicAccessExclusionList | None
    NextToken: String | None


class DescribeVpcBlockPublicAccessOptionsRequest(ServiceRequest):
    DryRun: Boolean | None


class VpcBlockPublicAccessOptions(TypedDict, total=False):
    AwsAccountId: String | None
    AwsRegion: String | None
    State: VpcBlockPublicAccessState | None
    InternetGatewayBlockMode: InternetGatewayBlockMode | None
    Reason: String | None
    LastUpdateTimestamp: MillisecondDateTime | None
    ManagedBy: ManagedBy | None
    ExclusionsAllowed: VpcBlockPublicAccessExclusionsAllowed | None


class DescribeVpcBlockPublicAccessOptionsResult(TypedDict, total=False):
    VpcBlockPublicAccessOptions: VpcBlockPublicAccessOptions | None


VpcClassicLinkIdList = list[VpcId]


class DescribeVpcClassicLinkDnsSupportRequest(ServiceRequest):
    VpcIds: VpcClassicLinkIdList | None
    MaxResults: DescribeVpcClassicLinkDnsSupportMaxResults | None
    NextToken: DescribeVpcClassicLinkDnsSupportNextToken | None


class DescribeVpcClassicLinkDnsSupportResult(TypedDict, total=False):
    NextToken: DescribeVpcClassicLinkDnsSupportNextToken | None
    Vpcs: ClassicLinkDnsSupportList | None


class DescribeVpcClassicLinkRequest(ServiceRequest):
    DryRun: Boolean | None
    VpcIds: VpcClassicLinkIdList | None
    Filters: FilterList | None


class VpcClassicLink(TypedDict, total=False):
    ClassicLinkEnabled: Boolean | None
    Tags: TagList | None
    VpcId: String | None


VpcClassicLinkList = list[VpcClassicLink]


class DescribeVpcClassicLinkResult(TypedDict, total=False):
    Vpcs: VpcClassicLinkList | None


VpcIdStringList = list[VpcId]
VpcEncryptionControlIdList = list[VpcEncryptionControlId]


class DescribeVpcEncryptionControlsRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    VpcEncryptionControlIds: VpcEncryptionControlIdList | None
    VpcIds: VpcIdStringList | None
    NextToken: String | None
    MaxResults: DescribeVpcEncryptionControlsMaxResults | None


VpcEncryptionControlList = list[VpcEncryptionControl]


class DescribeVpcEncryptionControlsResult(TypedDict, total=False):
    VpcEncryptionControls: VpcEncryptionControlList | None
    NextToken: String | None


class DescribeVpcEndpointAssociationsRequest(ServiceRequest):
    DryRun: Boolean | None
    VpcEndpointIds: VpcEndpointIdList | None
    Filters: FilterList | None
    MaxResults: maxResults | None
    NextToken: String | None


class VpcEndpointAssociation(TypedDict, total=False):
    Id: String | None
    VpcEndpointId: VpcEndpointId | None
    ServiceNetworkArn: ServiceNetworkArn | None
    ServiceNetworkName: String | None
    AssociatedResourceAccessibility: String | None
    FailureReason: String | None
    FailureCode: String | None
    DnsEntry: DnsEntry | None
    PrivateDnsEntry: DnsEntry | None
    AssociatedResourceArn: String | None
    ResourceConfigurationGroupArn: String | None
    Tags: TagList | None


VpcEndpointAssociationSet = list[VpcEndpointAssociation]


class DescribeVpcEndpointAssociationsResult(TypedDict, total=False):
    VpcEndpointAssociations: VpcEndpointAssociationSet | None
    NextToken: String | None


class DescribeVpcEndpointConnectionNotificationsRequest(ServiceRequest):
    DryRun: Boolean | None
    ConnectionNotificationId: ConnectionNotificationId | None
    Filters: FilterList | None
    MaxResults: Integer | None
    NextToken: String | None


class DescribeVpcEndpointConnectionNotificationsResult(TypedDict, total=False):
    ConnectionNotificationSet: ConnectionNotificationSet | None
    NextToken: String | None


class DescribeVpcEndpointConnectionsRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: Integer | None
    NextToken: String | None


class VpcEndpointConnection(TypedDict, total=False):
    ServiceId: String | None
    VpcEndpointId: String | None
    VpcEndpointOwner: String | None
    VpcEndpointState: State | None
    CreationTimestamp: MillisecondDateTime | None
    DnsEntries: DnsEntrySet | None
    NetworkLoadBalancerArns: ValueStringList | None
    GatewayLoadBalancerArns: ValueStringList | None
    IpAddressType: IpAddressType | None
    VpcEndpointConnectionId: String | None
    Tags: TagList | None
    VpcEndpointRegion: String | None


VpcEndpointConnectionSet = list[VpcEndpointConnection]


class DescribeVpcEndpointConnectionsResult(TypedDict, total=False):
    VpcEndpointConnections: VpcEndpointConnectionSet | None
    NextToken: String | None


class DescribeVpcEndpointServiceConfigurationsRequest(ServiceRequest):
    DryRun: Boolean | None
    ServiceIds: VpcEndpointServiceIdList | None
    Filters: FilterList | None
    MaxResults: Integer | None
    NextToken: String | None


ServiceConfigurationSet = list[ServiceConfiguration]


class DescribeVpcEndpointServiceConfigurationsResult(TypedDict, total=False):
    ServiceConfigurations: ServiceConfigurationSet | None
    NextToken: String | None


class DescribeVpcEndpointServicePermissionsRequest(ServiceRequest):
    DryRun: Boolean | None
    ServiceId: VpcEndpointServiceId
    Filters: FilterList | None
    MaxResults: Integer | None
    NextToken: String | None


class DescribeVpcEndpointServicePermissionsResult(TypedDict, total=False):
    AllowedPrincipals: AllowedPrincipalSet | None
    NextToken: String | None


class DescribeVpcEndpointServicesRequest(ServiceRequest):
    DryRun: Boolean | None
    ServiceNames: ValueStringList | None
    Filters: FilterList | None
    MaxResults: Integer | None
    NextToken: String | None
    ServiceRegions: ValueStringList | None


class PrivateDnsDetails(TypedDict, total=False):
    PrivateDnsName: String | None


PrivateDnsDetailsSet = list[PrivateDnsDetails]


class ServiceDetail(TypedDict, total=False):
    ServiceName: String | None
    ServiceId: String | None
    ServiceType: ServiceTypeDetailSet | None
    ServiceRegion: String | None
    AvailabilityZoneIds: ValueStringList | None
    AvailabilityZones: ValueStringList | None
    Owner: String | None
    BaseEndpointDnsNames: ValueStringList | None
    PrivateDnsName: String | None
    PrivateDnsNames: PrivateDnsDetailsSet | None
    VpcEndpointPolicySupported: Boolean | None
    AcceptanceRequired: Boolean | None
    ManagesVpcEndpoints: Boolean | None
    PayerResponsibility: PayerResponsibility | None
    Tags: TagList | None
    PrivateDnsNameVerificationState: DnsNameState | None
    SupportedIpAddressTypes: SupportedIpAddressTypes | None


ServiceDetailSet = list[ServiceDetail]


class DescribeVpcEndpointServicesResult(TypedDict, total=False):
    ServiceNames: ValueStringList | None
    ServiceDetails: ServiceDetailSet | None
    NextToken: String | None


class DescribeVpcEndpointsRequest(ServiceRequest):
    DryRun: Boolean | None
    VpcEndpointIds: VpcEndpointIdList | None
    Filters: FilterList | None
    MaxResults: Integer | None
    NextToken: String | None


VpcEndpointSet = list[VpcEndpoint]


class DescribeVpcEndpointsResult(TypedDict, total=False):
    VpcEndpoints: VpcEndpointSet | None
    NextToken: String | None


VpcPeeringConnectionIdList = list[VpcPeeringConnectionId]


class DescribeVpcPeeringConnectionsRequest(ServiceRequest):
    NextToken: String | None
    MaxResults: DescribeVpcPeeringConnectionsMaxResults | None
    DryRun: Boolean | None
    VpcPeeringConnectionIds: VpcPeeringConnectionIdList | None
    Filters: FilterList | None


VpcPeeringConnectionList = list[VpcPeeringConnection]


class DescribeVpcPeeringConnectionsResult(TypedDict, total=False):
    VpcPeeringConnections: VpcPeeringConnectionList | None
    NextToken: String | None


class DescribeVpcsRequest(ServiceRequest):
    Filters: FilterList | None
    VpcIds: VpcIdStringList | None
    NextToken: String | None
    MaxResults: DescribeVpcsMaxResults | None
    DryRun: Boolean | None


VpcList = list[Vpc]


class DescribeVpcsResult(TypedDict, total=False):
    NextToken: String | None
    Vpcs: VpcList | None


VpnConcentratorIdStringList = list[VpnConcentratorId]


class DescribeVpnConcentratorsRequest(ServiceRequest):
    VpnConcentratorIds: VpnConcentratorIdStringList | None
    Filters: FilterList | None
    MaxResults: GVCDMaxResults | None
    NextToken: NextToken | None
    DryRun: Boolean | None


VpnConcentratorList = list[VpnConcentrator]


class DescribeVpnConcentratorsResult(TypedDict, total=False):
    VpnConcentrators: VpnConcentratorList | None
    NextToken: NextToken | None


VpnConnectionIdStringList = list[VpnConnectionId]


class DescribeVpnConnectionsRequest(ServiceRequest):
    Filters: FilterList | None
    VpnConnectionIds: VpnConnectionIdStringList | None
    DryRun: Boolean | None


VpnConnectionList = list[VpnConnection]


class DescribeVpnConnectionsResult(TypedDict, total=False):
    VpnConnections: VpnConnectionList | None


VpnGatewayIdStringList = list[VpnGatewayId]


class DescribeVpnGatewaysRequest(ServiceRequest):
    Filters: FilterList | None
    VpnGatewayIds: VpnGatewayIdStringList | None
    DryRun: Boolean | None


VpnGatewayList = list[VpnGateway]


class DescribeVpnGatewaysResult(TypedDict, total=False):
    VpnGateways: VpnGatewayList | None


class DetachClassicLinkVpcRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceId: InstanceId
    VpcId: VpcId


class DetachClassicLinkVpcResult(TypedDict, total=False):
    Return: Boolean | None


class DetachInternetGatewayRequest(ServiceRequest):
    DryRun: Boolean | None
    InternetGatewayId: InternetGatewayId
    VpcId: VpcId


class DetachNetworkInterfaceRequest(ServiceRequest):
    DryRun: Boolean | None
    AttachmentId: NetworkInterfaceAttachmentId
    Force: Boolean | None


class DetachVerifiedAccessTrustProviderRequest(ServiceRequest):
    VerifiedAccessInstanceId: VerifiedAccessInstanceId
    VerifiedAccessTrustProviderId: VerifiedAccessTrustProviderId
    ClientToken: String | None
    DryRun: Boolean | None


class DetachVerifiedAccessTrustProviderResult(TypedDict, total=False):
    VerifiedAccessTrustProvider: VerifiedAccessTrustProvider | None
    VerifiedAccessInstance: VerifiedAccessInstance | None


class DetachVolumeRequest(ServiceRequest):
    Device: String | None
    Force: Boolean | None
    InstanceId: InstanceIdForResolver | None
    VolumeId: VolumeIdWithResolver
    DryRun: Boolean | None


class DetachVpnGatewayRequest(ServiceRequest):
    VpcId: VpcId
    VpnGatewayId: VpnGatewayId
    DryRun: Boolean | None


DeviceTrustProviderTypeList = list[DeviceTrustProviderType]


class DisableAddressTransferRequest(ServiceRequest):
    AllocationId: AllocationId
    DryRun: Boolean | None


class DisableAddressTransferResult(TypedDict, total=False):
    AddressTransfer: AddressTransfer | None


class DisableAllowedImagesSettingsRequest(ServiceRequest):
    DryRun: Boolean | None


class DisableAllowedImagesSettingsResult(TypedDict, total=False):
    AllowedImagesSettingsState: AllowedImagesSettingsDisabledState | None


class DisableAwsNetworkPerformanceMetricSubscriptionRequest(ServiceRequest):
    Source: String | None
    Destination: String | None
    Metric: MetricType | None
    Statistic: StatisticType | None
    DryRun: Boolean | None


class DisableAwsNetworkPerformanceMetricSubscriptionResult(TypedDict, total=False):
    Output: Boolean | None


class DisableCapacityManagerRequest(ServiceRequest):
    DryRun: Boolean | None
    ClientToken: String | None


class DisableCapacityManagerResult(TypedDict, total=False):
    CapacityManagerStatus: CapacityManagerStatus | None
    OrganizationsAccess: Boolean | None


class DisableEbsEncryptionByDefaultRequest(ServiceRequest):
    DryRun: Boolean | None


class DisableEbsEncryptionByDefaultResult(TypedDict, total=False):
    EbsEncryptionByDefault: Boolean | None


class DisableFastLaunchRequest(ServiceRequest):
    ImageId: ImageId
    Force: Boolean | None
    DryRun: Boolean | None


class DisableFastLaunchResult(TypedDict, total=False):
    ImageId: ImageId | None
    ResourceType: FastLaunchResourceType | None
    SnapshotConfiguration: FastLaunchSnapshotConfigurationResponse | None
    LaunchTemplate: FastLaunchLaunchTemplateSpecificationResponse | None
    MaxParallelLaunches: Integer | None
    OwnerId: String | None
    State: FastLaunchStateCode | None
    StateTransitionReason: String | None
    StateTransitionTime: MillisecondDateTime | None


class DisableFastSnapshotRestoreStateError(TypedDict, total=False):
    Code: String | None
    Message: String | None


class DisableFastSnapshotRestoreStateErrorItem(TypedDict, total=False):
    AvailabilityZone: String | None
    AvailabilityZoneId: String | None
    Error: DisableFastSnapshotRestoreStateError | None


DisableFastSnapshotRestoreStateErrorSet = list[DisableFastSnapshotRestoreStateErrorItem]


class DisableFastSnapshotRestoreErrorItem(TypedDict, total=False):
    SnapshotId: String | None
    FastSnapshotRestoreStateErrors: DisableFastSnapshotRestoreStateErrorSet | None


DisableFastSnapshotRestoreErrorSet = list[DisableFastSnapshotRestoreErrorItem]


class DisableFastSnapshotRestoreSuccessItem(TypedDict, total=False):
    SnapshotId: String | None
    AvailabilityZone: String | None
    AvailabilityZoneId: String | None
    State: FastSnapshotRestoreStateCode | None
    StateTransitionReason: String | None
    OwnerId: String | None
    OwnerAlias: String | None
    EnablingTime: MillisecondDateTime | None
    OptimizingTime: MillisecondDateTime | None
    EnabledTime: MillisecondDateTime | None
    DisablingTime: MillisecondDateTime | None
    DisabledTime: MillisecondDateTime | None


DisableFastSnapshotRestoreSuccessSet = list[DisableFastSnapshotRestoreSuccessItem]


class DisableFastSnapshotRestoresRequest(ServiceRequest):
    AvailabilityZones: AvailabilityZoneStringList | None
    AvailabilityZoneIds: AvailabilityZoneIdStringList | None
    SourceSnapshotIds: SnapshotIdStringList
    DryRun: Boolean | None


class DisableFastSnapshotRestoresResult(TypedDict, total=False):
    Successful: DisableFastSnapshotRestoreSuccessSet | None
    Unsuccessful: DisableFastSnapshotRestoreErrorSet | None


class DisableImageBlockPublicAccessRequest(ServiceRequest):
    DryRun: Boolean | None


class DisableImageBlockPublicAccessResult(TypedDict, total=False):
    ImageBlockPublicAccessState: ImageBlockPublicAccessDisabledState | None


class DisableImageDeprecationRequest(ServiceRequest):
    ImageId: ImageId
    DryRun: Boolean | None


class DisableImageDeprecationResult(TypedDict, total=False):
    Return: Boolean | None


class DisableImageDeregistrationProtectionRequest(ServiceRequest):
    ImageId: ImageId
    DryRun: Boolean | None


class DisableImageDeregistrationProtectionResult(TypedDict, total=False):
    Return: String | None


class DisableImageRequest(ServiceRequest):
    ImageId: ImageId
    DryRun: Boolean | None


class DisableImageResult(TypedDict, total=False):
    Return: Boolean | None


InstanceIdUpdateStringList = list[InstanceId]


class DisableInstanceSqlHaStandbyDetectionsRequest(ServiceRequest):
    InstanceIds: InstanceIdUpdateStringList
    DryRun: Boolean | None


class DisableInstanceSqlHaStandbyDetectionsResult(TypedDict, total=False):
    Instances: RegisteredInstanceList | None


class DisableIpamOrganizationAdminAccountRequest(ServiceRequest):
    DryRun: Boolean | None
    DelegatedAdminAccountId: String


class DisableIpamOrganizationAdminAccountResult(TypedDict, total=False):
    Success: Boolean | None


class DisableIpamPolicyRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPolicyId: IpamPolicyId
    OrganizationTargetId: String | None


class DisableIpamPolicyResult(TypedDict, total=False):
    Return: Boolean | None


class DisableRouteServerPropagationRequest(ServiceRequest):
    RouteServerId: RouteServerId
    RouteTableId: RouteTableId
    DryRun: Boolean | None


class RouteServerPropagation(TypedDict, total=False):
    RouteServerId: RouteServerId | None
    RouteTableId: RouteTableId | None
    State: RouteServerPropagationState | None


class DisableRouteServerPropagationResult(TypedDict, total=False):
    RouteServerPropagation: RouteServerPropagation | None


class DisableSerialConsoleAccessRequest(ServiceRequest):
    DryRun: Boolean | None


class DisableSerialConsoleAccessResult(TypedDict, total=False):
    SerialConsoleAccessEnabled: Boolean | None


class DisableSnapshotBlockPublicAccessRequest(ServiceRequest):
    DryRun: Boolean | None


class DisableSnapshotBlockPublicAccessResult(TypedDict, total=False):
    State: SnapshotBlockPublicAccessState | None


class DisableTransitGatewayRouteTablePropagationRequest(ServiceRequest):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    TransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    DryRun: Boolean | None
    TransitGatewayRouteTableAnnouncementId: TransitGatewayRouteTableAnnouncementId | None


class TransitGatewayPropagation(TypedDict, total=False):
    TransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    ResourceId: String | None
    ResourceType: TransitGatewayAttachmentResourceType | None
    TransitGatewayRouteTableId: String | None
    State: TransitGatewayPropagationState | None
    TransitGatewayRouteTableAnnouncementId: TransitGatewayRouteTableAnnouncementId | None


class DisableTransitGatewayRouteTablePropagationResult(TypedDict, total=False):
    Propagation: TransitGatewayPropagation | None


class DisableVgwRoutePropagationRequest(ServiceRequest):
    GatewayId: VpnGatewayId
    RouteTableId: RouteTableId
    DryRun: Boolean | None


class DisableVpcClassicLinkDnsSupportRequest(ServiceRequest):
    VpcId: VpcId | None


class DisableVpcClassicLinkDnsSupportResult(TypedDict, total=False):
    Return: Boolean | None


class DisableVpcClassicLinkRequest(ServiceRequest):
    DryRun: Boolean | None
    VpcId: VpcId


class DisableVpcClassicLinkResult(TypedDict, total=False):
    Return: Boolean | None


class DisassociateAddressRequest(ServiceRequest):
    AssociationId: ElasticIpAssociationId | None
    PublicIp: EipAllocationPublicIp | None
    DryRun: Boolean | None


class DisassociateCapacityReservationBillingOwnerRequest(ServiceRequest):
    DryRun: Boolean | None
    CapacityReservationId: CapacityReservationId
    UnusedReservationBillingOwnerId: AccountID


class DisassociateCapacityReservationBillingOwnerResult(TypedDict, total=False):
    Return: Boolean | None


class DisassociateClientVpnTargetNetworkRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    AssociationId: String
    DryRun: Boolean | None


class DisassociateClientVpnTargetNetworkResult(TypedDict, total=False):
    AssociationId: String | None
    Status: AssociationStatus | None


class DisassociateEnclaveCertificateIamRoleRequest(ServiceRequest):
    CertificateArn: CertificateId
    RoleArn: RoleId
    DryRun: Boolean | None


class DisassociateEnclaveCertificateIamRoleResult(TypedDict, total=False):
    Return: Boolean | None


class DisassociateIamInstanceProfileRequest(ServiceRequest):
    AssociationId: IamInstanceProfileAssociationId


class DisassociateIamInstanceProfileResult(TypedDict, total=False):
    IamInstanceProfileAssociation: IamInstanceProfileAssociation | None


class InstanceEventWindowDisassociationRequest(TypedDict, total=False):
    InstanceIds: InstanceIdList | None
    InstanceTags: TagList | None
    DedicatedHostIds: DedicatedHostIdList | None


class DisassociateInstanceEventWindowRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceEventWindowId: InstanceEventWindowId
    AssociationTarget: InstanceEventWindowDisassociationRequest


class DisassociateInstanceEventWindowResult(TypedDict, total=False):
    InstanceEventWindow: InstanceEventWindow | None


class DisassociateIpamByoasnRequest(ServiceRequest):
    DryRun: Boolean | None
    Asn: String
    Cidr: String


class DisassociateIpamByoasnResult(TypedDict, total=False):
    AsnAssociation: AsnAssociation | None


class DisassociateIpamResourceDiscoveryRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamResourceDiscoveryAssociationId: IpamResourceDiscoveryAssociationId


class DisassociateIpamResourceDiscoveryResult(TypedDict, total=False):
    IpamResourceDiscoveryAssociation: IpamResourceDiscoveryAssociation | None


EipAssociationIdList = list[ElasticIpAssociationId]


class DisassociateNatGatewayAddressRequest(ServiceRequest):
    NatGatewayId: NatGatewayId
    AssociationIds: EipAssociationIdList
    MaxDrainDurationSeconds: DrainSeconds | None
    DryRun: Boolean | None


class DisassociateNatGatewayAddressResult(TypedDict, total=False):
    NatGatewayId: NatGatewayId | None
    NatGatewayAddresses: NatGatewayAddressList | None


class DisassociateRouteServerRequest(ServiceRequest):
    RouteServerId: RouteServerId
    VpcId: VpcId
    DryRun: Boolean | None


class DisassociateRouteServerResult(TypedDict, total=False):
    RouteServerAssociation: RouteServerAssociation | None


class DisassociateRouteTableRequest(ServiceRequest):
    DryRun: Boolean | None
    AssociationId: RouteTableAssociationId


class DisassociateSecurityGroupVpcRequest(ServiceRequest):
    GroupId: DisassociateSecurityGroupVpcSecurityGroupId
    VpcId: String
    DryRun: Boolean | None


class DisassociateSecurityGroupVpcResult(TypedDict, total=False):
    State: SecurityGroupVpcAssociationState | None


class DisassociateSubnetCidrBlockRequest(ServiceRequest):
    AssociationId: SubnetCidrAssociationId


class DisassociateSubnetCidrBlockResult(TypedDict, total=False):
    Ipv6CidrBlockAssociation: SubnetIpv6CidrBlockAssociation | None
    SubnetId: String | None


class DisassociateTransitGatewayMulticastDomainRequest(ServiceRequest):
    TransitGatewayMulticastDomainId: TransitGatewayMulticastDomainId
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    SubnetIds: TransitGatewaySubnetIdList
    DryRun: Boolean | None


class DisassociateTransitGatewayMulticastDomainResult(TypedDict, total=False):
    Associations: TransitGatewayMulticastDomainAssociations | None


class DisassociateTransitGatewayPolicyTableRequest(ServiceRequest):
    TransitGatewayPolicyTableId: TransitGatewayPolicyTableId
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    DryRun: Boolean | None


class DisassociateTransitGatewayPolicyTableResult(TypedDict, total=False):
    Association: TransitGatewayPolicyTableAssociation | None


class DisassociateTransitGatewayRouteTableRequest(ServiceRequest):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    DryRun: Boolean | None


class DisassociateTransitGatewayRouteTableResult(TypedDict, total=False):
    Association: TransitGatewayAssociation | None


class DisassociateTrunkInterfaceRequest(ServiceRequest):
    AssociationId: TrunkInterfaceAssociationId
    ClientToken: String | None
    DryRun: Boolean | None


class DisassociateTrunkInterfaceResult(TypedDict, total=False):
    Return: Boolean | None
    ClientToken: String | None


class DisassociateVpcCidrBlockRequest(ServiceRequest):
    AssociationId: VpcCidrAssociationId


class DisassociateVpcCidrBlockResult(TypedDict, total=False):
    Ipv6CidrBlockAssociation: VpcIpv6CidrBlockAssociation | None
    CidrBlockAssociation: VpcCidrBlockAssociation | None
    VpcId: String | None


class VolumeDetail(TypedDict, total=False):
    Size: Long


class DiskImageDetail(TypedDict, total=False):
    Format: DiskImageFormat
    Bytes: Long
    ImportManifestUrl: ImportManifestUrl


class DiskImage(TypedDict, total=False):
    Description: String | None
    Image: DiskImageDetail | None
    Volume: VolumeDetail | None


DiskImageList = list[DiskImage]


class DnsServersOptionsModifyStructure(TypedDict, total=False):
    CustomDnsServers: ValueStringList | None
    Enabled: Boolean | None


class EbsInstanceBlockDeviceSpecification(TypedDict, total=False):
    VolumeId: VolumeId | None
    DeleteOnTermination: Boolean | None


ElasticGpuSpecifications = list[ElasticGpuSpecification]


class ElasticInferenceAccelerator(TypedDict, total=False):
    Type: String
    Count: ElasticInferenceAcceleratorCount | None


ElasticInferenceAccelerators = list[ElasticInferenceAccelerator]


class EnableAddressTransferRequest(ServiceRequest):
    AllocationId: AllocationId
    TransferAccountId: String
    DryRun: Boolean | None


class EnableAddressTransferResult(TypedDict, total=False):
    AddressTransfer: AddressTransfer | None


class EnableAllowedImagesSettingsRequest(ServiceRequest):
    AllowedImagesSettingsState: AllowedImagesSettingsEnabledState
    DryRun: Boolean | None


class EnableAllowedImagesSettingsResult(TypedDict, total=False):
    AllowedImagesSettingsState: AllowedImagesSettingsEnabledState | None


class EnableAwsNetworkPerformanceMetricSubscriptionRequest(ServiceRequest):
    Source: String | None
    Destination: String | None
    Metric: MetricType | None
    Statistic: StatisticType | None
    DryRun: Boolean | None


class EnableAwsNetworkPerformanceMetricSubscriptionResult(TypedDict, total=False):
    Output: Boolean | None


class EnableCapacityManagerRequest(ServiceRequest):
    OrganizationsAccess: Boolean | None
    DryRun: Boolean | None
    ClientToken: String | None


class EnableCapacityManagerResult(TypedDict, total=False):
    CapacityManagerStatus: CapacityManagerStatus | None
    OrganizationsAccess: Boolean | None


class EnableEbsEncryptionByDefaultRequest(ServiceRequest):
    DryRun: Boolean | None


class EnableEbsEncryptionByDefaultResult(TypedDict, total=False):
    EbsEncryptionByDefault: Boolean | None


class FastLaunchLaunchTemplateSpecificationRequest(TypedDict, total=False):
    LaunchTemplateId: LaunchTemplateId | None
    LaunchTemplateName: String | None
    Version: String


class FastLaunchSnapshotConfigurationRequest(TypedDict, total=False):
    TargetResourceCount: Integer | None


class EnableFastLaunchRequest(ServiceRequest):
    ImageId: ImageId
    ResourceType: String | None
    SnapshotConfiguration: FastLaunchSnapshotConfigurationRequest | None
    LaunchTemplate: FastLaunchLaunchTemplateSpecificationRequest | None
    MaxParallelLaunches: Integer | None
    DryRun: Boolean | None


class EnableFastLaunchResult(TypedDict, total=False):
    ImageId: ImageId | None
    ResourceType: FastLaunchResourceType | None
    SnapshotConfiguration: FastLaunchSnapshotConfigurationResponse | None
    LaunchTemplate: FastLaunchLaunchTemplateSpecificationResponse | None
    MaxParallelLaunches: Integer | None
    OwnerId: String | None
    State: FastLaunchStateCode | None
    StateTransitionReason: String | None
    StateTransitionTime: MillisecondDateTime | None


class EnableFastSnapshotRestoreStateError(TypedDict, total=False):
    Code: String | None
    Message: String | None


class EnableFastSnapshotRestoreStateErrorItem(TypedDict, total=False):
    AvailabilityZone: String | None
    AvailabilityZoneId: String | None
    Error: EnableFastSnapshotRestoreStateError | None


EnableFastSnapshotRestoreStateErrorSet = list[EnableFastSnapshotRestoreStateErrorItem]


class EnableFastSnapshotRestoreErrorItem(TypedDict, total=False):
    SnapshotId: String | None
    FastSnapshotRestoreStateErrors: EnableFastSnapshotRestoreStateErrorSet | None


EnableFastSnapshotRestoreErrorSet = list[EnableFastSnapshotRestoreErrorItem]


class EnableFastSnapshotRestoreSuccessItem(TypedDict, total=False):
    SnapshotId: String | None
    AvailabilityZone: String | None
    AvailabilityZoneId: String | None
    State: FastSnapshotRestoreStateCode | None
    StateTransitionReason: String | None
    OwnerId: String | None
    OwnerAlias: String | None
    EnablingTime: MillisecondDateTime | None
    OptimizingTime: MillisecondDateTime | None
    EnabledTime: MillisecondDateTime | None
    DisablingTime: MillisecondDateTime | None
    DisabledTime: MillisecondDateTime | None


EnableFastSnapshotRestoreSuccessSet = list[EnableFastSnapshotRestoreSuccessItem]


class EnableFastSnapshotRestoresRequest(ServiceRequest):
    AvailabilityZones: AvailabilityZoneStringList | None
    AvailabilityZoneIds: AvailabilityZoneIdStringList | None
    SourceSnapshotIds: SnapshotIdStringList
    DryRun: Boolean | None


class EnableFastSnapshotRestoresResult(TypedDict, total=False):
    Successful: EnableFastSnapshotRestoreSuccessSet | None
    Unsuccessful: EnableFastSnapshotRestoreErrorSet | None


class EnableImageBlockPublicAccessRequest(ServiceRequest):
    ImageBlockPublicAccessState: ImageBlockPublicAccessEnabledState
    DryRun: Boolean | None


class EnableImageBlockPublicAccessResult(TypedDict, total=False):
    ImageBlockPublicAccessState: ImageBlockPublicAccessEnabledState | None


class EnableImageDeprecationRequest(ServiceRequest):
    ImageId: ImageId
    DeprecateAt: MillisecondDateTime
    DryRun: Boolean | None


class EnableImageDeprecationResult(TypedDict, total=False):
    Return: Boolean | None


class EnableImageDeregistrationProtectionRequest(ServiceRequest):
    ImageId: ImageId
    WithCooldown: Boolean | None
    DryRun: Boolean | None


class EnableImageDeregistrationProtectionResult(TypedDict, total=False):
    Return: String | None


class EnableImageRequest(ServiceRequest):
    ImageId: ImageId
    DryRun: Boolean | None


class EnableImageResult(TypedDict, total=False):
    Return: Boolean | None


class EnableInstanceSqlHaStandbyDetectionsRequest(ServiceRequest):
    InstanceIds: InstanceIdUpdateStringList
    SqlServerCredentials: SecretArn | None
    DryRun: Boolean | None


class EnableInstanceSqlHaStandbyDetectionsResult(TypedDict, total=False):
    Instances: RegisteredInstanceList | None


class EnableIpamOrganizationAdminAccountRequest(ServiceRequest):
    DryRun: Boolean | None
    DelegatedAdminAccountId: String


class EnableIpamOrganizationAdminAccountResult(TypedDict, total=False):
    Success: Boolean | None


class EnableIpamPolicyRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPolicyId: IpamPolicyId
    OrganizationTargetId: String | None


class EnableIpamPolicyResult(TypedDict, total=False):
    IpamPolicyId: IpamPolicyId | None


class EnableReachabilityAnalyzerOrganizationSharingRequest(ServiceRequest):
    DryRun: Boolean | None


class EnableReachabilityAnalyzerOrganizationSharingResult(TypedDict, total=False):
    ReturnValue: Boolean | None


class EnableRouteServerPropagationRequest(ServiceRequest):
    RouteServerId: RouteServerId
    RouteTableId: RouteTableId
    DryRun: Boolean | None


class EnableRouteServerPropagationResult(TypedDict, total=False):
    RouteServerPropagation: RouteServerPropagation | None


class EnableSerialConsoleAccessRequest(ServiceRequest):
    DryRun: Boolean | None


class EnableSerialConsoleAccessResult(TypedDict, total=False):
    SerialConsoleAccessEnabled: Boolean | None


class EnableSnapshotBlockPublicAccessRequest(ServiceRequest):
    State: SnapshotBlockPublicAccessState
    DryRun: Boolean | None


class EnableSnapshotBlockPublicAccessResult(TypedDict, total=False):
    State: SnapshotBlockPublicAccessState | None


class EnableTransitGatewayRouteTablePropagationRequest(ServiceRequest):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    TransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    DryRun: Boolean | None
    TransitGatewayRouteTableAnnouncementId: TransitGatewayRouteTableAnnouncementId | None


class EnableTransitGatewayRouteTablePropagationResult(TypedDict, total=False):
    Propagation: TransitGatewayPropagation | None


class EnableVgwRoutePropagationRequest(ServiceRequest):
    GatewayId: VpnGatewayId
    RouteTableId: RouteTableId
    DryRun: Boolean | None


class EnableVolumeIORequest(ServiceRequest):
    DryRun: Boolean | None
    VolumeId: VolumeId


class EnableVpcClassicLinkDnsSupportRequest(ServiceRequest):
    VpcId: VpcId | None


class EnableVpcClassicLinkDnsSupportResult(TypedDict, total=False):
    Return: Boolean | None


class EnableVpcClassicLinkRequest(ServiceRequest):
    DryRun: Boolean | None
    VpcId: VpcId


class EnableVpcClassicLinkResult(TypedDict, total=False):
    Return: Boolean | None


class EnclaveOptionsRequest(TypedDict, total=False):
    Enabled: Boolean | None


class ExportClientVpnClientCertificateRevocationListRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    DryRun: Boolean | None


class ExportClientVpnClientCertificateRevocationListResult(TypedDict, total=False):
    CertificateRevocationList: String | None
    Status: ClientCertificateRevocationListStatus | None


class ExportClientVpnClientConfigurationRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    DryRun: Boolean | None


class ExportClientVpnClientConfigurationResult(TypedDict, total=False):
    ClientConfiguration: String | None


class ExportTaskS3LocationRequest(TypedDict, total=False):
    S3Bucket: String
    S3Prefix: String | None


class ExportImageRequest(ServiceRequest):
    ClientToken: String | None
    Description: String | None
    DiskImageFormat: DiskImageFormat
    DryRun: Boolean | None
    ImageId: ImageId
    S3ExportLocation: ExportTaskS3LocationRequest
    RoleName: String | None
    TagSpecifications: TagSpecificationList | None


class ExportImageResult(TypedDict, total=False):
    Description: String | None
    DiskImageFormat: DiskImageFormat | None
    ExportImageTaskId: String | None
    ImageId: String | None
    RoleName: String | None
    Progress: String | None
    S3ExportLocation: ExportTaskS3Location | None
    Status: String | None
    StatusMessage: String | None
    Tags: TagList | None


class ExportTransitGatewayRoutesRequest(ServiceRequest):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    Filters: FilterList | None
    S3Bucket: String
    DryRun: Boolean | None


class ExportTransitGatewayRoutesResult(TypedDict, total=False):
    S3Location: String | None


class ExportVerifiedAccessInstanceClientConfigurationRequest(ServiceRequest):
    VerifiedAccessInstanceId: VerifiedAccessInstanceId
    DryRun: Boolean | None


class VerifiedAccessInstanceOpenVpnClientConfigurationRoute(TypedDict, total=False):
    Cidr: String | None


VerifiedAccessInstanceOpenVpnClientConfigurationRouteList = list[
    VerifiedAccessInstanceOpenVpnClientConfigurationRoute
]


class VerifiedAccessInstanceOpenVpnClientConfiguration(TypedDict, total=False):
    Config: String | None
    Routes: VerifiedAccessInstanceOpenVpnClientConfigurationRouteList | None


VerifiedAccessInstanceOpenVpnClientConfigurationList = list[
    VerifiedAccessInstanceOpenVpnClientConfiguration
]


class VerifiedAccessInstanceUserTrustProviderClientConfiguration(TypedDict, total=False):
    Type: UserTrustProviderType | None
    Scopes: String | None
    Issuer: String | None
    AuthorizationEndpoint: String | None
    PublicSigningKeyEndpoint: String | None
    TokenEndpoint: String | None
    UserInfoEndpoint: String | None
    ClientId: String | None
    ClientSecret: ClientSecretType | None
    PkceEnabled: Boolean | None


class ExportVerifiedAccessInstanceClientConfigurationResult(TypedDict, total=False):
    Version: String | None
    VerifiedAccessInstanceId: String | None
    Region: String | None
    DeviceTrustProviders: DeviceTrustProviderTypeList | None
    UserTrustProvider: VerifiedAccessInstanceUserTrustProviderClientConfiguration | None
    OpenVpnConfigurations: VerifiedAccessInstanceOpenVpnClientConfigurationList | None


class GetActiveVpnTunnelStatusRequest(ServiceRequest):
    VpnConnectionId: VpnConnectionId
    VpnTunnelOutsideIpAddress: String
    DryRun: Boolean | None


class GetActiveVpnTunnelStatusResult(TypedDict, total=False):
    ActiveVpnTunnelStatus: ActiveVpnTunnelStatus | None


class GetAllowedImagesSettingsRequest(ServiceRequest):
    DryRun: Boolean | None


ImageNameList = list[ImageName]
MarketplaceProductCodeList = list[MarketplaceProductCode]
ImageProviderList = list[ImageProvider]


class ImageCriterion(TypedDict, total=False):
    ImageProviders: ImageProviderList | None
    MarketplaceProductCodes: MarketplaceProductCodeList | None
    ImageNames: ImageNameList | None
    DeprecationTimeCondition: DeprecationTimeCondition | None
    CreationDateCondition: CreationDateCondition | None


ImageCriterionList = list[ImageCriterion]


class GetAllowedImagesSettingsResult(TypedDict, total=False):
    State: String | None
    ImageCriteria: ImageCriterionList | None
    ManagedBy: ManagedBy | None


class GetAssociatedEnclaveCertificateIamRolesRequest(ServiceRequest):
    CertificateArn: CertificateId
    DryRun: Boolean | None


class GetAssociatedEnclaveCertificateIamRolesResult(TypedDict, total=False):
    AssociatedRoles: AssociatedRolesList | None


class GetAssociatedIpv6PoolCidrsRequest(ServiceRequest):
    PoolId: Ipv6PoolEc2Id
    NextToken: NextToken | None
    MaxResults: Ipv6PoolMaxResults | None
    DryRun: Boolean | None


class Ipv6CidrAssociation(TypedDict, total=False):
    Ipv6Cidr: String | None
    AssociatedResource: String | None


Ipv6CidrAssociationSet = list[Ipv6CidrAssociation]


class GetAssociatedIpv6PoolCidrsResult(TypedDict, total=False):
    Ipv6CidrAssociations: Ipv6CidrAssociationSet | None
    NextToken: String | None


class GetAwsNetworkPerformanceDataRequest(ServiceRequest):
    DataQueries: DataQueries | None
    StartTime: MillisecondDateTime | None
    EndTime: MillisecondDateTime | None
    MaxResults: Integer | None
    NextToken: String | None
    DryRun: Boolean | None


class GetAwsNetworkPerformanceDataResult(TypedDict, total=False):
    DataResponses: DataResponses | None
    NextToken: String | None


class GetCapacityManagerAttributesRequest(ServiceRequest):
    DryRun: Boolean | None


class GetCapacityManagerAttributesResult(TypedDict, total=False):
    CapacityManagerStatus: CapacityManagerStatus | None
    OrganizationsAccess: Boolean | None
    DataExportCount: Integer | None
    IngestionStatus: IngestionStatus | None
    IngestionStatusMessage: String | None
    EarliestDatapointTimestamp: MillisecondDateTime | None
    LatestDatapointTimestamp: MillisecondDateTime | None


GroupBySet = list[GroupBy]
MetricSet = list[Metric]


class GetCapacityManagerMetricDataRequest(ServiceRequest):
    MetricNames: MetricSet
    StartTime: MillisecondDateTime
    EndTime: MillisecondDateTime
    Period: Period
    GroupBy: GroupBySet | None
    FilterBy: CapacityManagerConditionSet | None
    MaxResults: MaxResults | None
    NextToken: NextToken | None
    DryRun: Boolean | None


class MetricValue(TypedDict, total=False):
    Metric: Metric | None
    Value: Double | None


MetricValueSet = list[MetricValue]


class MetricDataResult(TypedDict, total=False):
    Dimension: CapacityManagerDimension | None
    Timestamp: MillisecondDateTime | None
    MetricValues: MetricValueSet | None


MetricDataResultSet = list[MetricDataResult]


class GetCapacityManagerMetricDataResult(TypedDict, total=False):
    MetricDataResults: MetricDataResultSet | None
    NextToken: NextToken | None


class GetCapacityManagerMetricDimensionsRequest(ServiceRequest):
    GroupBy: GroupBySet
    FilterBy: CapacityManagerConditionSet | None
    StartTime: MillisecondDateTime
    EndTime: MillisecondDateTime
    MetricNames: MetricSet
    MaxResults: MaxResults | None
    NextToken: NextToken | None
    DryRun: Boolean | None


MetricDimensionResultSet = list[CapacityManagerDimension]


class GetCapacityManagerMetricDimensionsResult(TypedDict, total=False):
    MetricDimensionResults: MetricDimensionResultSet | None
    NextToken: NextToken | None


class GetCapacityReservationUsageRequest(ServiceRequest):
    CapacityReservationId: CapacityReservationId
    NextToken: String | None
    MaxResults: GetCapacityReservationUsageRequestMaxResults | None
    DryRun: Boolean | None


class InstanceUsage(TypedDict, total=False):
    AccountId: String | None
    UsedInstanceCount: Integer | None


InstanceUsageSet = list[InstanceUsage]


class GetCapacityReservationUsageResult(TypedDict, total=False):
    NextToken: String | None
    CapacityReservationId: String | None
    InstanceType: String | None
    TotalInstanceCount: Integer | None
    AvailableInstanceCount: Integer | None
    State: CapacityReservationState | None
    InstanceUsages: InstanceUsageSet | None
    Interruptible: BoxedBoolean | None
    InterruptibleCapacityAllocation: InterruptibleCapacityAllocation | None
    InterruptionInfo: InterruptionInfo | None


class GetCoipPoolUsageRequest(ServiceRequest):
    PoolId: Ipv4PoolCoipId
    Filters: FilterList | None
    MaxResults: CoipPoolMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


class GetCoipPoolUsageResult(TypedDict, total=False):
    CoipPoolId: String | None
    CoipAddressUsages: CoipAddressUsageSet | None
    LocalGatewayRouteTableId: String | None
    NextToken: String | None


class GetConsoleOutputRequest(ServiceRequest):
    InstanceId: InstanceId
    Latest: Boolean | None
    DryRun: Boolean | None


class GetConsoleOutputResult(TypedDict, total=False):
    InstanceId: String | None
    Timestamp: DateTime | None
    Output: String | None


class GetConsoleScreenshotRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceId: InstanceId
    WakeUp: Boolean | None


class GetConsoleScreenshotResult(TypedDict, total=False):
    ImageData: String | None
    InstanceId: String | None


class GetDeclarativePoliciesReportSummaryRequest(ServiceRequest):
    DryRun: Boolean | None
    ReportId: DeclarativePoliciesReportId


class GetDeclarativePoliciesReportSummaryResult(TypedDict, total=False):
    ReportId: String | None
    S3Bucket: String | None
    S3Prefix: String | None
    TargetId: String | None
    StartTime: MillisecondDateTime | None
    EndTime: MillisecondDateTime | None
    NumberOfAccounts: Integer | None
    NumberOfFailedAccounts: Integer | None
    AttributeSummaries: AttributeSummaryList | None


class GetDefaultCreditSpecificationRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceFamily: UnlimitedSupportedInstanceFamily


class InstanceFamilyCreditSpecification(TypedDict, total=False):
    InstanceFamily: UnlimitedSupportedInstanceFamily | None
    CpuCredits: String | None


class GetDefaultCreditSpecificationResult(TypedDict, total=False):
    InstanceFamilyCreditSpecification: InstanceFamilyCreditSpecification | None


class GetEbsDefaultKmsKeyIdRequest(ServiceRequest):
    DryRun: Boolean | None


class GetEbsDefaultKmsKeyIdResult(TypedDict, total=False):
    KmsKeyId: String | None


class GetEbsEncryptionByDefaultRequest(ServiceRequest):
    DryRun: Boolean | None


class GetEbsEncryptionByDefaultResult(TypedDict, total=False):
    EbsEncryptionByDefault: Boolean | None
    SseType: SSEType | None


class GetEnabledIpamPolicyRequest(ServiceRequest):
    DryRun: Boolean | None


class GetEnabledIpamPolicyResult(TypedDict, total=False):
    IpamPolicyEnabled: Boolean | None
    IpamPolicyId: IpamPolicyId | None
    ManagedBy: IpamPolicyManagedBy | None


class IntegrateServices(TypedDict, total=False):
    AthenaIntegrations: AthenaIntegrationsSet | None


class GetFlowLogsIntegrationTemplateRequest(ServiceRequest):
    DryRun: Boolean | None
    FlowLogId: VpcFlowLogId
    ConfigDeliveryS3DestinationArn: String
    IntegrateServices: IntegrateServices


class GetFlowLogsIntegrationTemplateResult(TypedDict, total=False):
    Result: String | None


class GetGroupsForCapacityReservationRequest(ServiceRequest):
    CapacityReservationId: CapacityReservationId
    NextToken: String | None
    MaxResults: GetGroupsForCapacityReservationRequestMaxResults | None
    DryRun: Boolean | None


class GetGroupsForCapacityReservationResult(TypedDict, total=False):
    NextToken: String | None
    CapacityReservationGroups: CapacityReservationGroupSet | None


RequestHostIdSet = list[DedicatedHostId]


class GetHostReservationPurchasePreviewRequest(ServiceRequest):
    HostIdSet: RequestHostIdSet
    OfferingId: OfferingId


class Purchase(TypedDict, total=False):
    CurrencyCode: CurrencyCodeValues | None
    Duration: Integer | None
    HostIdSet: ResponseHostIdSet | None
    HostReservationId: HostReservationId | None
    HourlyPrice: String | None
    InstanceFamily: String | None
    PaymentOption: PaymentOption | None
    UpfrontPrice: String | None


PurchaseSet = list[Purchase]


class GetHostReservationPurchasePreviewResult(TypedDict, total=False):
    CurrencyCode: CurrencyCodeValues | None
    Purchase: PurchaseSet | None
    TotalHourlyPrice: String | None
    TotalUpfrontPrice: String | None


class GetImageAncestryRequest(ServiceRequest):
    ImageId: ImageId
    DryRun: Boolean | None


class ImageAncestryEntry(TypedDict, total=False):
    CreationDate: MillisecondDateTime | None
    ImageId: ImageId | None
    ImageOwnerAlias: String | None
    SourceImageId: ImageId | None
    SourceImageRegion: String | None


ImageAncestryEntryList = list[ImageAncestryEntry]


class GetImageAncestryResult(TypedDict, total=False):
    ImageAncestryEntries: ImageAncestryEntryList | None


class GetImageBlockPublicAccessStateRequest(ServiceRequest):
    DryRun: Boolean | None


class GetImageBlockPublicAccessStateResult(TypedDict, total=False):
    ImageBlockPublicAccessState: String | None
    ManagedBy: ManagedBy | None


class GetInstanceMetadataDefaultsRequest(ServiceRequest):
    DryRun: Boolean | None


class InstanceMetadataDefaultsResponse(TypedDict, total=False):
    HttpTokens: HttpTokensState | None
    HttpPutResponseHopLimit: BoxedInteger | None
    HttpEndpoint: InstanceMetadataEndpointState | None
    InstanceMetadataTags: InstanceMetadataTagsState | None
    ManagedBy: ManagedBy | None
    ManagedExceptionMessage: String | None


class GetInstanceMetadataDefaultsResult(TypedDict, total=False):
    AccountLevel: InstanceMetadataDefaultsResponse | None


class GetInstanceTpmEkPubRequest(ServiceRequest):
    InstanceId: InstanceId
    KeyType: EkPubKeyType
    KeyFormat: EkPubKeyFormat
    DryRun: Boolean | None


class GetInstanceTpmEkPubResult(TypedDict, total=False):
    InstanceId: InstanceId | None
    KeyType: EkPubKeyType | None
    KeyFormat: EkPubKeyFormat | None
    KeyValue: EkPubKeyValue | None


VirtualizationTypeSet = list[VirtualizationType]


class GetInstanceTypesFromInstanceRequirementsRequest(ServiceRequest):
    DryRun: Boolean | None
    ArchitectureTypes: ArchitectureTypeSet
    VirtualizationTypes: VirtualizationTypeSet
    InstanceRequirements: InstanceRequirementsRequest
    MaxResults: Integer | None
    NextToken: String | None
    Context: String | None


class InstanceTypeInfoFromInstanceRequirements(TypedDict, total=False):
    InstanceType: String | None


InstanceTypeInfoFromInstanceRequirementsSet = list[InstanceTypeInfoFromInstanceRequirements]


class GetInstanceTypesFromInstanceRequirementsResult(TypedDict, total=False):
    InstanceTypes: InstanceTypeInfoFromInstanceRequirementsSet | None
    NextToken: String | None


class GetInstanceUefiDataRequest(ServiceRequest):
    InstanceId: InstanceId
    DryRun: Boolean | None


class GetInstanceUefiDataResult(TypedDict, total=False):
    InstanceId: InstanceId | None
    UefiData: String | None


class GetIpamAddressHistoryRequest(ServiceRequest):
    DryRun: Boolean | None
    Cidr: String
    IpamScopeId: IpamScopeId
    VpcId: String | None
    StartTime: MillisecondDateTime | None
    EndTime: MillisecondDateTime | None
    MaxResults: IpamAddressHistoryMaxResults | None
    NextToken: NextToken | None


class IpamAddressHistoryRecord(TypedDict, total=False):
    ResourceOwnerId: String | None
    ResourceRegion: String | None
    ResourceType: IpamAddressHistoryResourceType | None
    ResourceId: String | None
    ResourceCidr: String | None
    ResourceName: String | None
    ResourceComplianceStatus: IpamComplianceStatus | None
    ResourceOverlapStatus: IpamOverlapStatus | None
    VpcId: String | None
    SampledStartTime: MillisecondDateTime | None
    SampledEndTime: MillisecondDateTime | None


IpamAddressHistoryRecordSet = list[IpamAddressHistoryRecord]


class GetIpamAddressHistoryResult(TypedDict, total=False):
    HistoryRecords: IpamAddressHistoryRecordSet | None
    NextToken: NextToken | None


class GetIpamDiscoveredAccountsRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamResourceDiscoveryId: IpamResourceDiscoveryId
    DiscoveryRegion: String
    Filters: FilterList | None
    NextToken: NextToken | None
    MaxResults: IpamMaxResults | None


class IpamDiscoveryFailureReason(TypedDict, total=False):
    Code: IpamDiscoveryFailureCode | None
    Message: String | None


class IpamDiscoveredAccount(TypedDict, total=False):
    AccountId: String | None
    DiscoveryRegion: String | None
    FailureReason: IpamDiscoveryFailureReason | None
    LastAttemptedDiscoveryTime: MillisecondDateTime | None
    LastSuccessfulDiscoveryTime: MillisecondDateTime | None
    OrganizationalUnitId: String | None


IpamDiscoveredAccountSet = list[IpamDiscoveredAccount]


class GetIpamDiscoveredAccountsResult(TypedDict, total=False):
    IpamDiscoveredAccounts: IpamDiscoveredAccountSet | None
    NextToken: NextToken | None


class GetIpamDiscoveredPublicAddressesRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamResourceDiscoveryId: IpamResourceDiscoveryId
    AddressRegion: String
    Filters: FilterList | None
    NextToken: NextToken | None
    MaxResults: IpamMaxResults | None


class IpamPublicAddressSecurityGroup(TypedDict, total=False):
    GroupName: String | None
    GroupId: String | None


IpamPublicAddressSecurityGroupList = list[IpamPublicAddressSecurityGroup]


class IpamPublicAddressTag(TypedDict, total=False):
    Key: String | None
    Value: String | None


IpamPublicAddressTagList = list[IpamPublicAddressTag]


class IpamPublicAddressTags(TypedDict, total=False):
    EipTags: IpamPublicAddressTagList | None


class IpamDiscoveredPublicAddress(TypedDict, total=False):
    IpamResourceDiscoveryId: IpamResourceDiscoveryId | None
    AddressRegion: String | None
    Address: String | None
    AddressOwnerId: String | None
    AddressAllocationId: String | None
    AssociationStatus: IpamPublicAddressAssociationStatus | None
    AddressType: IpamPublicAddressType | None
    Service: IpamPublicAddressAwsService | None
    ServiceResource: String | None
    VpcId: String | None
    SubnetId: String | None
    PublicIpv4PoolId: String | None
    NetworkInterfaceId: String | None
    NetworkInterfaceDescription: String | None
    InstanceId: String | None
    Tags: IpamPublicAddressTags | None
    NetworkBorderGroup: String | None
    SecurityGroups: IpamPublicAddressSecurityGroupList | None
    SampleTime: MillisecondDateTime | None


IpamDiscoveredPublicAddressSet = list[IpamDiscoveredPublicAddress]


class GetIpamDiscoveredPublicAddressesResult(TypedDict, total=False):
    IpamDiscoveredPublicAddresses: IpamDiscoveredPublicAddressSet | None
    OldestSampleTime: MillisecondDateTime | None
    NextToken: NextToken | None


class GetIpamDiscoveredResourceCidrsRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamResourceDiscoveryId: IpamResourceDiscoveryId
    ResourceRegion: String
    Filters: FilterList | None
    NextToken: NextToken | None
    MaxResults: IpamMaxResults | None


class IpamDiscoveredResourceCidr(TypedDict, total=False):
    IpamResourceDiscoveryId: IpamResourceDiscoveryId | None
    ResourceRegion: String | None
    ResourceId: String | None
    ResourceOwnerId: String | None
    ResourceCidr: String | None
    IpSource: IpamResourceCidrIpSource | None
    ResourceType: IpamResourceType | None
    ResourceTags: IpamResourceTagList | None
    IpUsage: BoxedDouble | None
    VpcId: String | None
    SubnetId: String | None
    NetworkInterfaceAttachmentStatus: IpamNetworkInterfaceAttachmentStatus | None
    SampleTime: MillisecondDateTime | None
    AvailabilityZoneId: String | None


IpamDiscoveredResourceCidrSet = list[IpamDiscoveredResourceCidr]


class GetIpamDiscoveredResourceCidrsResult(TypedDict, total=False):
    IpamDiscoveredResourceCidrs: IpamDiscoveredResourceCidrSet | None
    NextToken: NextToken | None


class GetIpamPolicyAllocationRulesRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPolicyId: IpamPolicyId
    Filters: FilterList | None
    Locale: String | None
    ResourceType: IpamPolicyResourceType | None
    MaxResults: IpamMaxResults | None
    NextToken: NextToken | None


class IpamPolicyAllocationRule(TypedDict, total=False):
    SourceIpamPoolId: IpamPoolId | None


IpamPolicyAllocationRuleList = list[IpamPolicyAllocationRule]


class IpamPolicyDocument(TypedDict, total=False):
    IpamPolicyId: IpamPolicyId | None
    Locale: String | None
    ResourceType: IpamPolicyResourceType | None
    AllocationRules: IpamPolicyAllocationRuleList | None


IpamPolicyDocumentSet = list[IpamPolicyDocument]


class GetIpamPolicyAllocationRulesResult(TypedDict, total=False):
    IpamPolicyDocuments: IpamPolicyDocumentSet | None
    NextToken: NextToken | None


class GetIpamPolicyOrganizationTargetsRequest(ServiceRequest):
    DryRun: Boolean | None
    MaxResults: IpamMaxResults | None
    NextToken: NextToken | None
    IpamPolicyId: IpamPolicyId
    Filters: FilterList | None


class IpamPolicyOrganizationTarget(TypedDict, total=False):
    OrganizationTargetId: String | None


IpamPolicyOrganizationTargetSet = list[IpamPolicyOrganizationTarget]


class GetIpamPolicyOrganizationTargetsResult(TypedDict, total=False):
    OrganizationTargets: IpamPolicyOrganizationTargetSet | None
    NextToken: NextToken | None


class GetIpamPoolAllocationsRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPoolId: IpamPoolId
    IpamPoolAllocationId: IpamPoolAllocationId | None
    Filters: FilterList | None
    MaxResults: GetIpamPoolAllocationsMaxResults | None
    NextToken: NextToken | None


IpamPoolAllocationSet = list[IpamPoolAllocation]


class GetIpamPoolAllocationsResult(TypedDict, total=False):
    IpamPoolAllocations: IpamPoolAllocationSet | None
    NextToken: NextToken | None


class GetIpamPoolCidrsRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPoolId: IpamPoolId
    Filters: FilterList | None
    MaxResults: IpamMaxResults | None
    NextToken: NextToken | None


IpamPoolCidrSet = list[IpamPoolCidr]


class GetIpamPoolCidrsResult(TypedDict, total=False):
    IpamPoolCidrs: IpamPoolCidrSet | None
    NextToken: NextToken | None


class GetIpamPrefixListResolverRulesRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPrefixListResolverId: IpamPrefixListResolverId
    Filters: FilterList | None
    MaxResults: IpamMaxResults | None
    NextToken: NextToken | None


class IpamPrefixListResolverRuleCondition(TypedDict, total=False):
    Operation: IpamPrefixListResolverRuleConditionOperation | None
    IpamPoolId: String | None
    ResourceId: String | None
    ResourceOwner: String | None
    ResourceRegion: String | None
    ResourceTag: IpamResourceTag | None
    Cidr: String | None


IpamPrefixListResolverRuleConditionSet = list[IpamPrefixListResolverRuleCondition]


class IpamPrefixListResolverRule(TypedDict, total=False):
    RuleType: IpamPrefixListResolverRuleType | None
    StaticCidr: String | None
    IpamScopeId: IpamScopeId | None
    ResourceType: IpamResourceType | None
    Conditions: IpamPrefixListResolverRuleConditionSet | None


IpamPrefixListResolverRuleSet = list[IpamPrefixListResolverRule]


class GetIpamPrefixListResolverRulesResult(TypedDict, total=False):
    Rules: IpamPrefixListResolverRuleSet | None
    NextToken: NextToken | None


class GetIpamPrefixListResolverVersionEntriesRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPrefixListResolverId: IpamPrefixListResolverId
    IpamPrefixListResolverVersion: Long
    MaxResults: IpamMaxResults | None
    NextToken: NextToken | None


class IpamPrefixListResolverVersionEntry(TypedDict, total=False):
    Cidr: String | None


IpamPrefixListResolverVersionEntrySet = list[IpamPrefixListResolverVersionEntry]


class GetIpamPrefixListResolverVersionEntriesResult(TypedDict, total=False):
    Entries: IpamPrefixListResolverVersionEntrySet | None
    NextToken: NextToken | None


IpamPrefixListResolverVersionNumberSet = list[Long]


class GetIpamPrefixListResolverVersionsRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPrefixListResolverId: IpamPrefixListResolverId
    IpamPrefixListResolverVersions: IpamPrefixListResolverVersionNumberSet | None
    MaxResults: IpamMaxResults | None
    Filters: FilterList | None
    NextToken: NextToken | None


class IpamPrefixListResolverVersion(TypedDict, total=False):
    Version: Long | None


IpamPrefixListResolverVersionSet = list[IpamPrefixListResolverVersion]


class GetIpamPrefixListResolverVersionsResult(TypedDict, total=False):
    IpamPrefixListResolverVersions: IpamPrefixListResolverVersionSet | None
    NextToken: NextToken | None


class GetIpamResourceCidrsRequest(ServiceRequest):
    DryRun: Boolean | None
    Filters: FilterList | None
    MaxResults: IpamMaxResults | None
    NextToken: NextToken | None
    IpamScopeId: IpamScopeId
    IpamPoolId: IpamPoolId | None
    ResourceId: String | None
    ResourceType: IpamResourceType | None
    ResourceTag: RequestIpamResourceTag | None
    ResourceOwner: String | None


class IpamResourceCidr(TypedDict, total=False):
    IpamId: IpamId | None
    IpamScopeId: IpamScopeId | None
    IpamPoolId: IpamPoolId | None
    ResourceRegion: String | None
    ResourceOwnerId: String | None
    ResourceId: String | None
    ResourceName: String | None
    ResourceCidr: String | None
    ResourceType: IpamResourceType | None
    ResourceTags: IpamResourceTagList | None
    IpUsage: BoxedDouble | None
    ComplianceStatus: IpamComplianceStatus | None
    ManagementState: IpamManagementState | None
    OverlapStatus: IpamOverlapStatus | None
    VpcId: String | None
    AvailabilityZoneId: String | None


IpamResourceCidrSet = list[IpamResourceCidr]


class GetIpamResourceCidrsResult(TypedDict, total=False):
    NextToken: NextToken | None
    IpamResourceCidrs: IpamResourceCidrSet | None


class GetLaunchTemplateDataRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceId: InstanceId


class GetLaunchTemplateDataResult(TypedDict, total=False):
    LaunchTemplateData: ResponseLaunchTemplateData | None


class GetManagedPrefixListAssociationsRequest(ServiceRequest):
    DryRun: Boolean | None
    PrefixListId: PrefixListResourceId
    MaxResults: GetManagedPrefixListAssociationsMaxResults | None
    NextToken: NextToken | None


class PrefixListAssociation(TypedDict, total=False):
    ResourceId: String | None
    ResourceOwner: String | None


PrefixListAssociationSet = list[PrefixListAssociation]


class GetManagedPrefixListAssociationsResult(TypedDict, total=False):
    PrefixListAssociations: PrefixListAssociationSet | None
    NextToken: String | None


class GetManagedPrefixListEntriesRequest(ServiceRequest):
    DryRun: Boolean | None
    PrefixListId: PrefixListResourceId
    TargetVersion: Long | None
    MaxResults: PrefixListMaxResults | None
    NextToken: NextToken | None


class PrefixListEntry(TypedDict, total=False):
    Cidr: String | None
    Description: String | None


PrefixListEntrySet = list[PrefixListEntry]


class GetManagedPrefixListEntriesResult(TypedDict, total=False):
    Entries: PrefixListEntrySet | None
    NextToken: NextToken | None


class GetNetworkInsightsAccessScopeAnalysisFindingsRequest(ServiceRequest):
    NetworkInsightsAccessScopeAnalysisId: NetworkInsightsAccessScopeAnalysisId
    MaxResults: GetNetworkInsightsAccessScopeAnalysisFindingsMaxResults | None
    NextToken: NextToken | None
    DryRun: Boolean | None


class GetNetworkInsightsAccessScopeAnalysisFindingsResult(TypedDict, total=False):
    NetworkInsightsAccessScopeAnalysisId: NetworkInsightsAccessScopeAnalysisId | None
    AnalysisStatus: AnalysisStatus | None
    AnalysisFindings: AccessScopeAnalysisFindingList | None
    NextToken: String | None


class GetNetworkInsightsAccessScopeContentRequest(ServiceRequest):
    NetworkInsightsAccessScopeId: NetworkInsightsAccessScopeId
    DryRun: Boolean | None


class GetNetworkInsightsAccessScopeContentResult(TypedDict, total=False):
    NetworkInsightsAccessScopeContent: NetworkInsightsAccessScopeContent | None


class GetPasswordDataRequest(ServiceRequest):
    InstanceId: InstanceId
    DryRun: Boolean | None


class GetPasswordDataResult(TypedDict, total=False):
    InstanceId: String | None
    Timestamp: DateTime | None
    PasswordData: PasswordData | None


class GetReservedInstancesExchangeQuoteRequest(ServiceRequest):
    DryRun: Boolean | None
    ReservedInstanceIds: ReservedInstanceIdSet
    TargetConfigurations: TargetConfigurationRequestSet | None


class TargetConfiguration(TypedDict, total=False):
    InstanceCount: Integer | None
    OfferingId: String | None


class ReservationValue(TypedDict, total=False):
    HourlyPrice: String | None
    RemainingTotalValue: String | None
    RemainingUpfrontValue: String | None


class TargetReservationValue(TypedDict, total=False):
    ReservationValue: ReservationValue | None
    TargetConfiguration: TargetConfiguration | None


TargetReservationValueSet = list[TargetReservationValue]


class ReservedInstanceReservationValue(TypedDict, total=False):
    ReservationValue: ReservationValue | None
    ReservedInstanceId: String | None


ReservedInstanceReservationValueSet = list[ReservedInstanceReservationValue]


class GetReservedInstancesExchangeQuoteResult(TypedDict, total=False):
    CurrencyCode: String | None
    IsValidExchange: Boolean | None
    OutputReservedInstancesWillExpireAt: DateTime | None
    PaymentDue: String | None
    ReservedInstanceValueRollup: ReservationValue | None
    ReservedInstanceValueSet: ReservedInstanceReservationValueSet | None
    TargetConfigurationValueRollup: ReservationValue | None
    TargetConfigurationValueSet: TargetReservationValueSet | None
    ValidationFailureReason: String | None


class GetRouteServerAssociationsRequest(ServiceRequest):
    RouteServerId: RouteServerId
    DryRun: Boolean | None


RouteServerAssociationsList = list[RouteServerAssociation]


class GetRouteServerAssociationsResult(TypedDict, total=False):
    RouteServerAssociations: RouteServerAssociationsList | None


class GetRouteServerPropagationsRequest(ServiceRequest):
    RouteServerId: RouteServerId
    RouteTableId: RouteTableId | None
    DryRun: Boolean | None


RouteServerPropagationsList = list[RouteServerPropagation]


class GetRouteServerPropagationsResult(TypedDict, total=False):
    RouteServerPropagations: RouteServerPropagationsList | None


class GetRouteServerRoutingDatabaseRequest(ServiceRequest):
    RouteServerId: RouteServerId
    NextToken: String | None
    MaxResults: RouteServerMaxResults | None
    DryRun: Boolean | None
    Filters: FilterList | None


class RouteServerRouteInstallationDetail(TypedDict, total=False):
    RouteTableId: RouteTableId | None
    RouteInstallationStatus: RouteServerRouteInstallationStatus | None
    RouteInstallationStatusReason: String | None


RouteServerRouteInstallationDetails = list[RouteServerRouteInstallationDetail]


class RouteServerRoute(TypedDict, total=False):
    RouteServerEndpointId: RouteServerEndpointId | None
    RouteServerPeerId: RouteServerPeerId | None
    RouteInstallationDetails: RouteServerRouteInstallationDetails | None
    RouteStatus: RouteServerRouteStatus | None
    Prefix: String | None
    AsPaths: AsPath | None
    Med: Integer | None
    NextHopIp: String | None


RouteServerRouteList = list[RouteServerRoute]


class GetRouteServerRoutingDatabaseResult(TypedDict, total=False):
    AreRoutesPersisted: Boolean | None
    Routes: RouteServerRouteList | None
    NextToken: String | None


class GetSecurityGroupsForVpcRequest(ServiceRequest):
    VpcId: VpcId
    NextToken: String | None
    MaxResults: GetSecurityGroupsForVpcRequestMaxResults | None
    Filters: FilterList | None
    DryRun: Boolean | None


class SecurityGroupForVpc(TypedDict, total=False):
    Description: String | None
    GroupName: String | None
    OwnerId: String | None
    GroupId: String | None
    Tags: TagList | None
    PrimaryVpcId: String | None


SecurityGroupForVpcList = list[SecurityGroupForVpc]


class GetSecurityGroupsForVpcResult(TypedDict, total=False):
    NextToken: String | None
    SecurityGroupForVpcs: SecurityGroupForVpcList | None


class GetSerialConsoleAccessStatusRequest(ServiceRequest):
    DryRun: Boolean | None


class GetSerialConsoleAccessStatusResult(TypedDict, total=False):
    SerialConsoleAccessEnabled: Boolean | None
    ManagedBy: ManagedBy | None


class GetSnapshotBlockPublicAccessStateRequest(ServiceRequest):
    DryRun: Boolean | None


class GetSnapshotBlockPublicAccessStateResult(TypedDict, total=False):
    State: SnapshotBlockPublicAccessState | None
    ManagedBy: ManagedBy | None


class InstanceRequirementsWithMetadataRequest(TypedDict, total=False):
    ArchitectureTypes: ArchitectureTypeSet | None
    VirtualizationTypes: VirtualizationTypeSet | None
    InstanceRequirements: InstanceRequirementsRequest | None


RegionNames = list[String]
InstanceTypes = list[String]


class GetSpotPlacementScoresRequest(ServiceRequest):
    InstanceTypes: InstanceTypes | None
    TargetCapacity: SpotPlacementScoresTargetCapacity
    TargetCapacityUnitType: TargetCapacityUnitType | None
    SingleAvailabilityZone: Boolean | None
    RegionNames: RegionNames | None
    InstanceRequirementsWithMetadata: InstanceRequirementsWithMetadataRequest | None
    DryRun: Boolean | None
    MaxResults: SpotPlacementScoresMaxResults | None
    NextToken: String | None


class SpotPlacementScore(TypedDict, total=False):
    Region: String | None
    AvailabilityZoneId: String | None
    Score: Integer | None


SpotPlacementScores = list[SpotPlacementScore]


class GetSpotPlacementScoresResult(TypedDict, total=False):
    SpotPlacementScores: SpotPlacementScores | None
    NextToken: String | None


class GetSubnetCidrReservationsRequest(ServiceRequest):
    Filters: FilterList | None
    SubnetId: SubnetId
    DryRun: Boolean | None
    NextToken: String | None
    MaxResults: GetSubnetCidrReservationsMaxResults | None


SubnetCidrReservationList = list[SubnetCidrReservation]


class GetSubnetCidrReservationsResult(TypedDict, total=False):
    SubnetIpv4CidrReservations: SubnetCidrReservationList | None
    SubnetIpv6CidrReservations: SubnetCidrReservationList | None
    NextToken: String | None


class GetTransitGatewayAttachmentPropagationsRequest(ServiceRequest):
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


class TransitGatewayAttachmentPropagation(TypedDict, total=False):
    TransitGatewayRouteTableId: String | None
    State: TransitGatewayPropagationState | None


TransitGatewayAttachmentPropagationList = list[TransitGatewayAttachmentPropagation]


class GetTransitGatewayAttachmentPropagationsResult(TypedDict, total=False):
    TransitGatewayAttachmentPropagations: TransitGatewayAttachmentPropagationList | None
    NextToken: String | None


class GetTransitGatewayMeteringPolicyEntriesRequest(ServiceRequest):
    TransitGatewayMeteringPolicyId: TransitGatewayMeteringPolicyId
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


TransitGatewayMeteringPolicyEntryList = list[TransitGatewayMeteringPolicyEntry]


class GetTransitGatewayMeteringPolicyEntriesResult(TypedDict, total=False):
    TransitGatewayMeteringPolicyEntries: TransitGatewayMeteringPolicyEntryList | None
    NextToken: String | None


class GetTransitGatewayMulticastDomainAssociationsRequest(ServiceRequest):
    TransitGatewayMulticastDomainId: TransitGatewayMulticastDomainId
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


class TransitGatewayMulticastDomainAssociation(TypedDict, total=False):
    TransitGatewayAttachmentId: String | None
    ResourceId: String | None
    ResourceType: TransitGatewayAttachmentResourceType | None
    ResourceOwnerId: String | None
    Subnet: SubnetAssociation | None


TransitGatewayMulticastDomainAssociationList = list[TransitGatewayMulticastDomainAssociation]


class GetTransitGatewayMulticastDomainAssociationsResult(TypedDict, total=False):
    MulticastDomainAssociations: TransitGatewayMulticastDomainAssociationList | None
    NextToken: String | None


class GetTransitGatewayPolicyTableAssociationsRequest(ServiceRequest):
    TransitGatewayPolicyTableId: TransitGatewayPolicyTableId
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


TransitGatewayPolicyTableAssociationList = list[TransitGatewayPolicyTableAssociation]


class GetTransitGatewayPolicyTableAssociationsResult(TypedDict, total=False):
    Associations: TransitGatewayPolicyTableAssociationList | None
    NextToken: String | None


class GetTransitGatewayPolicyTableEntriesRequest(ServiceRequest):
    TransitGatewayPolicyTableId: TransitGatewayPolicyTableId
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


class TransitGatewayPolicyRuleMetaData(TypedDict, total=False):
    MetaDataKey: String | None
    MetaDataValue: String | None


class TransitGatewayPolicyRule(TypedDict, total=False):
    SourceCidrBlock: String | None
    SourcePortRange: String | None
    DestinationCidrBlock: String | None
    DestinationPortRange: String | None
    Protocol: String | None
    MetaData: TransitGatewayPolicyRuleMetaData | None


class TransitGatewayPolicyTableEntry(TypedDict, total=False):
    PolicyRuleNumber: String | None
    PolicyRule: TransitGatewayPolicyRule | None
    TargetRouteTableId: TransitGatewayRouteTableId | None


TransitGatewayPolicyTableEntryList = list[TransitGatewayPolicyTableEntry]


class GetTransitGatewayPolicyTableEntriesResult(TypedDict, total=False):
    TransitGatewayPolicyTableEntries: TransitGatewayPolicyTableEntryList | None


class GetTransitGatewayPrefixListReferencesRequest(ServiceRequest):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


TransitGatewayPrefixListReferenceSet = list[TransitGatewayPrefixListReference]


class GetTransitGatewayPrefixListReferencesResult(TypedDict, total=False):
    TransitGatewayPrefixListReferences: TransitGatewayPrefixListReferenceSet | None
    NextToken: String | None


class GetTransitGatewayRouteTableAssociationsRequest(ServiceRequest):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


class TransitGatewayRouteTableAssociation(TypedDict, total=False):
    TransitGatewayAttachmentId: String | None
    ResourceId: String | None
    ResourceType: TransitGatewayAttachmentResourceType | None
    State: TransitGatewayAssociationState | None


TransitGatewayRouteTableAssociationList = list[TransitGatewayRouteTableAssociation]


class GetTransitGatewayRouteTableAssociationsResult(TypedDict, total=False):
    Associations: TransitGatewayRouteTableAssociationList | None
    NextToken: String | None


class GetTransitGatewayRouteTablePropagationsRequest(ServiceRequest):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


class TransitGatewayRouteTablePropagation(TypedDict, total=False):
    TransitGatewayAttachmentId: String | None
    ResourceId: String | None
    ResourceType: TransitGatewayAttachmentResourceType | None
    State: TransitGatewayPropagationState | None
    TransitGatewayRouteTableAnnouncementId: TransitGatewayRouteTableAnnouncementId | None


TransitGatewayRouteTablePropagationList = list[TransitGatewayRouteTablePropagation]


class GetTransitGatewayRouteTablePropagationsResult(TypedDict, total=False):
    TransitGatewayRouteTablePropagations: TransitGatewayRouteTablePropagationList | None
    NextToken: String | None


class GetVerifiedAccessEndpointPolicyRequest(ServiceRequest):
    VerifiedAccessEndpointId: VerifiedAccessEndpointId
    DryRun: Boolean | None


class GetVerifiedAccessEndpointPolicyResult(TypedDict, total=False):
    PolicyEnabled: Boolean | None
    PolicyDocument: String | None


class GetVerifiedAccessEndpointTargetsRequest(ServiceRequest):
    VerifiedAccessEndpointId: VerifiedAccessEndpointId
    MaxResults: GetVerifiedAccessEndpointTargetsMaxResults | None
    NextToken: NextToken | None
    DryRun: Boolean | None


class VerifiedAccessEndpointTarget(TypedDict, total=False):
    VerifiedAccessEndpointId: VerifiedAccessEndpointId | None
    VerifiedAccessEndpointTargetIpAddress: String | None
    VerifiedAccessEndpointTargetDns: String | None


VerifiedAccessEndpointTargetList = list[VerifiedAccessEndpointTarget]


class GetVerifiedAccessEndpointTargetsResult(TypedDict, total=False):
    VerifiedAccessEndpointTargets: VerifiedAccessEndpointTargetList | None
    NextToken: NextToken | None


class GetVerifiedAccessGroupPolicyRequest(ServiceRequest):
    VerifiedAccessGroupId: VerifiedAccessGroupId
    DryRun: Boolean | None


class GetVerifiedAccessGroupPolicyResult(TypedDict, total=False):
    PolicyEnabled: Boolean | None
    PolicyDocument: String | None


class GetVpcResourcesBlockingEncryptionEnforcementRequest(ServiceRequest):
    VpcId: VpcId
    MaxResults: GetVpcResourcesBlockingEncryptionEnforcementMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


class VpcEncryptionNonCompliantResource(TypedDict, total=False):
    Id: String | None
    Type: String | None
    Description: String | None
    IsExcludable: Boolean | None


VpcEncryptionNonCompliantResourceList = list[VpcEncryptionNonCompliantResource]


class GetVpcResourcesBlockingEncryptionEnforcementResult(TypedDict, total=False):
    NonCompliantResources: VpcEncryptionNonCompliantResourceList | None
    NextToken: String | None


class GetVpnConnectionDeviceSampleConfigurationRequest(ServiceRequest):
    VpnConnectionId: VpnConnectionId
    VpnConnectionDeviceTypeId: VpnConnectionDeviceTypeId
    InternetKeyExchangeVersion: String | None
    SampleType: String | None
    DryRun: Boolean | None


class GetVpnConnectionDeviceSampleConfigurationResult(TypedDict, total=False):
    VpnConnectionDeviceSampleConfiguration: VpnConnectionDeviceSampleConfiguration | None


class GetVpnConnectionDeviceTypesRequest(ServiceRequest):
    MaxResults: GVCDMaxResults | None
    NextToken: NextToken | None
    DryRun: Boolean | None


class VpnConnectionDeviceType(TypedDict, total=False):
    VpnConnectionDeviceTypeId: String | None
    Vendor: String | None
    Platform: String | None
    Software: String | None


VpnConnectionDeviceTypeList = list[VpnConnectionDeviceType]


class GetVpnConnectionDeviceTypesResult(TypedDict, total=False):
    VpnConnectionDeviceTypes: VpnConnectionDeviceTypeList | None
    NextToken: NextToken | None


class GetVpnTunnelReplacementStatusRequest(ServiceRequest):
    VpnConnectionId: VpnConnectionId
    VpnTunnelOutsideIpAddress: String
    DryRun: Boolean | None


class MaintenanceDetails(TypedDict, total=False):
    PendingMaintenance: String | None
    MaintenanceAutoAppliedAfter: MillisecondDateTime | None
    LastMaintenanceApplied: MillisecondDateTime | None


class GetVpnTunnelReplacementStatusResult(TypedDict, total=False):
    VpnConnectionId: VpnConnectionId | None
    TransitGatewayId: TransitGatewayId | None
    CustomerGatewayId: CustomerGatewayId | None
    VpnGatewayId: VpnGatewayId | None
    VpnTunnelOutsideIpAddress: String | None
    MaintenanceDetails: MaintenanceDetails | None


class HibernationOptionsRequest(TypedDict, total=False):
    Configured: Boolean | None


class LaunchPermission(TypedDict, total=False):
    OrganizationArn: String | None
    OrganizationalUnitArn: String | None
    UserId: String | None
    Group: PermissionGroup | None


LaunchPermissionList = list[LaunchPermission]


class ImageAttribute(TypedDict, total=False):
    Description: AttributeValue | None
    KernelId: AttributeValue | None
    RamdiskId: AttributeValue | None
    SriovNetSupport: AttributeValue | None
    BootMode: AttributeValue | None
    TpmSupport: AttributeValue | None
    UefiData: AttributeValue | None
    LastLaunchedTime: AttributeValue | None
    ImdsSupport: AttributeValue | None
    DeregistrationProtection: AttributeValue | None
    ImageId: String | None
    LaunchPermissions: LaunchPermissionList | None
    ProductCodes: ProductCodeList | None
    BlockDeviceMappings: BlockDeviceMappingList | None


ImageNameRequestList = list[ImageNameRequest]
MarketplaceProductCodeRequestList = list[MarketplaceProductCodeRequest]
ImageProviderRequestList = list[ImageProviderRequest]


class ImageCriterionRequest(TypedDict, total=False):
    ImageProviders: ImageProviderRequestList | None
    MarketplaceProductCodes: MarketplaceProductCodeRequestList | None
    ImageNames: ImageNameRequestList | None
    DeprecationTimeCondition: DeprecationTimeConditionRequest | None
    CreationDateCondition: CreationDateConditionRequest | None


ImageCriterionRequestList = list[ImageCriterionRequest]


class UserBucket(TypedDict, total=False):
    S3Bucket: String | None
    S3Key: String | None


class ImageDiskContainer(TypedDict, total=False):
    Description: String | None
    DeviceName: String | None
    Format: String | None
    SnapshotId: SnapshotId | None
    Url: SensitiveUrl | None
    UserBucket: UserBucket | None


ImageDiskContainerList = list[ImageDiskContainer]


class ImageRecycleBinInfo(TypedDict, total=False):
    ImageId: String | None
    Name: String | None
    Description: String | None
    RecycleBinEnterTime: MillisecondDateTime | None
    RecycleBinExitTime: MillisecondDateTime | None


ImageRecycleBinInfoList = list[ImageRecycleBinInfo]


class ImportClientVpnClientCertificateRevocationListRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    CertificateRevocationList: String
    DryRun: Boolean | None


class ImportClientVpnClientCertificateRevocationListResult(TypedDict, total=False):
    Return: Boolean | None


class ImportImageLicenseConfigurationRequest(TypedDict, total=False):
    LicenseConfigurationArn: String | None


ImportImageLicenseSpecificationListRequest = list[ImportImageLicenseConfigurationRequest]


class ImportImageRequest(ServiceRequest):
    Architecture: String | None
    ClientData: ClientData | None
    ClientToken: String | None
    Description: String | None
    DiskContainers: ImageDiskContainerList | None
    DryRun: Boolean | None
    Encrypted: Boolean | None
    Hypervisor: String | None
    KmsKeyId: KmsKeyId | None
    LicenseType: String | None
    Platform: String | None
    RoleName: String | None
    LicenseSpecifications: ImportImageLicenseSpecificationListRequest | None
    TagSpecifications: TagSpecificationList | None
    UsageOperation: String | None
    BootMode: BootModeValues | None


class ImportImageResult(TypedDict, total=False):
    Architecture: String | None
    Description: String | None
    Encrypted: Boolean | None
    Hypervisor: String | None
    ImageId: String | None
    ImportTaskId: ImportImageTaskId | None
    KmsKeyId: KmsKeyId | None
    LicenseType: String | None
    Platform: String | None
    Progress: String | None
    SnapshotDetails: SnapshotDetailList | None
    Status: String | None
    StatusMessage: String | None
    LicenseSpecifications: ImportImageLicenseSpecificationListResponse | None
    Tags: TagList | None
    UsageOperation: String | None


class UserData(TypedDict, total=False):
    Data: String | None


class ImportInstanceLaunchSpecification(TypedDict, total=False):
    Architecture: ArchitectureValues | None
    GroupNames: SecurityGroupStringList | None
    GroupIds: SecurityGroupIdStringList | None
    AdditionalInfo: String | None
    UserData: UserData | None
    InstanceType: InstanceType | None
    Placement: Placement | None
    Monitoring: Boolean | None
    SubnetId: SubnetId | None
    InstanceInitiatedShutdownBehavior: ShutdownBehavior | None
    PrivateIpAddress: String | None


class ImportInstanceRequest(ServiceRequest):
    DryRun: Boolean | None
    Description: String | None
    LaunchSpecification: ImportInstanceLaunchSpecification | None
    DiskImages: DiskImageList | None
    Platform: PlatformValues


class ImportInstanceResult(TypedDict, total=False):
    ConversionTask: ConversionTask | None


class ImportKeyPairRequest(ServiceRequest):
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None
    KeyName: String
    PublicKeyMaterial: Blob


class ImportKeyPairResult(TypedDict, total=False):
    KeyFingerprint: String | None
    KeyName: String | None
    KeyPairId: String | None
    Tags: TagList | None


class SnapshotDiskContainer(TypedDict, total=False):
    Description: String | None
    Format: String | None
    Url: SensitiveUrl | None
    UserBucket: UserBucket | None


class ImportSnapshotRequest(ServiceRequest):
    ClientData: ClientData | None
    ClientToken: String | None
    Description: String | None
    DiskContainer: SnapshotDiskContainer | None
    DryRun: Boolean | None
    Encrypted: Boolean | None
    KmsKeyId: KmsKeyId | None
    RoleName: String | None
    TagSpecifications: TagSpecificationList | None


class ImportSnapshotResult(TypedDict, total=False):
    Description: String | None
    ImportTaskId: String | None
    SnapshotTaskDetail: SnapshotTaskDetail | None
    Tags: TagList | None


class ImportVolumeRequest(ServiceRequest):
    AvailabilityZoneId: AvailabilityZoneId | None
    DryRun: Boolean | None
    AvailabilityZone: String | None
    Image: DiskImageDetail
    Description: String | None
    Volume: VolumeDetail


class ImportVolumeResult(TypedDict, total=False):
    ConversionTask: ConversionTask | None


class InstanceAttribute(TypedDict, total=False):
    BlockDeviceMappings: InstanceBlockDeviceMappingList | None
    DisableApiTermination: AttributeBooleanValue | None
    EnaSupport: AttributeBooleanValue | None
    EnclaveOptions: EnclaveOptions | None
    EbsOptimized: AttributeBooleanValue | None
    InstanceId: String | None
    InstanceInitiatedShutdownBehavior: AttributeValue | None
    InstanceType: AttributeValue | None
    KernelId: AttributeValue | None
    ProductCodes: ProductCodeList | None
    RamdiskId: AttributeValue | None
    RootDeviceName: AttributeValue | None
    SourceDestCheck: AttributeBooleanValue | None
    SriovNetSupport: AttributeValue | None
    UserData: AttributeValue | None
    DisableApiStop: AttributeBooleanValue | None
    Groups: GroupIdentifierList | None


class InstanceBlockDeviceMappingSpecification(TypedDict, total=False):
    DeviceName: String | None
    Ebs: EbsInstanceBlockDeviceSpecification | None
    VirtualName: String | None
    NoDevice: String | None


InstanceBlockDeviceMappingSpecificationList = list[InstanceBlockDeviceMappingSpecification]


class InstanceCreditSpecificationRequest(TypedDict, total=False):
    InstanceId: InstanceId
    CpuCredits: String | None


InstanceCreditSpecificationListRequest = list[InstanceCreditSpecificationRequest]
InstanceIdSet = list[InstanceId]


class InstanceMaintenanceOptionsRequest(TypedDict, total=False):
    AutoRecovery: InstanceAutoRecoveryState | None


class SpotMarketOptions(TypedDict, total=False):
    MaxPrice: String | None
    SpotInstanceType: SpotInstanceType | None
    BlockDurationMinutes: Integer | None
    ValidUntil: DateTime | None
    InstanceInterruptionBehavior: InstanceInterruptionBehavior | None


class InstanceMarketOptionsRequest(TypedDict, total=False):
    MarketType: MarketType | None
    SpotOptions: SpotMarketOptions | None


class InstanceMetadataOptionsRequest(TypedDict, total=False):
    HttpTokens: HttpTokensState | None
    HttpPutResponseHopLimit: Integer | None
    HttpEndpoint: InstanceMetadataEndpointState | None
    HttpProtocolIpv6: InstanceMetadataProtocolState | None
    InstanceMetadataTags: InstanceMetadataTagsState | None


class InstanceMonitoring(TypedDict, total=False):
    InstanceId: String | None
    Monitoring: Monitoring | None


InstanceMonitoringList = list[InstanceMonitoring]


class InstanceNetworkPerformanceOptionsRequest(TypedDict, total=False):
    BandwidthWeighting: InstanceBandwidthWeighting | None


class InstanceStateChange(TypedDict, total=False):
    InstanceId: String | None
    CurrentState: InstanceState | None
    PreviousState: InstanceState | None


InstanceStateChangeList = list[InstanceStateChange]


class IpamCidrAuthorizationContext(TypedDict, total=False):
    Message: String | None
    Signature: String | None


class IpamPolicyAllocationRuleRequest(TypedDict, total=False):
    SourceIpamPoolId: IpamPoolId | None


IpamPolicyAllocationRuleListRequest = list[IpamPolicyAllocationRuleRequest]


class KeyPair(TypedDict, total=False):
    KeyPairId: String | None
    Tags: TagList | None
    KeyName: String | None
    KeyFingerprint: String | None
    KeyMaterial: SensitiveUserData | None


class LaunchPermissionModifications(TypedDict, total=False):
    Add: LaunchPermissionList | None
    Remove: LaunchPermissionList | None


class LaunchTemplateSpecification(TypedDict, total=False):
    LaunchTemplateId: LaunchTemplateId | None
    LaunchTemplateName: String | None
    Version: String | None


class LicenseConfigurationRequest(TypedDict, total=False):
    LicenseConfigurationArn: String | None


LicenseSpecificationListRequest = list[LicenseConfigurationRequest]


class ListImagesInRecycleBinRequest(ServiceRequest):
    ImageIds: ImageIdStringList | None
    NextToken: String | None
    MaxResults: ListImagesInRecycleBinMaxResults | None
    DryRun: Boolean | None


class ListImagesInRecycleBinResult(TypedDict, total=False):
    Images: ImageRecycleBinInfoList | None
    NextToken: String | None


class ListSnapshotsInRecycleBinRequest(ServiceRequest):
    MaxResults: ListSnapshotsInRecycleBinMaxResults | None
    NextToken: String | None
    SnapshotIds: SnapshotIdStringList | None
    DryRun: Boolean | None


class SnapshotRecycleBinInfo(TypedDict, total=False):
    SnapshotId: String | None
    RecycleBinEnterTime: MillisecondDateTime | None
    RecycleBinExitTime: MillisecondDateTime | None
    Description: String | None
    VolumeId: String | None


SnapshotRecycleBinInfoList = list[SnapshotRecycleBinInfo]


class ListSnapshotsInRecycleBinResult(TypedDict, total=False):
    Snapshots: SnapshotRecycleBinInfoList | None
    NextToken: String | None


class ListVolumesInRecycleBinRequest(ServiceRequest):
    VolumeIds: VolumeIdStringList | None
    DryRun: Boolean | None
    MaxResults: Integer | None
    NextToken: String | None


class VolumeRecycleBinInfo(TypedDict, total=False):
    VolumeId: VolumeId | None
    VolumeType: VolumeType | None
    State: VolumeState | None
    Size: Integer | None
    Iops: Integer | None
    Throughput: Integer | None
    OutpostArn: String | None
    AvailabilityZone: String | None
    AvailabilityZoneId: String | None
    SourceVolumeId: String | None
    SnapshotId: String | None
    Operator: OperatorResponse | None
    CreateTime: DateTime | None
    RecycleBinEnterTime: MillisecondDateTime | None
    RecycleBinExitTime: MillisecondDateTime | None


VolumeRecycleBinInfoList = list[VolumeRecycleBinInfo]


class ListVolumesInRecycleBinResult(TypedDict, total=False):
    Volumes: VolumeRecycleBinInfoList | None
    NextToken: String | None


class LoadPermissionRequest(TypedDict, total=False):
    Group: PermissionGroup | None
    UserId: String | None


LoadPermissionListRequest = list[LoadPermissionRequest]


class LoadPermissionModifications(TypedDict, total=False):
    Add: LoadPermissionListRequest | None
    Remove: LoadPermissionListRequest | None


LocalGatewayRouteList = list[LocalGatewayRoute]


class LockSnapshotRequest(ServiceRequest):
    SnapshotId: SnapshotId
    DryRun: Boolean | None
    LockMode: LockMode
    CoolOffPeriod: CoolOffPeriodRequestHours | None
    LockDuration: RetentionPeriodRequestDays | None
    ExpirationDate: MillisecondDateTime | None


class LockSnapshotResult(TypedDict, total=False):
    SnapshotId: String | None
    LockState: LockState | None
    LockDuration: RetentionPeriodResponseDays | None
    CoolOffPeriod: CoolOffPeriodResponseHours | None
    CoolOffPeriodExpiresOn: MillisecondDateTime | None
    LockCreatedOn: MillisecondDateTime | None
    LockExpiresOn: MillisecondDateTime | None
    LockDurationStartTime: MillisecondDateTime | None


class ModifyAddressAttributeRequest(ServiceRequest):
    AllocationId: AllocationId
    DomainName: String | None
    DryRun: Boolean | None


class ModifyAddressAttributeResult(TypedDict, total=False):
    Address: AddressAttribute | None


class ModifyAvailabilityZoneGroupRequest(ServiceRequest):
    GroupName: String
    OptInStatus: ModifyAvailabilityZoneOptInStatus
    DryRun: Boolean | None


class ModifyAvailabilityZoneGroupResult(TypedDict, total=False):
    Return: Boolean | None


class ModifyCapacityReservationFleetRequest(ServiceRequest):
    CapacityReservationFleetId: CapacityReservationFleetId
    TotalTargetCapacity: Integer | None
    EndDate: MillisecondDateTime | None
    DryRun: Boolean | None
    RemoveEndDate: Boolean | None


class ModifyCapacityReservationFleetResult(TypedDict, total=False):
    Return: Boolean | None


class ModifyCapacityReservationRequest(ServiceRequest):
    CapacityReservationId: CapacityReservationId
    InstanceCount: Integer | None
    EndDate: DateTime | None
    EndDateType: EndDateType | None
    Accept: Boolean | None
    DryRun: Boolean | None
    AdditionalInfo: String | None
    InstanceMatchCriteria: InstanceMatchCriteria | None


class ModifyCapacityReservationResult(TypedDict, total=False):
    Return: Boolean | None


class ModifyClientVpnEndpointRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    ServerCertificateArn: String | None
    ConnectionLogOptions: ConnectionLogOptions | None
    DnsServers: DnsServersOptionsModifyStructure | None
    VpnPort: Integer | None
    Description: String | None
    SplitTunnel: Boolean | None
    DryRun: Boolean | None
    SecurityGroupIds: ClientVpnSecurityGroupIdSet | None
    VpcId: VpcId | None
    SelfServicePortal: SelfServicePortal | None
    ClientConnectOptions: ClientConnectOptions | None
    SessionTimeoutHours: Integer | None
    ClientLoginBannerOptions: ClientLoginBannerOptions | None
    ClientRouteEnforcementOptions: ClientRouteEnforcementOptions | None
    DisconnectOnSessionTimeout: Boolean | None


class ModifyClientVpnEndpointResult(TypedDict, total=False):
    Return: Boolean | None


class ModifyDefaultCreditSpecificationRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceFamily: UnlimitedSupportedInstanceFamily
    CpuCredits: String


class ModifyDefaultCreditSpecificationResult(TypedDict, total=False):
    InstanceFamilyCreditSpecification: InstanceFamilyCreditSpecification | None


class ModifyEbsDefaultKmsKeyIdRequest(ServiceRequest):
    KmsKeyId: KmsKeyId
    DryRun: Boolean | None


class ModifyEbsDefaultKmsKeyIdResult(TypedDict, total=False):
    KmsKeyId: String | None


class ModifyFleetRequest(ServiceRequest):
    DryRun: Boolean | None
    ExcessCapacityTerminationPolicy: FleetExcessCapacityTerminationPolicy | None
    LaunchTemplateConfigs: FleetLaunchTemplateConfigListRequest | None
    FleetId: FleetId
    TargetCapacitySpecification: TargetCapacitySpecificationRequest | None
    Context: String | None


class ModifyFleetResult(TypedDict, total=False):
    Return: Boolean | None


ProductCodeStringList = list[String]
UserGroupStringList = list[String]
UserIdStringList = list[String]


class ModifyFpgaImageAttributeRequest(ServiceRequest):
    DryRun: Boolean | None
    FpgaImageId: FpgaImageId
    Attribute: FpgaImageAttributeName | None
    OperationType: OperationType | None
    UserIds: UserIdStringList | None
    UserGroups: UserGroupStringList | None
    ProductCodes: ProductCodeStringList | None
    LoadPermission: LoadPermissionModifications | None
    Description: String | None
    Name: String | None


class ModifyFpgaImageAttributeResult(TypedDict, total=False):
    FpgaImageAttribute: FpgaImageAttribute | None


class ModifyHostsRequest(ServiceRequest):
    HostRecovery: HostRecovery | None
    InstanceType: String | None
    InstanceFamily: String | None
    HostMaintenance: HostMaintenance | None
    HostIds: RequestHostIdList
    AutoPlacement: AutoPlacement | None


UnsuccessfulItemList = list[UnsuccessfulItem]


class ModifyHostsResult(TypedDict, total=False):
    Successful: ResponseHostIdList | None
    Unsuccessful: UnsuccessfulItemList | None


class ModifyIdFormatRequest(ServiceRequest):
    Resource: String
    UseLongIds: Boolean


class ModifyIdentityIdFormatRequest(ServiceRequest):
    Resource: String
    UseLongIds: Boolean
    PrincipalArn: String


OrganizationalUnitArnStringList = list[String]
OrganizationArnStringList = list[String]


class ModifyImageAttributeRequest(ServiceRequest):
    Attribute: String | None
    Description: AttributeValue | None
    ImageId: ImageId
    LaunchPermission: LaunchPermissionModifications | None
    OperationType: OperationType | None
    ProductCodes: ProductCodeStringList | None
    UserGroups: UserGroupStringList | None
    UserIds: UserIdStringList | None
    Value: String | None
    OrganizationArns: OrganizationArnStringList | None
    OrganizationalUnitArns: OrganizationalUnitArnStringList | None
    ImdsSupport: AttributeValue | None
    DryRun: Boolean | None


class ModifyInstanceAttributeRequest(ServiceRequest):
    SourceDestCheck: AttributeBooleanValue | None
    DisableApiStop: AttributeBooleanValue | None
    DryRun: Boolean | None
    InstanceId: InstanceId
    Attribute: InstanceAttributeName | None
    Value: String | None
    BlockDeviceMappings: InstanceBlockDeviceMappingSpecificationList | None
    DisableApiTermination: AttributeBooleanValue | None
    InstanceType: AttributeValue | None
    Kernel: AttributeValue | None
    Ramdisk: AttributeValue | None
    UserData: BlobAttributeValue | None
    InstanceInitiatedShutdownBehavior: AttributeValue | None
    Groups: GroupIdStringList | None
    EbsOptimized: AttributeBooleanValue | None
    SriovNetSupport: AttributeValue | None
    EnaSupport: AttributeBooleanValue | None


class ModifyInstanceCapacityReservationAttributesRequest(ServiceRequest):
    InstanceId: InstanceId
    CapacityReservationSpecification: CapacityReservationSpecification
    DryRun: Boolean | None


class ModifyInstanceCapacityReservationAttributesResult(TypedDict, total=False):
    Return: Boolean | None


class ModifyInstanceConnectEndpointRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceConnectEndpointId: InstanceConnectEndpointId
    IpAddressType: IpAddressType | None
    SecurityGroupIds: SecurityGroupIdStringListRequest | None
    PreserveClientIp: Boolean | None


class ModifyInstanceConnectEndpointResult(TypedDict, total=False):
    Return: Boolean | None


class ModifyInstanceCpuOptionsRequest(ServiceRequest):
    InstanceId: InstanceId
    CoreCount: Integer
    ThreadsPerCore: Integer
    DryRun: Boolean | None


class ModifyInstanceCpuOptionsResult(TypedDict, total=False):
    InstanceId: InstanceId | None
    CoreCount: Integer | None
    ThreadsPerCore: Integer | None


class ModifyInstanceCreditSpecificationRequest(ServiceRequest):
    DryRun: Boolean | None
    ClientToken: String | None
    InstanceCreditSpecifications: InstanceCreditSpecificationListRequest


class UnsuccessfulInstanceCreditSpecificationItemError(TypedDict, total=False):
    Code: UnsuccessfulInstanceCreditSpecificationErrorCode | None
    Message: String | None


class UnsuccessfulInstanceCreditSpecificationItem(TypedDict, total=False):
    InstanceId: String | None
    Error: UnsuccessfulInstanceCreditSpecificationItemError | None


UnsuccessfulInstanceCreditSpecificationSet = list[UnsuccessfulInstanceCreditSpecificationItem]


class SuccessfulInstanceCreditSpecificationItem(TypedDict, total=False):
    InstanceId: String | None


SuccessfulInstanceCreditSpecificationSet = list[SuccessfulInstanceCreditSpecificationItem]


class ModifyInstanceCreditSpecificationResult(TypedDict, total=False):
    SuccessfulInstanceCreditSpecifications: SuccessfulInstanceCreditSpecificationSet | None
    UnsuccessfulInstanceCreditSpecifications: UnsuccessfulInstanceCreditSpecificationSet | None


class ModifyInstanceEventStartTimeRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceId: InstanceId
    InstanceEventId: String
    NotBefore: DateTime


class ModifyInstanceEventStartTimeResult(TypedDict, total=False):
    Event: InstanceStatusEvent | None


class ModifyInstanceEventWindowRequest(ServiceRequest):
    DryRun: Boolean | None
    Name: String | None
    InstanceEventWindowId: InstanceEventWindowId
    TimeRanges: InstanceEventWindowTimeRangeRequestSet | None
    CronExpression: InstanceEventWindowCronExpression | None


class ModifyInstanceEventWindowResult(TypedDict, total=False):
    InstanceEventWindow: InstanceEventWindow | None


class ModifyInstanceMaintenanceOptionsRequest(ServiceRequest):
    InstanceId: InstanceId
    AutoRecovery: InstanceAutoRecoveryState | None
    RebootMigration: InstanceRebootMigrationState | None
    DryRun: Boolean | None


class ModifyInstanceMaintenanceOptionsResult(TypedDict, total=False):
    InstanceId: String | None
    AutoRecovery: InstanceAutoRecoveryState | None
    RebootMigration: InstanceRebootMigrationState | None


class ModifyInstanceMetadataDefaultsRequest(ServiceRequest):
    HttpTokens: MetadataDefaultHttpTokensState | None
    HttpPutResponseHopLimit: BoxedInteger | None
    HttpEndpoint: DefaultInstanceMetadataEndpointState | None
    InstanceMetadataTags: DefaultInstanceMetadataTagsState | None
    DryRun: Boolean | None


class ModifyInstanceMetadataDefaultsResult(TypedDict, total=False):
    Return: Boolean | None


class ModifyInstanceMetadataOptionsRequest(ServiceRequest):
    InstanceId: InstanceId
    HttpTokens: HttpTokensState | None
    HttpPutResponseHopLimit: Integer | None
    HttpEndpoint: InstanceMetadataEndpointState | None
    DryRun: Boolean | None
    HttpProtocolIpv6: InstanceMetadataProtocolState | None
    InstanceMetadataTags: InstanceMetadataTagsState | None


class ModifyInstanceMetadataOptionsResult(TypedDict, total=False):
    InstanceId: String | None
    InstanceMetadataOptions: InstanceMetadataOptionsResponse | None


class ModifyInstanceNetworkPerformanceRequest(ServiceRequest):
    InstanceId: InstanceId
    BandwidthWeighting: InstanceBandwidthWeighting
    DryRun: Boolean | None


class ModifyInstanceNetworkPerformanceResult(TypedDict, total=False):
    InstanceId: InstanceId | None
    BandwidthWeighting: InstanceBandwidthWeighting | None


class ModifyInstancePlacementRequest(ServiceRequest):
    GroupName: PlacementGroupName | None
    PartitionNumber: Integer | None
    HostResourceGroupArn: String | None
    GroupId: PlacementGroupId | None
    InstanceId: InstanceId
    Tenancy: HostTenancy | None
    Affinity: Affinity | None
    HostId: DedicatedHostId | None


class ModifyInstancePlacementResult(TypedDict, total=False):
    Return: Boolean | None


class ModifyIpamPolicyAllocationRulesRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPolicyId: IpamPolicyId
    Locale: String
    ResourceType: IpamPolicyResourceType
    AllocationRules: IpamPolicyAllocationRuleListRequest | None


class ModifyIpamPolicyAllocationRulesResult(TypedDict, total=False):
    IpamPolicyDocument: IpamPolicyDocument | None


class ModifyIpamPoolRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPoolId: IpamPoolId
    Description: String | None
    AutoImport: Boolean | None
    AllocationMinNetmaskLength: IpamNetmaskLength | None
    AllocationMaxNetmaskLength: IpamNetmaskLength | None
    AllocationDefaultNetmaskLength: IpamNetmaskLength | None
    ClearAllocationDefaultNetmaskLength: Boolean | None
    AddAllocationResourceTags: RequestIpamResourceTagList | None
    RemoveAllocationResourceTags: RequestIpamResourceTagList | None


class ModifyIpamPoolResult(TypedDict, total=False):
    IpamPool: IpamPool | None


class ModifyIpamPrefixListResolverRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPrefixListResolverId: IpamPrefixListResolverId
    Description: String | None
    Rules: IpamPrefixListResolverRuleRequestSet | None


class ModifyIpamPrefixListResolverResult(TypedDict, total=False):
    IpamPrefixListResolver: IpamPrefixListResolver | None


class ModifyIpamPrefixListResolverTargetRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPrefixListResolverTargetId: IpamPrefixListResolverTargetId
    DesiredVersion: BoxedLong | None
    TrackLatestVersion: BoxedBoolean | None
    ClientToken: String | None


class ModifyIpamPrefixListResolverTargetResult(TypedDict, total=False):
    IpamPrefixListResolverTarget: IpamPrefixListResolverTarget | None


class RemoveIpamOperatingRegion(TypedDict, total=False):
    RegionName: String | None


RemoveIpamOperatingRegionSet = list[RemoveIpamOperatingRegion]


class ModifyIpamRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamId: IpamId
    Description: String | None
    AddOperatingRegions: AddIpamOperatingRegionSet | None
    RemoveOperatingRegions: RemoveIpamOperatingRegionSet | None
    Tier: IpamTier | None
    EnablePrivateGua: Boolean | None
    MeteredAccount: IpamMeteredAccount | None


class ModifyIpamResourceCidrRequest(ServiceRequest):
    DryRun: Boolean | None
    ResourceId: String
    ResourceCidr: String
    ResourceRegion: String
    CurrentIpamScopeId: IpamScopeId
    DestinationIpamScopeId: IpamScopeId | None
    Monitored: Boolean


class ModifyIpamResourceCidrResult(TypedDict, total=False):
    IpamResourceCidr: IpamResourceCidr | None


class RemoveIpamOrganizationalUnitExclusion(TypedDict, total=False):
    OrganizationsEntityPath: String | None


RemoveIpamOrganizationalUnitExclusionSet = list[RemoveIpamOrganizationalUnitExclusion]


class ModifyIpamResourceDiscoveryRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamResourceDiscoveryId: IpamResourceDiscoveryId
    Description: String | None
    AddOperatingRegions: AddIpamOperatingRegionSet | None
    RemoveOperatingRegions: RemoveIpamOperatingRegionSet | None
    AddOrganizationalUnitExclusions: AddIpamOrganizationalUnitExclusionSet | None
    RemoveOrganizationalUnitExclusions: RemoveIpamOrganizationalUnitExclusionSet | None


class ModifyIpamResourceDiscoveryResult(TypedDict, total=False):
    IpamResourceDiscovery: IpamResourceDiscovery | None


class ModifyIpamResult(TypedDict, total=False):
    Ipam: Ipam | None


class ModifyIpamScopeRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamScopeId: IpamScopeId
    Description: String | None
    ExternalAuthorityConfiguration: ExternalAuthorityConfiguration | None
    RemoveExternalAuthorityConfiguration: Boolean | None


class ModifyIpamScopeResult(TypedDict, total=False):
    IpamScope: IpamScope | None


class ModifyLaunchTemplateRequest(ServiceRequest):
    DryRun: Boolean | None
    ClientToken: String | None
    LaunchTemplateId: LaunchTemplateId | None
    LaunchTemplateName: LaunchTemplateName | None
    DefaultVersion: String | None


class ModifyLaunchTemplateResult(TypedDict, total=False):
    LaunchTemplate: LaunchTemplate | None


class ModifyLocalGatewayRouteRequest(ServiceRequest):
    DestinationCidrBlock: String | None
    LocalGatewayRouteTableId: LocalGatewayRoutetableId
    LocalGatewayVirtualInterfaceGroupId: LocalGatewayVirtualInterfaceGroupId | None
    NetworkInterfaceId: NetworkInterfaceId | None
    DryRun: Boolean | None
    DestinationPrefixListId: PrefixListResourceId | None


class ModifyLocalGatewayRouteResult(TypedDict, total=False):
    Route: LocalGatewayRoute | None


class RemovePrefixListEntry(TypedDict, total=False):
    Cidr: String


RemovePrefixListEntries = list[RemovePrefixListEntry]


class ModifyManagedPrefixListRequest(ServiceRequest):
    DryRun: Boolean | None
    PrefixListId: PrefixListResourceId
    CurrentVersion: Long | None
    PrefixListName: String | None
    AddEntries: AddPrefixListEntries | None
    RemoveEntries: RemovePrefixListEntries | None
    MaxEntries: Integer | None
    IpamPrefixListResolverSyncEnabled: BoxedBoolean | None


class ModifyManagedPrefixListResult(TypedDict, total=False):
    PrefixList: ManagedPrefixList | None


class NetworkInterfaceAttachmentChanges(TypedDict, total=False):
    DefaultEnaQueueCount: Boolean | None
    EnaQueueCount: Integer | None
    AttachmentId: NetworkInterfaceAttachmentId | None
    DeleteOnTermination: Boolean | None


SubnetIdList = list[SubnetId]


class ModifyNetworkInterfaceAttributeRequest(ServiceRequest):
    EnaSrdSpecification: EnaSrdSpecification | None
    EnablePrimaryIpv6: Boolean | None
    ConnectionTrackingSpecification: ConnectionTrackingSpecificationRequest | None
    AssociatePublicIpAddress: Boolean | None
    AssociatedSubnetIds: SubnetIdList | None
    DryRun: Boolean | None
    NetworkInterfaceId: NetworkInterfaceId
    Description: AttributeValue | None
    SourceDestCheck: AttributeBooleanValue | None
    Groups: SecurityGroupIdStringList | None
    Attachment: NetworkInterfaceAttachmentChanges | None


class ModifyPrivateDnsNameOptionsRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceId: InstanceId
    PrivateDnsHostnameType: HostnameType | None
    EnableResourceNameDnsARecord: Boolean | None
    EnableResourceNameDnsAAAARecord: Boolean | None


class ModifyPrivateDnsNameOptionsResult(TypedDict, total=False):
    Return: Boolean | None


class ModifyPublicIpDnsNameOptionsRequest(ServiceRequest):
    NetworkInterfaceId: NetworkInterfaceId
    HostnameType: PublicIpDnsOption
    DryRun: Boolean | None


class ModifyPublicIpDnsNameOptionsResult(TypedDict, total=False):
    Successful: Boolean | None


ReservedInstancesConfigurationList = list[ReservedInstancesConfiguration]


class ModifyReservedInstancesRequest(ServiceRequest):
    ReservedInstancesIds: ReservedInstancesIdStringList
    ClientToken: String | None
    TargetConfigurations: ReservedInstancesConfigurationList


class ModifyReservedInstancesResult(TypedDict, total=False):
    ReservedInstancesModificationId: String | None


class ModifyRouteServerRequest(ServiceRequest):
    RouteServerId: RouteServerId
    PersistRoutes: RouteServerPersistRoutesAction | None
    PersistRoutesDuration: BoxedLong | None
    SnsNotificationsEnabled: Boolean | None
    DryRun: Boolean | None


class ModifyRouteServerResult(TypedDict, total=False):
    RouteServer: RouteServer | None


class SecurityGroupRuleRequest(TypedDict, total=False):
    IpProtocol: String | None
    FromPort: Integer | None
    ToPort: Integer | None
    CidrIpv4: String | None
    CidrIpv6: String | None
    PrefixListId: PrefixListResourceId | None
    ReferencedGroupId: SecurityGroupId | None
    Description: String | None


class SecurityGroupRuleUpdate(TypedDict, total=False):
    SecurityGroupRuleId: SecurityGroupRuleId
    SecurityGroupRule: SecurityGroupRuleRequest | None


SecurityGroupRuleUpdateList = list[SecurityGroupRuleUpdate]


class ModifySecurityGroupRulesRequest(ServiceRequest):
    GroupId: SecurityGroupId
    SecurityGroupRules: SecurityGroupRuleUpdateList
    DryRun: Boolean | None


class ModifySecurityGroupRulesResult(TypedDict, total=False):
    Return: Boolean | None


class ModifySnapshotAttributeRequest(ServiceRequest):
    Attribute: SnapshotAttributeName | None
    CreateVolumePermission: CreateVolumePermissionModifications | None
    GroupNames: GroupNameStringList | None
    OperationType: OperationType | None
    SnapshotId: SnapshotId
    UserIds: UserIdStringList | None
    DryRun: Boolean | None


class ModifySnapshotTierRequest(ServiceRequest):
    SnapshotId: SnapshotId
    StorageTier: TargetStorageTier | None
    DryRun: Boolean | None


class ModifySnapshotTierResult(TypedDict, total=False):
    SnapshotId: String | None
    TieringStartTime: MillisecondDateTime | None


class ModifySpotFleetRequestRequest(ServiceRequest):
    LaunchTemplateConfigs: LaunchTemplateConfigList | None
    OnDemandTargetCapacity: Integer | None
    Context: String | None
    SpotFleetRequestId: SpotFleetRequestId
    TargetCapacity: Integer | None
    ExcessCapacityTerminationPolicy: ExcessCapacityTerminationPolicy | None


class ModifySpotFleetRequestResponse(TypedDict, total=False):
    Return: Boolean | None


class ModifySubnetAttributeRequest(ServiceRequest):
    AssignIpv6AddressOnCreation: AttributeBooleanValue | None
    MapPublicIpOnLaunch: AttributeBooleanValue | None
    SubnetId: SubnetId
    MapCustomerOwnedIpOnLaunch: AttributeBooleanValue | None
    CustomerOwnedIpv4Pool: CoipPoolId | None
    EnableDns64: AttributeBooleanValue | None
    PrivateDnsHostnameTypeOnLaunch: HostnameType | None
    EnableResourceNameDnsARecordOnLaunch: AttributeBooleanValue | None
    EnableResourceNameDnsAAAARecordOnLaunch: AttributeBooleanValue | None
    EnableLniAtDeviceIndex: Integer | None
    DisableLniAtDeviceIndex: AttributeBooleanValue | None


class ModifyTrafficMirrorFilterNetworkServicesRequest(ServiceRequest):
    TrafficMirrorFilterId: TrafficMirrorFilterId
    AddNetworkServices: TrafficMirrorNetworkServiceList | None
    RemoveNetworkServices: TrafficMirrorNetworkServiceList | None
    DryRun: Boolean | None


class ModifyTrafficMirrorFilterNetworkServicesResult(TypedDict, total=False):
    TrafficMirrorFilter: TrafficMirrorFilter | None


TrafficMirrorFilterRuleFieldList = list[TrafficMirrorFilterRuleField]


class ModifyTrafficMirrorFilterRuleRequest(ServiceRequest):
    TrafficMirrorFilterRuleId: TrafficMirrorFilterRuleIdWithResolver
    TrafficDirection: TrafficDirection | None
    RuleNumber: Integer | None
    RuleAction: TrafficMirrorRuleAction | None
    DestinationPortRange: TrafficMirrorPortRangeRequest | None
    SourcePortRange: TrafficMirrorPortRangeRequest | None
    Protocol: Integer | None
    DestinationCidrBlock: String | None
    SourceCidrBlock: String | None
    Description: String | None
    RemoveFields: TrafficMirrorFilterRuleFieldList | None
    DryRun: Boolean | None


class ModifyTrafficMirrorFilterRuleResult(TypedDict, total=False):
    TrafficMirrorFilterRule: TrafficMirrorFilterRule | None


TrafficMirrorSessionFieldList = list[TrafficMirrorSessionField]


class ModifyTrafficMirrorSessionRequest(ServiceRequest):
    TrafficMirrorSessionId: TrafficMirrorSessionId
    TrafficMirrorTargetId: TrafficMirrorTargetId | None
    TrafficMirrorFilterId: TrafficMirrorFilterId | None
    PacketLength: Integer | None
    SessionNumber: Integer | None
    VirtualNetworkId: Integer | None
    Description: String | None
    RemoveFields: TrafficMirrorSessionFieldList | None
    DryRun: Boolean | None


class ModifyTrafficMirrorSessionResult(TypedDict, total=False):
    TrafficMirrorSession: TrafficMirrorSession | None


class ModifyTransitGatewayMeteringPolicyRequest(ServiceRequest):
    TransitGatewayMeteringPolicyId: TransitGatewayMeteringPolicyId
    AddMiddleboxAttachmentIds: TransitGatewayAttachmentIdStringList | None
    RemoveMiddleboxAttachmentIds: TransitGatewayAttachmentIdStringList | None
    DryRun: Boolean | None


class ModifyTransitGatewayMeteringPolicyResult(TypedDict, total=False):
    TransitGatewayMeteringPolicy: TransitGatewayMeteringPolicy | None


class ModifyTransitGatewayOptions(TypedDict, total=False):
    AddTransitGatewayCidrBlocks: TransitGatewayCidrBlockStringList | None
    RemoveTransitGatewayCidrBlocks: TransitGatewayCidrBlockStringList | None
    VpnEcmpSupport: VpnEcmpSupportValue | None
    DnsSupport: DnsSupportValue | None
    SecurityGroupReferencingSupport: SecurityGroupReferencingSupportValue | None
    AutoAcceptSharedAttachments: AutoAcceptSharedAttachmentsValue | None
    DefaultRouteTableAssociation: DefaultRouteTableAssociationValue | None
    AssociationDefaultRouteTableId: TransitGatewayRouteTableId | None
    DefaultRouteTablePropagation: DefaultRouteTablePropagationValue | None
    PropagationDefaultRouteTableId: TransitGatewayRouteTableId | None
    AmazonSideAsn: Long | None
    EncryptionSupport: EncryptionSupportOptionValue | None


class ModifyTransitGatewayPrefixListReferenceRequest(ServiceRequest):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    PrefixListId: PrefixListResourceId
    TransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    Blackhole: Boolean | None
    DryRun: Boolean | None


class ModifyTransitGatewayPrefixListReferenceResult(TypedDict, total=False):
    TransitGatewayPrefixListReference: TransitGatewayPrefixListReference | None


class ModifyTransitGatewayRequest(ServiceRequest):
    TransitGatewayId: TransitGatewayId
    Description: String | None
    Options: ModifyTransitGatewayOptions | None
    DryRun: Boolean | None


class ModifyTransitGatewayResult(TypedDict, total=False):
    TransitGateway: TransitGateway | None


class ModifyTransitGatewayVpcAttachmentRequestOptions(TypedDict, total=False):
    DnsSupport: DnsSupportValue | None
    SecurityGroupReferencingSupport: SecurityGroupReferencingSupportValue | None
    Ipv6Support: Ipv6SupportValue | None
    ApplianceModeSupport: ApplianceModeSupportValue | None


class ModifyTransitGatewayVpcAttachmentRequest(ServiceRequest):
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    AddSubnetIds: TransitGatewaySubnetIdList | None
    RemoveSubnetIds: TransitGatewaySubnetIdList | None
    Options: ModifyTransitGatewayVpcAttachmentRequestOptions | None
    DryRun: Boolean | None


class ModifyTransitGatewayVpcAttachmentResult(TypedDict, total=False):
    TransitGatewayVpcAttachment: TransitGatewayVpcAttachment | None


class ModifyVerifiedAccessEndpointPortRange(TypedDict, total=False):
    FromPort: VerifiedAccessEndpointPortNumber | None
    ToPort: VerifiedAccessEndpointPortNumber | None


ModifyVerifiedAccessEndpointPortRangeList = list[ModifyVerifiedAccessEndpointPortRange]


class ModifyVerifiedAccessEndpointCidrOptions(TypedDict, total=False):
    PortRanges: ModifyVerifiedAccessEndpointPortRangeList | None


class ModifyVerifiedAccessEndpointEniOptions(TypedDict, total=False):
    Protocol: VerifiedAccessEndpointProtocol | None
    Port: VerifiedAccessEndpointPortNumber | None
    PortRanges: ModifyVerifiedAccessEndpointPortRangeList | None


ModifyVerifiedAccessEndpointSubnetIdList = list[SubnetId]


class ModifyVerifiedAccessEndpointLoadBalancerOptions(TypedDict, total=False):
    SubnetIds: ModifyVerifiedAccessEndpointSubnetIdList | None
    Protocol: VerifiedAccessEndpointProtocol | None
    Port: VerifiedAccessEndpointPortNumber | None
    PortRanges: ModifyVerifiedAccessEndpointPortRangeList | None


class ModifyVerifiedAccessEndpointPolicyRequest(ServiceRequest):
    VerifiedAccessEndpointId: VerifiedAccessEndpointId
    PolicyEnabled: Boolean | None
    PolicyDocument: String | None
    ClientToken: String | None
    DryRun: Boolean | None
    SseSpecification: VerifiedAccessSseSpecificationRequest | None


class ModifyVerifiedAccessEndpointPolicyResult(TypedDict, total=False):
    PolicyEnabled: Boolean | None
    PolicyDocument: String | None
    SseSpecification: VerifiedAccessSseSpecificationResponse | None


class ModifyVerifiedAccessEndpointRdsOptions(TypedDict, total=False):
    SubnetIds: ModifyVerifiedAccessEndpointSubnetIdList | None
    Port: VerifiedAccessEndpointPortNumber | None
    RdsEndpoint: String | None


class ModifyVerifiedAccessEndpointRequest(ServiceRequest):
    VerifiedAccessEndpointId: VerifiedAccessEndpointId
    VerifiedAccessGroupId: VerifiedAccessGroupId | None
    LoadBalancerOptions: ModifyVerifiedAccessEndpointLoadBalancerOptions | None
    NetworkInterfaceOptions: ModifyVerifiedAccessEndpointEniOptions | None
    Description: String | None
    ClientToken: String | None
    DryRun: Boolean | None
    RdsOptions: ModifyVerifiedAccessEndpointRdsOptions | None
    CidrOptions: ModifyVerifiedAccessEndpointCidrOptions | None


class ModifyVerifiedAccessEndpointResult(TypedDict, total=False):
    VerifiedAccessEndpoint: VerifiedAccessEndpoint | None


class ModifyVerifiedAccessGroupPolicyRequest(ServiceRequest):
    VerifiedAccessGroupId: VerifiedAccessGroupId
    PolicyEnabled: Boolean | None
    PolicyDocument: String | None
    ClientToken: String | None
    DryRun: Boolean | None
    SseSpecification: VerifiedAccessSseSpecificationRequest | None


class ModifyVerifiedAccessGroupPolicyResult(TypedDict, total=False):
    PolicyEnabled: Boolean | None
    PolicyDocument: String | None
    SseSpecification: VerifiedAccessSseSpecificationResponse | None


class ModifyVerifiedAccessGroupRequest(ServiceRequest):
    VerifiedAccessGroupId: VerifiedAccessGroupId
    VerifiedAccessInstanceId: VerifiedAccessInstanceId | None
    Description: String | None
    ClientToken: String | None
    DryRun: Boolean | None


class ModifyVerifiedAccessGroupResult(TypedDict, total=False):
    VerifiedAccessGroup: VerifiedAccessGroup | None


class VerifiedAccessLogKinesisDataFirehoseDestinationOptions(TypedDict, total=False):
    Enabled: Boolean
    DeliveryStream: String | None


class VerifiedAccessLogCloudWatchLogsDestinationOptions(TypedDict, total=False):
    Enabled: Boolean
    LogGroup: String | None


class VerifiedAccessLogS3DestinationOptions(TypedDict, total=False):
    Enabled: Boolean
    BucketName: String | None
    Prefix: String | None
    BucketOwner: String | None


class VerifiedAccessLogOptions(TypedDict, total=False):
    S3: VerifiedAccessLogS3DestinationOptions | None
    CloudWatchLogs: VerifiedAccessLogCloudWatchLogsDestinationOptions | None
    KinesisDataFirehose: VerifiedAccessLogKinesisDataFirehoseDestinationOptions | None
    LogVersion: String | None
    IncludeTrustContext: Boolean | None


class ModifyVerifiedAccessInstanceLoggingConfigurationRequest(ServiceRequest):
    VerifiedAccessInstanceId: VerifiedAccessInstanceId
    AccessLogs: VerifiedAccessLogOptions
    DryRun: Boolean | None
    ClientToken: String | None


class ModifyVerifiedAccessInstanceLoggingConfigurationResult(TypedDict, total=False):
    LoggingConfiguration: VerifiedAccessInstanceLoggingConfiguration | None


class ModifyVerifiedAccessInstanceRequest(ServiceRequest):
    VerifiedAccessInstanceId: VerifiedAccessInstanceId
    Description: String | None
    DryRun: Boolean | None
    ClientToken: String | None
    CidrEndpointsCustomSubDomain: String | None


class ModifyVerifiedAccessInstanceResult(TypedDict, total=False):
    VerifiedAccessInstance: VerifiedAccessInstance | None


class ModifyVerifiedAccessNativeApplicationOidcOptions(TypedDict, total=False):
    PublicSigningKeyEndpoint: String | None
    Issuer: String | None
    AuthorizationEndpoint: String | None
    TokenEndpoint: String | None
    UserInfoEndpoint: String | None
    ClientId: String | None
    ClientSecret: ClientSecretType | None
    Scope: String | None


class ModifyVerifiedAccessTrustProviderDeviceOptions(TypedDict, total=False):
    PublicSigningKeyUrl: String | None


class ModifyVerifiedAccessTrustProviderOidcOptions(TypedDict, total=False):
    Issuer: String | None
    AuthorizationEndpoint: String | None
    TokenEndpoint: String | None
    UserInfoEndpoint: String | None
    ClientId: String | None
    ClientSecret: ClientSecretType | None
    Scope: String | None


class ModifyVerifiedAccessTrustProviderRequest(ServiceRequest):
    VerifiedAccessTrustProviderId: VerifiedAccessTrustProviderId
    OidcOptions: ModifyVerifiedAccessTrustProviderOidcOptions | None
    DeviceOptions: ModifyVerifiedAccessTrustProviderDeviceOptions | None
    Description: String | None
    DryRun: Boolean | None
    ClientToken: String | None
    SseSpecification: VerifiedAccessSseSpecificationRequest | None
    NativeApplicationOidcOptions: ModifyVerifiedAccessNativeApplicationOidcOptions | None


class ModifyVerifiedAccessTrustProviderResult(TypedDict, total=False):
    VerifiedAccessTrustProvider: VerifiedAccessTrustProvider | None


class ModifyVolumeAttributeRequest(ServiceRequest):
    AutoEnableIO: AttributeBooleanValue | None
    VolumeId: VolumeId
    DryRun: Boolean | None


class ModifyVolumeRequest(ServiceRequest):
    DryRun: Boolean | None
    VolumeId: VolumeId
    Size: Integer | None
    VolumeType: VolumeType | None
    Iops: Integer | None
    Throughput: Integer | None
    MultiAttachEnabled: Boolean | None


class ModifyVolumeResult(TypedDict, total=False):
    VolumeModification: VolumeModification | None


class ModifyVpcAttributeRequest(ServiceRequest):
    EnableDnsHostnames: AttributeBooleanValue | None
    EnableDnsSupport: AttributeBooleanValue | None
    VpcId: VpcId
    EnableNetworkAddressUsageMetrics: AttributeBooleanValue | None


class ModifyVpcBlockPublicAccessExclusionRequest(ServiceRequest):
    DryRun: Boolean | None
    ExclusionId: VpcBlockPublicAccessExclusionId
    InternetGatewayExclusionMode: InternetGatewayExclusionMode


class ModifyVpcBlockPublicAccessExclusionResult(TypedDict, total=False):
    VpcBlockPublicAccessExclusion: VpcBlockPublicAccessExclusion | None


class ModifyVpcBlockPublicAccessOptionsRequest(ServiceRequest):
    DryRun: Boolean | None
    InternetGatewayBlockMode: InternetGatewayBlockMode


class ModifyVpcBlockPublicAccessOptionsResult(TypedDict, total=False):
    VpcBlockPublicAccessOptions: VpcBlockPublicAccessOptions | None


class ModifyVpcEncryptionControlRequest(ServiceRequest):
    DryRun: Boolean | None
    VpcEncryptionControlId: VpcEncryptionControlId
    Mode: VpcEncryptionControlMode | None
    InternetGatewayExclusion: VpcEncryptionControlExclusionStateInput | None
    EgressOnlyInternetGatewayExclusion: VpcEncryptionControlExclusionStateInput | None
    NatGatewayExclusion: VpcEncryptionControlExclusionStateInput | None
    VirtualPrivateGatewayExclusion: VpcEncryptionControlExclusionStateInput | None
    VpcPeeringExclusion: VpcEncryptionControlExclusionStateInput | None
    LambdaExclusion: VpcEncryptionControlExclusionStateInput | None
    VpcLatticeExclusion: VpcEncryptionControlExclusionStateInput | None
    ElasticFileSystemExclusion: VpcEncryptionControlExclusionStateInput | None


class ModifyVpcEncryptionControlResult(TypedDict, total=False):
    VpcEncryptionControl: VpcEncryptionControl | None


class ModifyVpcEndpointConnectionNotificationRequest(ServiceRequest):
    DryRun: Boolean | None
    ConnectionNotificationId: ConnectionNotificationId
    ConnectionNotificationArn: String | None
    ConnectionEvents: ValueStringList | None


class ModifyVpcEndpointConnectionNotificationResult(TypedDict, total=False):
    ReturnValue: Boolean | None


class ModifyVpcEndpointRequest(ServiceRequest):
    DryRun: Boolean | None
    VpcEndpointId: VpcEndpointId
    ResetPolicy: Boolean | None
    PolicyDocument: String | None
    AddRouteTableIds: VpcEndpointRouteTableIdList | None
    RemoveRouteTableIds: VpcEndpointRouteTableIdList | None
    AddSubnetIds: VpcEndpointSubnetIdList | None
    RemoveSubnetIds: VpcEndpointSubnetIdList | None
    AddSecurityGroupIds: VpcEndpointSecurityGroupIdList | None
    RemoveSecurityGroupIds: VpcEndpointSecurityGroupIdList | None
    IpAddressType: IpAddressType | None
    DnsOptions: DnsOptionsSpecification | None
    PrivateDnsEnabled: Boolean | None
    SubnetConfigurations: SubnetConfigurationsList | None


class ModifyVpcEndpointResult(TypedDict, total=False):
    Return: Boolean | None


class ModifyVpcEndpointServiceConfigurationRequest(ServiceRequest):
    DryRun: Boolean | None
    ServiceId: VpcEndpointServiceId
    PrivateDnsName: String | None
    RemovePrivateDnsName: Boolean | None
    AcceptanceRequired: Boolean | None
    AddNetworkLoadBalancerArns: ValueStringList | None
    RemoveNetworkLoadBalancerArns: ValueStringList | None
    AddGatewayLoadBalancerArns: ValueStringList | None
    RemoveGatewayLoadBalancerArns: ValueStringList | None
    AddSupportedIpAddressTypes: ValueStringList | None
    RemoveSupportedIpAddressTypes: ValueStringList | None
    AddSupportedRegions: ValueStringList | None
    RemoveSupportedRegions: ValueStringList | None


class ModifyVpcEndpointServiceConfigurationResult(TypedDict, total=False):
    Return: Boolean | None


class ModifyVpcEndpointServicePayerResponsibilityRequest(ServiceRequest):
    DryRun: Boolean | None
    ServiceId: VpcEndpointServiceId
    PayerResponsibility: PayerResponsibility


class ModifyVpcEndpointServicePayerResponsibilityResult(TypedDict, total=False):
    ReturnValue: Boolean | None


class ModifyVpcEndpointServicePermissionsRequest(ServiceRequest):
    DryRun: Boolean | None
    ServiceId: VpcEndpointServiceId
    AddAllowedPrincipals: ValueStringList | None
    RemoveAllowedPrincipals: ValueStringList | None


class ModifyVpcEndpointServicePermissionsResult(TypedDict, total=False):
    AddedPrincipals: AddedPrincipalSet | None
    ReturnValue: Boolean | None


class PeeringConnectionOptionsRequest(TypedDict, total=False):
    AllowDnsResolutionFromRemoteVpc: Boolean | None
    AllowEgressFromLocalClassicLinkToRemoteVpc: Boolean | None
    AllowEgressFromLocalVpcToRemoteClassicLink: Boolean | None


class ModifyVpcPeeringConnectionOptionsRequest(ServiceRequest):
    AccepterPeeringConnectionOptions: PeeringConnectionOptionsRequest | None
    DryRun: Boolean | None
    RequesterPeeringConnectionOptions: PeeringConnectionOptionsRequest | None
    VpcPeeringConnectionId: VpcPeeringConnectionId


class PeeringConnectionOptions(TypedDict, total=False):
    AllowDnsResolutionFromRemoteVpc: Boolean | None
    AllowEgressFromLocalClassicLinkToRemoteVpc: Boolean | None
    AllowEgressFromLocalVpcToRemoteClassicLink: Boolean | None


class ModifyVpcPeeringConnectionOptionsResult(TypedDict, total=False):
    AccepterPeeringConnectionOptions: PeeringConnectionOptions | None
    RequesterPeeringConnectionOptions: PeeringConnectionOptions | None


class ModifyVpcTenancyRequest(ServiceRequest):
    VpcId: VpcId
    InstanceTenancy: VpcTenancy
    DryRun: Boolean | None


class ModifyVpcTenancyResult(TypedDict, total=False):
    ReturnValue: Boolean | None


class ModifyVpnConnectionOptionsRequest(ServiceRequest):
    VpnConnectionId: VpnConnectionId
    LocalIpv4NetworkCidr: String | None
    RemoteIpv4NetworkCidr: String | None
    LocalIpv6NetworkCidr: String | None
    RemoteIpv6NetworkCidr: String | None
    DryRun: Boolean | None


class ModifyVpnConnectionOptionsResult(TypedDict, total=False):
    VpnConnection: VpnConnection | None


class ModifyVpnConnectionRequest(ServiceRequest):
    VpnConnectionId: VpnConnectionId
    TransitGatewayId: TransitGatewayId | None
    CustomerGatewayId: CustomerGatewayId | None
    VpnGatewayId: VpnGatewayId | None
    DryRun: Boolean | None


class ModifyVpnConnectionResult(TypedDict, total=False):
    VpnConnection: VpnConnection | None


class ModifyVpnTunnelCertificateRequest(ServiceRequest):
    VpnConnectionId: VpnConnectionId
    VpnTunnelOutsideIpAddress: String
    DryRun: Boolean | None


class ModifyVpnTunnelCertificateResult(TypedDict, total=False):
    VpnConnection: VpnConnection | None


class ModifyVpnTunnelOptionsSpecification(TypedDict, total=False):
    TunnelInsideCidr: String | None
    TunnelInsideIpv6Cidr: String | None
    PreSharedKey: preSharedKey | None
    Phase1LifetimeSeconds: Integer | None
    Phase2LifetimeSeconds: Integer | None
    RekeyMarginTimeSeconds: Integer | None
    RekeyFuzzPercentage: Integer | None
    ReplayWindowSize: Integer | None
    DPDTimeoutSeconds: Integer | None
    DPDTimeoutAction: String | None
    Phase1EncryptionAlgorithms: Phase1EncryptionAlgorithmsRequestList | None
    Phase2EncryptionAlgorithms: Phase2EncryptionAlgorithmsRequestList | None
    Phase1IntegrityAlgorithms: Phase1IntegrityAlgorithmsRequestList | None
    Phase2IntegrityAlgorithms: Phase2IntegrityAlgorithmsRequestList | None
    Phase1DHGroupNumbers: Phase1DHGroupNumbersRequestList | None
    Phase2DHGroupNumbers: Phase2DHGroupNumbersRequestList | None
    IKEVersions: IKEVersionsRequestList | None
    StartupAction: String | None
    LogOptions: VpnTunnelLogOptionsSpecification | None
    EnableTunnelLifecycleControl: Boolean | None


class ModifyVpnTunnelOptionsRequest(ServiceRequest):
    VpnConnectionId: VpnConnectionId
    VpnTunnelOutsideIpAddress: String
    TunnelOptions: ModifyVpnTunnelOptionsSpecification
    DryRun: Boolean | None
    SkipTunnelReplacement: Boolean | None
    PreSharedKeyStorage: String | None


class ModifyVpnTunnelOptionsResult(TypedDict, total=False):
    VpnConnection: VpnConnection | None


class MonitorInstancesRequest(ServiceRequest):
    InstanceIds: InstanceIdStringList
    DryRun: Boolean | None


class MonitorInstancesResult(TypedDict, total=False):
    InstanceMonitorings: InstanceMonitoringList | None


class MoveAddressToVpcRequest(ServiceRequest):
    DryRun: Boolean | None
    PublicIp: String


class MoveAddressToVpcResult(TypedDict, total=False):
    AllocationId: String | None
    Status: Status | None


class MoveByoipCidrToIpamRequest(ServiceRequest):
    DryRun: Boolean | None
    Cidr: String
    IpamPoolId: IpamPoolId
    IpamPoolOwner: String


class MoveByoipCidrToIpamResult(TypedDict, total=False):
    ByoipCidr: ByoipCidr | None


class MoveCapacityReservationInstancesRequest(ServiceRequest):
    DryRun: Boolean | None
    ClientToken: String | None
    SourceCapacityReservationId: CapacityReservationId
    DestinationCapacityReservationId: CapacityReservationId
    InstanceCount: Integer


class MoveCapacityReservationInstancesResult(TypedDict, total=False):
    SourceCapacityReservation: CapacityReservation | None
    DestinationCapacityReservation: CapacityReservation | None
    InstanceCount: Integer | None


class PrivateDnsNameOptionsRequest(TypedDict, total=False):
    HostnameType: HostnameType | None
    EnableResourceNameDnsARecord: Boolean | None
    EnableResourceNameDnsAAAARecord: Boolean | None


class ScheduledInstancesPrivateIpAddressConfig(TypedDict, total=False):
    Primary: Boolean | None
    PrivateIpAddress: String | None


PrivateIpAddressConfigSet = list[ScheduledInstancesPrivateIpAddressConfig]


class ProvisionByoipCidrRequest(ServiceRequest):
    Cidr: String
    CidrAuthorizationContext: CidrAuthorizationContext | None
    PubliclyAdvertisable: Boolean | None
    Description: String | None
    DryRun: Boolean | None
    PoolTagSpecifications: TagSpecificationList | None
    MultiRegion: Boolean | None
    NetworkBorderGroup: String | None


class ProvisionByoipCidrResult(TypedDict, total=False):
    ByoipCidr: ByoipCidr | None


class ProvisionIpamByoasnRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamId: IpamId
    Asn: String
    AsnAuthorizationContext: AsnAuthorizationContext


class ProvisionIpamByoasnResult(TypedDict, total=False):
    Byoasn: Byoasn | None


class ProvisionIpamPoolCidrRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPoolId: IpamPoolId
    Cidr: String | None
    CidrAuthorizationContext: IpamCidrAuthorizationContext | None
    NetmaskLength: Integer | None
    ClientToken: String | None
    VerificationMethod: VerificationMethod | None
    IpamExternalResourceVerificationTokenId: IpamExternalResourceVerificationTokenId | None


class ProvisionIpamPoolCidrResult(TypedDict, total=False):
    IpamPoolCidr: IpamPoolCidr | None


class ProvisionPublicIpv4PoolCidrRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPoolId: IpamPoolId
    PoolId: Ipv4PoolEc2Id
    NetmaskLength: Integer
    NetworkBorderGroup: String | None


class ProvisionPublicIpv4PoolCidrResult(TypedDict, total=False):
    PoolId: Ipv4PoolEc2Id | None
    PoolAddressRange: PublicIpv4PoolRange | None


class PurchaseCapacityBlockExtensionRequest(ServiceRequest):
    CapacityBlockExtensionOfferingId: OfferingId
    CapacityReservationId: CapacityReservationId
    DryRun: Boolean | None


class PurchaseCapacityBlockExtensionResult(TypedDict, total=False):
    CapacityBlockExtensions: CapacityBlockExtensionSet | None


class PurchaseCapacityBlockRequest(ServiceRequest):
    DryRun: Boolean | None
    TagSpecifications: TagSpecificationList | None
    CapacityBlockOfferingId: OfferingId
    InstancePlatform: CapacityReservationInstancePlatform


class PurchaseCapacityBlockResult(TypedDict, total=False):
    CapacityReservation: CapacityReservation | None
    CapacityBlocks: CapacityBlockSet | None


class PurchaseHostReservationRequest(ServiceRequest):
    ClientToken: String | None
    CurrencyCode: CurrencyCodeValues | None
    HostIdSet: RequestHostIdSet
    LimitPrice: String | None
    OfferingId: OfferingId
    TagSpecifications: TagSpecificationList | None


class PurchaseHostReservationResult(TypedDict, total=False):
    ClientToken: String | None
    CurrencyCode: CurrencyCodeValues | None
    Purchase: PurchaseSet | None
    TotalHourlyPrice: String | None
    TotalUpfrontPrice: String | None


class PurchaseRequest(TypedDict, total=False):
    InstanceCount: Integer
    PurchaseToken: String


PurchaseRequestSet = list[PurchaseRequest]


class ReservedInstanceLimitPrice(TypedDict, total=False):
    Amount: Double | None
    CurrencyCode: CurrencyCodeValues | None


class PurchaseReservedInstancesOfferingRequest(ServiceRequest):
    InstanceCount: Integer
    ReservedInstancesOfferingId: ReservedInstancesOfferingId
    PurchaseTime: DateTime | None
    DryRun: Boolean | None
    LimitPrice: ReservedInstanceLimitPrice | None


class PurchaseReservedInstancesOfferingResult(TypedDict, total=False):
    ReservedInstancesId: String | None


class PurchaseScheduledInstancesRequest(ServiceRequest):
    ClientToken: String | None
    DryRun: Boolean | None
    PurchaseRequests: PurchaseRequestSet


PurchasedScheduledInstanceSet = list[ScheduledInstance]


class PurchaseScheduledInstancesResult(TypedDict, total=False):
    ScheduledInstanceSet: PurchasedScheduledInstanceSet | None


ReasonCodesList = list[ReportInstanceReasonCodes]


class RebootInstancesRequest(ServiceRequest):
    InstanceIds: InstanceIdStringList
    DryRun: Boolean | None


class RegisterImageRequest(ServiceRequest):
    ImageLocation: String | None
    BillingProducts: BillingProductList | None
    BootMode: BootModeValues | None
    TpmSupport: TpmSupportValues | None
    UefiData: StringType | None
    ImdsSupport: ImdsSupportValues | None
    TagSpecifications: TagSpecificationList | None
    DryRun: Boolean | None
    Name: String
    Description: String | None
    Architecture: ArchitectureValues | None
    KernelId: KernelId | None
    RamdiskId: RamdiskId | None
    RootDeviceName: String | None
    BlockDeviceMappings: BlockDeviceMappingRequestList | None
    VirtualizationType: String | None
    SriovNetSupport: String | None
    EnaSupport: Boolean | None


class RegisterImageResult(TypedDict, total=False):
    ImageId: String | None


class RegisterInstanceTagAttributeRequest(TypedDict, total=False):
    IncludeAllTagsOfInstance: Boolean | None
    InstanceTagKeys: InstanceTagKeySet | None


class RegisterInstanceEventNotificationAttributesRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceTagAttribute: RegisterInstanceTagAttributeRequest


class RegisterInstanceEventNotificationAttributesResult(TypedDict, total=False):
    InstanceTagAttribute: InstanceTagNotificationAttribute | None


class RegisterTransitGatewayMulticastGroupMembersRequest(ServiceRequest):
    TransitGatewayMulticastDomainId: TransitGatewayMulticastDomainId
    GroupIpAddress: String | None
    NetworkInterfaceIds: TransitGatewayNetworkInterfaceIdList
    DryRun: Boolean | None


class TransitGatewayMulticastRegisteredGroupMembers(TypedDict, total=False):
    TransitGatewayMulticastDomainId: String | None
    RegisteredNetworkInterfaceIds: ValueStringList | None
    GroupIpAddress: String | None


class RegisterTransitGatewayMulticastGroupMembersResult(TypedDict, total=False):
    RegisteredMulticastGroupMembers: TransitGatewayMulticastRegisteredGroupMembers | None


class RegisterTransitGatewayMulticastGroupSourcesRequest(ServiceRequest):
    TransitGatewayMulticastDomainId: TransitGatewayMulticastDomainId
    GroupIpAddress: String | None
    NetworkInterfaceIds: TransitGatewayNetworkInterfaceIdList
    DryRun: Boolean | None


class TransitGatewayMulticastRegisteredGroupSources(TypedDict, total=False):
    TransitGatewayMulticastDomainId: String | None
    RegisteredNetworkInterfaceIds: ValueStringList | None
    GroupIpAddress: String | None


class RegisterTransitGatewayMulticastGroupSourcesResult(TypedDict, total=False):
    RegisteredMulticastGroupSources: TransitGatewayMulticastRegisteredGroupSources | None


class RejectCapacityReservationBillingOwnershipRequest(ServiceRequest):
    DryRun: Boolean | None
    CapacityReservationId: CapacityReservationId


class RejectCapacityReservationBillingOwnershipResult(TypedDict, total=False):
    Return: Boolean | None


class RejectTransitGatewayMulticastDomainAssociationsRequest(ServiceRequest):
    TransitGatewayMulticastDomainId: TransitGatewayMulticastDomainId | None
    TransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    SubnetIds: ValueStringList | None
    DryRun: Boolean | None


class RejectTransitGatewayMulticastDomainAssociationsResult(TypedDict, total=False):
    Associations: TransitGatewayMulticastDomainAssociations | None


class RejectTransitGatewayPeeringAttachmentRequest(ServiceRequest):
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    DryRun: Boolean | None


class RejectTransitGatewayPeeringAttachmentResult(TypedDict, total=False):
    TransitGatewayPeeringAttachment: TransitGatewayPeeringAttachment | None


class RejectTransitGatewayVpcAttachmentRequest(ServiceRequest):
    TransitGatewayAttachmentId: TransitGatewayAttachmentId
    DryRun: Boolean | None


class RejectTransitGatewayVpcAttachmentResult(TypedDict, total=False):
    TransitGatewayVpcAttachment: TransitGatewayVpcAttachment | None


class RejectVpcEndpointConnectionsRequest(ServiceRequest):
    DryRun: Boolean | None
    ServiceId: VpcEndpointServiceId
    VpcEndpointIds: VpcEndpointIdList


class RejectVpcEndpointConnectionsResult(TypedDict, total=False):
    Unsuccessful: UnsuccessfulItemSet | None


class RejectVpcPeeringConnectionRequest(ServiceRequest):
    DryRun: Boolean | None
    VpcPeeringConnectionId: VpcPeeringConnectionId


class RejectVpcPeeringConnectionResult(TypedDict, total=False):
    Return: Boolean | None


class ReleaseAddressRequest(ServiceRequest):
    AllocationId: AllocationId | None
    PublicIp: String | None
    NetworkBorderGroup: String | None
    DryRun: Boolean | None


class ReleaseHostsRequest(ServiceRequest):
    HostIds: RequestHostIdList


class ReleaseHostsResult(TypedDict, total=False):
    Successful: ResponseHostIdList | None
    Unsuccessful: UnsuccessfulItemList | None


class ReleaseIpamPoolAllocationRequest(ServiceRequest):
    DryRun: Boolean | None
    IpamPoolId: IpamPoolId
    Cidr: String
    IpamPoolAllocationId: IpamPoolAllocationId


class ReleaseIpamPoolAllocationResult(TypedDict, total=False):
    Success: Boolean | None


class ReplaceIamInstanceProfileAssociationRequest(ServiceRequest):
    IamInstanceProfile: IamInstanceProfileSpecification
    AssociationId: IamInstanceProfileAssociationId


class ReplaceIamInstanceProfileAssociationResult(TypedDict, total=False):
    IamInstanceProfileAssociation: IamInstanceProfileAssociation | None


class ReplaceImageCriteriaInAllowedImagesSettingsRequest(ServiceRequest):
    ImageCriteria: ImageCriterionRequestList | None
    DryRun: Boolean | None


class ReplaceImageCriteriaInAllowedImagesSettingsResult(TypedDict, total=False):
    ReturnValue: Boolean | None


class ReplaceNetworkAclAssociationRequest(ServiceRequest):
    DryRun: Boolean | None
    AssociationId: NetworkAclAssociationId
    NetworkAclId: NetworkAclId


class ReplaceNetworkAclAssociationResult(TypedDict, total=False):
    NewAssociationId: String | None


class ReplaceNetworkAclEntryRequest(ServiceRequest):
    DryRun: Boolean | None
    NetworkAclId: NetworkAclId
    RuleNumber: Integer
    Protocol: String
    RuleAction: RuleAction
    Egress: Boolean
    CidrBlock: String | None
    Ipv6CidrBlock: String | None
    IcmpTypeCode: IcmpTypeCode | None
    PortRange: PortRange | None


class ReplaceRouteRequest(ServiceRequest):
    DestinationPrefixListId: PrefixListResourceId | None
    VpcEndpointId: VpcEndpointId | None
    LocalTarget: Boolean | None
    TransitGatewayId: TransitGatewayId | None
    LocalGatewayId: LocalGatewayId | None
    CarrierGatewayId: CarrierGatewayId | None
    CoreNetworkArn: CoreNetworkArn | None
    OdbNetworkArn: OdbNetworkArn | None
    DryRun: Boolean | None
    RouteTableId: RouteTableId
    DestinationCidrBlock: String | None
    GatewayId: RouteGatewayId | None
    DestinationIpv6CidrBlock: String | None
    EgressOnlyInternetGatewayId: EgressOnlyInternetGatewayId | None
    InstanceId: InstanceId | None
    NetworkInterfaceId: NetworkInterfaceId | None
    VpcPeeringConnectionId: VpcPeeringConnectionId | None
    NatGatewayId: NatGatewayId | None


class ReplaceRouteTableAssociationRequest(ServiceRequest):
    DryRun: Boolean | None
    AssociationId: RouteTableAssociationId
    RouteTableId: RouteTableId


class ReplaceRouteTableAssociationResult(TypedDict, total=False):
    NewAssociationId: String | None
    AssociationState: RouteTableAssociationState | None


class ReplaceTransitGatewayRouteRequest(ServiceRequest):
    DestinationCidrBlock: String
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    TransitGatewayAttachmentId: TransitGatewayAttachmentId | None
    Blackhole: Boolean | None
    DryRun: Boolean | None


class ReplaceTransitGatewayRouteResult(TypedDict, total=False):
    Route: TransitGatewayRoute | None


class ReplaceVpnTunnelRequest(ServiceRequest):
    VpnConnectionId: VpnConnectionId
    VpnTunnelOutsideIpAddress: String
    ApplyPendingMaintenance: Boolean | None
    DryRun: Boolean | None


class ReplaceVpnTunnelResult(TypedDict, total=False):
    Return: Boolean | None


class ReportInstanceStatusRequest(ServiceRequest):
    DryRun: Boolean | None
    Instances: InstanceIdStringList
    Status: ReportStatusType
    StartTime: DateTime | None
    EndTime: DateTime | None
    ReasonCodes: ReasonCodesList
    Description: ReportInstanceStatusRequestDescription | None


class RequestSpotFleetRequest(ServiceRequest):
    DryRun: Boolean | None
    SpotFleetRequestConfig: SpotFleetRequestConfigData


class RequestSpotFleetResponse(TypedDict, total=False):
    SpotFleetRequestId: String | None


RequestSpotLaunchSpecificationSecurityGroupList = list[String]
RequestSpotLaunchSpecificationSecurityGroupIdList = list[SecurityGroupId]


class RequestSpotLaunchSpecification(TypedDict, total=False):
    SecurityGroupIds: RequestSpotLaunchSpecificationSecurityGroupIdList | None
    SecurityGroups: RequestSpotLaunchSpecificationSecurityGroupList | None
    AddressingType: String | None
    BlockDeviceMappings: BlockDeviceMappingList | None
    EbsOptimized: Boolean | None
    IamInstanceProfile: IamInstanceProfileSpecification | None
    ImageId: ImageId | None
    InstanceType: InstanceType | None
    KernelId: KernelId | None
    KeyName: KeyPairNameWithResolver | None
    Monitoring: RunInstancesMonitoringEnabled | None
    NetworkInterfaces: InstanceNetworkInterfaceSpecificationList | None
    Placement: SpotPlacement | None
    RamdiskId: RamdiskId | None
    SubnetId: SubnetId | None
    UserData: SensitiveUserData | None


class RequestSpotInstancesRequest(ServiceRequest):
    LaunchSpecification: RequestSpotLaunchSpecification | None
    TagSpecifications: TagSpecificationList | None
    InstanceInterruptionBehavior: InstanceInterruptionBehavior | None
    DryRun: Boolean | None
    SpotPrice: String | None
    ClientToken: String | None
    InstanceCount: Integer | None
    Type: SpotInstanceType | None
    ValidFrom: DateTime | None
    ValidUntil: DateTime | None
    LaunchGroup: String | None
    AvailabilityZoneGroup: String | None
    BlockDurationMinutes: Integer | None


class RequestSpotInstancesResult(TypedDict, total=False):
    SpotInstanceRequests: SpotInstanceRequestList | None


class ResetAddressAttributeRequest(ServiceRequest):
    AllocationId: AllocationId
    Attribute: AddressAttributeName
    DryRun: Boolean | None


class ResetAddressAttributeResult(TypedDict, total=False):
    Address: AddressAttribute | None


class ResetEbsDefaultKmsKeyIdRequest(ServiceRequest):
    DryRun: Boolean | None


class ResetEbsDefaultKmsKeyIdResult(TypedDict, total=False):
    KmsKeyId: String | None


class ResetFpgaImageAttributeRequest(ServiceRequest):
    DryRun: Boolean | None
    FpgaImageId: FpgaImageId
    Attribute: ResetFpgaImageAttributeName | None


class ResetFpgaImageAttributeResult(TypedDict, total=False):
    Return: Boolean | None


class ResetImageAttributeRequest(ServiceRequest):
    Attribute: ResetImageAttributeName
    ImageId: ImageId
    DryRun: Boolean | None


class ResetInstanceAttributeRequest(ServiceRequest):
    DryRun: Boolean | None
    InstanceId: InstanceId
    Attribute: InstanceAttributeName


class ResetNetworkInterfaceAttributeRequest(ServiceRequest):
    DryRun: Boolean | None
    NetworkInterfaceId: NetworkInterfaceId
    SourceDestCheck: String | None


class ResetSnapshotAttributeRequest(ServiceRequest):
    Attribute: SnapshotAttributeName
    SnapshotId: SnapshotId
    DryRun: Boolean | None


class RestoreAddressToClassicRequest(ServiceRequest):
    DryRun: Boolean | None
    PublicIp: String


class RestoreAddressToClassicResult(TypedDict, total=False):
    PublicIp: String | None
    Status: Status | None


class RestoreImageFromRecycleBinRequest(ServiceRequest):
    ImageId: ImageId
    DryRun: Boolean | None


class RestoreImageFromRecycleBinResult(TypedDict, total=False):
    Return: Boolean | None


class RestoreManagedPrefixListVersionRequest(ServiceRequest):
    DryRun: Boolean | None
    PrefixListId: PrefixListResourceId
    PreviousVersion: Long
    CurrentVersion: Long


class RestoreManagedPrefixListVersionResult(TypedDict, total=False):
    PrefixList: ManagedPrefixList | None


class RestoreSnapshotFromRecycleBinRequest(ServiceRequest):
    SnapshotId: SnapshotId
    DryRun: Boolean | None


class RestoreSnapshotFromRecycleBinResult(TypedDict, total=False):
    SnapshotId: String | None
    OutpostArn: String | None
    Description: String | None
    Encrypted: Boolean | None
    OwnerId: String | None
    Progress: String | None
    StartTime: MillisecondDateTime | None
    State: SnapshotState | None
    VolumeId: String | None
    VolumeSize: Integer | None
    SseType: SSEType | None


class RestoreSnapshotTierRequest(ServiceRequest):
    SnapshotId: SnapshotId
    TemporaryRestoreDays: RestoreSnapshotTierRequestTemporaryRestoreDays | None
    PermanentRestore: Boolean | None
    DryRun: Boolean | None


class RestoreSnapshotTierResult(TypedDict, total=False):
    SnapshotId: String | None
    RestoreStartTime: MillisecondDateTime | None
    RestoreDuration: Integer | None
    IsPermanentRestore: Boolean | None


class RestoreVolumeFromRecycleBinRequest(ServiceRequest):
    VolumeId: VolumeId
    DryRun: Boolean | None


class RestoreVolumeFromRecycleBinResult(TypedDict, total=False):
    Return: Boolean | None


class RevokeClientVpnIngressRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    TargetNetworkCidr: String
    AccessGroupId: String | None
    RevokeAllGroups: Boolean | None
    DryRun: Boolean | None


class RevokeClientVpnIngressResult(TypedDict, total=False):
    Status: ClientVpnAuthorizationRuleStatus | None


class RevokeSecurityGroupEgressRequest(ServiceRequest):
    SecurityGroupRuleIds: SecurityGroupRuleIdList | None
    DryRun: Boolean | None
    GroupId: SecurityGroupId
    SourceSecurityGroupName: String | None
    SourceSecurityGroupOwnerId: String | None
    IpProtocol: String | None
    FromPort: Integer | None
    ToPort: Integer | None
    CidrIp: String | None
    IpPermissions: IpPermissionList | None


class RevokedSecurityGroupRule(TypedDict, total=False):
    SecurityGroupRuleId: SecurityGroupRuleId | None
    GroupId: SecurityGroupId | None
    IsEgress: Boolean | None
    IpProtocol: String | None
    FromPort: Integer | None
    ToPort: Integer | None
    CidrIpv4: String | None
    CidrIpv6: String | None
    PrefixListId: PrefixListResourceId | None
    ReferencedGroupId: SecurityGroupId | None
    Description: String | None


RevokedSecurityGroupRuleList = list[RevokedSecurityGroupRule]


class RevokeSecurityGroupEgressResult(TypedDict, total=False):
    Return: Boolean | None
    UnknownIpPermissions: IpPermissionList | None
    RevokedSecurityGroupRules: RevokedSecurityGroupRuleList | None


class RevokeSecurityGroupIngressRequest(ServiceRequest):
    CidrIp: String | None
    FromPort: Integer | None
    GroupId: SecurityGroupId | None
    GroupName: SecurityGroupName | None
    IpPermissions: IpPermissionList | None
    IpProtocol: String | None
    SourceSecurityGroupName: String | None
    SourceSecurityGroupOwnerId: String | None
    ToPort: Integer | None
    SecurityGroupRuleIds: SecurityGroupRuleIdList | None
    DryRun: Boolean | None


class RevokeSecurityGroupIngressResult(TypedDict, total=False):
    Return: Boolean | None
    UnknownIpPermissions: IpPermissionList | None
    RevokedSecurityGroupRules: RevokedSecurityGroupRuleList | None


class RunInstancesRequest(ServiceRequest):
    BlockDeviceMappings: BlockDeviceMappingRequestList | None
    ImageId: ImageId | None
    InstanceType: InstanceType | None
    Ipv6AddressCount: Integer | None
    Ipv6Addresses: InstanceIpv6AddressList | None
    KernelId: KernelId | None
    KeyName: KeyPairName | None
    MaxCount: Integer
    MinCount: Integer
    Monitoring: RunInstancesMonitoringEnabled | None
    Placement: Placement | None
    RamdiskId: RamdiskId | None
    SecurityGroupIds: SecurityGroupIdStringList | None
    SecurityGroups: SecurityGroupStringList | None
    SubnetId: SubnetId | None
    UserData: RunInstancesUserData | None
    ElasticGpuSpecification: ElasticGpuSpecifications | None
    ElasticInferenceAccelerators: ElasticInferenceAccelerators | None
    TagSpecifications: TagSpecificationList | None
    LaunchTemplate: LaunchTemplateSpecification | None
    InstanceMarketOptions: InstanceMarketOptionsRequest | None
    CreditSpecification: CreditSpecificationRequest | None
    CpuOptions: CpuOptionsRequest | None
    CapacityReservationSpecification: CapacityReservationSpecification | None
    HibernationOptions: HibernationOptionsRequest | None
    LicenseSpecifications: LicenseSpecificationListRequest | None
    MetadataOptions: InstanceMetadataOptionsRequest | None
    EnclaveOptions: EnclaveOptionsRequest | None
    PrivateDnsNameOptions: PrivateDnsNameOptionsRequest | None
    MaintenanceOptions: InstanceMaintenanceOptionsRequest | None
    DisableApiStop: Boolean | None
    EnablePrimaryIpv6: Boolean | None
    NetworkPerformanceOptions: InstanceNetworkPerformanceOptionsRequest | None
    Operator: OperatorRequest | None
    DryRun: Boolean | None
    DisableApiTermination: Boolean | None
    InstanceInitiatedShutdownBehavior: ShutdownBehavior | None
    PrivateIpAddress: String | None
    ClientToken: String | None
    AdditionalInfo: String | None
    NetworkInterfaces: InstanceNetworkInterfaceSpecificationList | None
    IamInstanceProfile: IamInstanceProfileSpecification | None
    EbsOptimized: Boolean | None


ScheduledInstancesSecurityGroupIdSet = list[SecurityGroupId]


class ScheduledInstancesPlacement(TypedDict, total=False):
    AvailabilityZone: String | None
    GroupName: PlacementGroupName | None


class ScheduledInstancesIpv6Address(TypedDict, total=False):
    Ipv6Address: Ipv6Address | None


ScheduledInstancesIpv6AddressList = list[ScheduledInstancesIpv6Address]


class ScheduledInstancesNetworkInterface(TypedDict, total=False):
    AssociatePublicIpAddress: Boolean | None
    DeleteOnTermination: Boolean | None
    Description: String | None
    DeviceIndex: Integer | None
    Groups: ScheduledInstancesSecurityGroupIdSet | None
    Ipv6AddressCount: Integer | None
    Ipv6Addresses: ScheduledInstancesIpv6AddressList | None
    NetworkInterfaceId: NetworkInterfaceId | None
    PrivateIpAddress: String | None
    PrivateIpAddressConfigs: PrivateIpAddressConfigSet | None
    SecondaryPrivateIpAddressCount: Integer | None
    SubnetId: SubnetId | None


ScheduledInstancesNetworkInterfaceSet = list[ScheduledInstancesNetworkInterface]


class ScheduledInstancesMonitoring(TypedDict, total=False):
    Enabled: Boolean | None


class ScheduledInstancesIamInstanceProfile(TypedDict, total=False):
    Arn: String | None
    Name: String | None


class ScheduledInstancesEbs(TypedDict, total=False):
    DeleteOnTermination: Boolean | None
    Encrypted: Boolean | None
    Iops: Integer | None
    SnapshotId: SnapshotId | None
    VolumeSize: Integer | None
    VolumeType: String | None


class ScheduledInstancesBlockDeviceMapping(TypedDict, total=False):
    DeviceName: String | None
    Ebs: ScheduledInstancesEbs | None
    NoDevice: String | None
    VirtualName: String | None


ScheduledInstancesBlockDeviceMappingSet = list[ScheduledInstancesBlockDeviceMapping]


class ScheduledInstancesLaunchSpecification(TypedDict, total=False):
    BlockDeviceMappings: ScheduledInstancesBlockDeviceMappingSet | None
    EbsOptimized: Boolean | None
    IamInstanceProfile: ScheduledInstancesIamInstanceProfile | None
    ImageId: ImageId
    InstanceType: String | None
    KernelId: KernelId | None
    KeyName: KeyPairName | None
    Monitoring: ScheduledInstancesMonitoring | None
    NetworkInterfaces: ScheduledInstancesNetworkInterfaceSet | None
    Placement: ScheduledInstancesPlacement | None
    RamdiskId: RamdiskId | None
    SecurityGroupIds: ScheduledInstancesSecurityGroupIdSet | None
    SubnetId: SubnetId | None
    UserData: String | None


class RunScheduledInstancesRequest(ServiceRequest):
    ClientToken: String | None
    DryRun: Boolean | None
    InstanceCount: Integer | None
    LaunchSpecification: ScheduledInstancesLaunchSpecification
    ScheduledInstanceId: ScheduledInstanceId


class RunScheduledInstancesResult(TypedDict, total=False):
    InstanceIdSet: InstanceIdSet | None


class SearchLocalGatewayRoutesRequest(ServiceRequest):
    LocalGatewayRouteTableId: LocalGatewayRoutetableId
    Filters: FilterList | None
    MaxResults: MaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


class SearchLocalGatewayRoutesResult(TypedDict, total=False):
    Routes: LocalGatewayRouteList | None
    NextToken: String | None


class SearchTransitGatewayMulticastGroupsRequest(ServiceRequest):
    TransitGatewayMulticastDomainId: TransitGatewayMulticastDomainId
    Filters: FilterList | None
    MaxResults: TransitGatewayMaxResults | None
    NextToken: String | None
    DryRun: Boolean | None


class TransitGatewayMulticastGroup(TypedDict, total=False):
    GroupIpAddress: String | None
    TransitGatewayAttachmentId: String | None
    SubnetId: String | None
    ResourceId: String | None
    ResourceType: TransitGatewayAttachmentResourceType | None
    ResourceOwnerId: String | None
    NetworkInterfaceId: String | None
    GroupMember: Boolean | None
    GroupSource: Boolean | None
    MemberType: MembershipType | None
    SourceType: MembershipType | None


TransitGatewayMulticastGroupList = list[TransitGatewayMulticastGroup]


class SearchTransitGatewayMulticastGroupsResult(TypedDict, total=False):
    MulticastGroups: TransitGatewayMulticastGroupList | None
    NextToken: String | None


class SearchTransitGatewayRoutesRequest(ServiceRequest):
    TransitGatewayRouteTableId: TransitGatewayRouteTableId
    Filters: FilterList
    MaxResults: TransitGatewayMaxResults | None
    DryRun: Boolean | None


TransitGatewayRouteList = list[TransitGatewayRoute]


class SearchTransitGatewayRoutesResult(TypedDict, total=False):
    Routes: TransitGatewayRouteList | None
    AdditionalRoutesAvailable: Boolean | None


class SecurityGroupRuleDescription(TypedDict, total=False):
    SecurityGroupRuleId: String | None
    Description: String | None


SecurityGroupRuleDescriptionList = list[SecurityGroupRuleDescription]


class SendDiagnosticInterruptRequest(ServiceRequest):
    InstanceId: InstanceId
    DryRun: Boolean | None


class StartDeclarativePoliciesReportRequest(ServiceRequest):
    DryRun: Boolean | None
    S3Bucket: String
    S3Prefix: String | None
    TargetId: String
    TagSpecifications: TagSpecificationList | None


class StartDeclarativePoliciesReportResult(TypedDict, total=False):
    ReportId: String | None


class StartInstancesRequest(ServiceRequest):
    InstanceIds: InstanceIdStringList
    AdditionalInfo: String | None
    DryRun: Boolean | None


class StartInstancesResult(TypedDict, total=False):
    StartingInstances: InstanceStateChangeList | None


class StartNetworkInsightsAccessScopeAnalysisRequest(ServiceRequest):
    NetworkInsightsAccessScopeId: NetworkInsightsAccessScopeId
    DryRun: Boolean | None
    TagSpecifications: TagSpecificationList | None
    ClientToken: String


class StartNetworkInsightsAccessScopeAnalysisResult(TypedDict, total=False):
    NetworkInsightsAccessScopeAnalysis: NetworkInsightsAccessScopeAnalysis | None


class StartNetworkInsightsAnalysisRequest(ServiceRequest):
    NetworkInsightsPathId: NetworkInsightsPathId
    AdditionalAccounts: ValueStringList | None
    FilterInArns: ArnList | None
    FilterOutArns: ArnList | None
    DryRun: Boolean | None
    TagSpecifications: TagSpecificationList | None
    ClientToken: String


class StartNetworkInsightsAnalysisResult(TypedDict, total=False):
    NetworkInsightsAnalysis: NetworkInsightsAnalysis | None


class StartVpcEndpointServicePrivateDnsVerificationRequest(ServiceRequest):
    DryRun: Boolean | None
    ServiceId: VpcEndpointServiceId


class StartVpcEndpointServicePrivateDnsVerificationResult(TypedDict, total=False):
    ReturnValue: Boolean | None


class StopInstancesRequest(ServiceRequest):
    InstanceIds: InstanceIdStringList
    Hibernate: Boolean | None
    SkipOsShutdown: Boolean | None
    DryRun: Boolean | None
    Force: Boolean | None


class StopInstancesResult(TypedDict, total=False):
    StoppingInstances: InstanceStateChangeList | None


class TerminateClientVpnConnectionsRequest(ServiceRequest):
    ClientVpnEndpointId: ClientVpnEndpointId
    ConnectionId: String | None
    Username: String | None
    DryRun: Boolean | None


class TerminateConnectionStatus(TypedDict, total=False):
    ConnectionId: String | None
    PreviousStatus: ClientVpnConnectionStatus | None
    CurrentStatus: ClientVpnConnectionStatus | None


TerminateConnectionStatusSet = list[TerminateConnectionStatus]


class TerminateClientVpnConnectionsResult(TypedDict, total=False):
    ClientVpnEndpointId: String | None
    Username: String | None
    ConnectionStatuses: TerminateConnectionStatusSet | None


class TerminateInstancesRequest(ServiceRequest):
    InstanceIds: InstanceIdStringList
    Force: Boolean | None
    SkipOsShutdown: Boolean | None
    DryRun: Boolean | None


class TerminateInstancesResult(TypedDict, total=False):
    TerminatingInstances: InstanceStateChangeList | None


class UnassignIpv6AddressesRequest(ServiceRequest):
    Ipv6Prefixes: IpPrefixList | None
    NetworkInterfaceId: NetworkInterfaceId
    Ipv6Addresses: Ipv6AddressList | None


class UnassignIpv6AddressesResult(TypedDict, total=False):
    NetworkInterfaceId: String | None
    UnassignedIpv6Addresses: Ipv6AddressList | None
    UnassignedIpv6Prefixes: IpPrefixList | None


class UnassignPrivateIpAddressesRequest(ServiceRequest):
    Ipv4Prefixes: IpPrefixList | None
    NetworkInterfaceId: NetworkInterfaceId
    PrivateIpAddresses: PrivateIpAddressStringList | None


class UnassignPrivateNatGatewayAddressRequest(ServiceRequest):
    NatGatewayId: NatGatewayId
    PrivateIpAddresses: IpList
    MaxDrainDurationSeconds: DrainSeconds | None
    DryRun: Boolean | None


class UnassignPrivateNatGatewayAddressResult(TypedDict, total=False):
    NatGatewayId: NatGatewayId | None
    NatGatewayAddresses: NatGatewayAddressList | None


class UnlockSnapshotRequest(ServiceRequest):
    SnapshotId: SnapshotId
    DryRun: Boolean | None


class UnlockSnapshotResult(TypedDict, total=False):
    SnapshotId: String | None


class UnmonitorInstancesRequest(ServiceRequest):
    InstanceIds: InstanceIdStringList
    DryRun: Boolean | None


class UnmonitorInstancesResult(TypedDict, total=False):
    InstanceMonitorings: InstanceMonitoringList | None


class UpdateCapacityManagerOrganizationsAccessRequest(ServiceRequest):
    OrganizationsAccess: BoxedBoolean
    DryRun: Boolean | None
    ClientToken: String | None


class UpdateCapacityManagerOrganizationsAccessResult(TypedDict, total=False):
    CapacityManagerStatus: CapacityManagerStatus | None
    OrganizationsAccess: Boolean | None


class UpdateInterruptibleCapacityReservationAllocationRequest(ServiceRequest):
    CapacityReservationId: CapacityReservationId
    TargetInstanceCount: Integer
    DryRun: Boolean | None


class UpdateInterruptibleCapacityReservationAllocationResult(TypedDict, total=False):
    InterruptibleCapacityReservationId: CapacityReservationId | None
    SourceCapacityReservationId: CapacityReservationId | None
    InstanceCount: Integer | None
    TargetInstanceCount: Integer | None
    Status: InterruptibleCapacityReservationAllocationStatus | None
    InterruptionType: InterruptionType | None


class UpdateSecurityGroupRuleDescriptionsEgressRequest(ServiceRequest):
    DryRun: Boolean | None
    GroupId: SecurityGroupId | None
    GroupName: SecurityGroupName | None
    IpPermissions: IpPermissionList | None
    SecurityGroupRuleDescriptions: SecurityGroupRuleDescriptionList | None


class UpdateSecurityGroupRuleDescriptionsEgressResult(TypedDict, total=False):
    Return: Boolean | None


class UpdateSecurityGroupRuleDescriptionsIngressRequest(ServiceRequest):
    DryRun: Boolean | None
    GroupId: SecurityGroupId | None
    GroupName: SecurityGroupName | None
    IpPermissions: IpPermissionList | None
    SecurityGroupRuleDescriptions: SecurityGroupRuleDescriptionList | None


class UpdateSecurityGroupRuleDescriptionsIngressResult(TypedDict, total=False):
    Return: Boolean | None


class WithdrawByoipCidrRequest(ServiceRequest):
    Cidr: String
    DryRun: Boolean | None


class WithdrawByoipCidrResult(TypedDict, total=False):
    ByoipCidr: ByoipCidr | None


class Ec2Api:
    service: str = "ec2"
    version: str = "2016-11-15"

    @handler("AcceptAddressTransfer")
    def accept_address_transfer(
        self,
        context: RequestContext,
        address: String,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AcceptAddressTransferResult:
        raise NotImplementedError

    @handler("AcceptCapacityReservationBillingOwnership")
    def accept_capacity_reservation_billing_ownership(
        self,
        context: RequestContext,
        capacity_reservation_id: CapacityReservationId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AcceptCapacityReservationBillingOwnershipResult:
        raise NotImplementedError

    @handler("AcceptReservedInstancesExchangeQuote")
    def accept_reserved_instances_exchange_quote(
        self,
        context: RequestContext,
        reserved_instance_ids: ReservedInstanceIdSet,
        dry_run: Boolean | None = None,
        target_configurations: TargetConfigurationRequestSet | None = None,
        **kwargs,
    ) -> AcceptReservedInstancesExchangeQuoteResult:
        raise NotImplementedError

    @handler("AcceptTransitGatewayMulticastDomainAssociations")
    def accept_transit_gateway_multicast_domain_associations(
        self,
        context: RequestContext,
        transit_gateway_multicast_domain_id: TransitGatewayMulticastDomainId | None = None,
        transit_gateway_attachment_id: TransitGatewayAttachmentId | None = None,
        subnet_ids: ValueStringList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AcceptTransitGatewayMulticastDomainAssociationsResult:
        raise NotImplementedError

    @handler("AcceptTransitGatewayPeeringAttachment")
    def accept_transit_gateway_peering_attachment(
        self,
        context: RequestContext,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AcceptTransitGatewayPeeringAttachmentResult:
        raise NotImplementedError

    @handler("AcceptTransitGatewayVpcAttachment")
    def accept_transit_gateway_vpc_attachment(
        self,
        context: RequestContext,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AcceptTransitGatewayVpcAttachmentResult:
        raise NotImplementedError

    @handler("AcceptVpcEndpointConnections")
    def accept_vpc_endpoint_connections(
        self,
        context: RequestContext,
        service_id: VpcEndpointServiceId,
        vpc_endpoint_ids: VpcEndpointIdList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AcceptVpcEndpointConnectionsResult:
        raise NotImplementedError

    @handler("AcceptVpcPeeringConnection")
    def accept_vpc_peering_connection(
        self,
        context: RequestContext,
        vpc_peering_connection_id: VpcPeeringConnectionIdWithResolver,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AcceptVpcPeeringConnectionResult:
        raise NotImplementedError

    @handler("AdvertiseByoipCidr")
    def advertise_byoip_cidr(
        self,
        context: RequestContext,
        cidr: String,
        asn: String | None = None,
        dry_run: Boolean | None = None,
        network_border_group: String | None = None,
        **kwargs,
    ) -> AdvertiseByoipCidrResult:
        raise NotImplementedError

    @handler("AllocateAddress")
    def allocate_address(
        self,
        context: RequestContext,
        domain: DomainType | None = None,
        address: PublicIpAddress | None = None,
        public_ipv4_pool: Ipv4PoolEc2Id | None = None,
        network_border_group: String | None = None,
        customer_owned_ipv4_pool: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        ipam_pool_id: IpamPoolId | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AllocateAddressResult:
        raise NotImplementedError

    @handler("AllocateHosts")
    def allocate_hosts(
        self,
        context: RequestContext,
        instance_family: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        host_recovery: HostRecovery | None = None,
        outpost_arn: String | None = None,
        host_maintenance: HostMaintenance | None = None,
        asset_ids: AssetIdList | None = None,
        availability_zone_id: AvailabilityZoneId | None = None,
        auto_placement: AutoPlacement | None = None,
        client_token: String | None = None,
        instance_type: String | None = None,
        quantity: Integer | None = None,
        availability_zone: String | None = None,
        **kwargs,
    ) -> AllocateHostsResult:
        raise NotImplementedError

    @handler("AllocateIpamPoolCidr")
    def allocate_ipam_pool_cidr(
        self,
        context: RequestContext,
        ipam_pool_id: IpamPoolId,
        dry_run: Boolean | None = None,
        cidr: String | None = None,
        netmask_length: Integer | None = None,
        client_token: String | None = None,
        description: String | None = None,
        preview_next_cidr: Boolean | None = None,
        allowed_cidrs: IpamPoolAllocationAllowedCidrs | None = None,
        disallowed_cidrs: IpamPoolAllocationDisallowedCidrs | None = None,
        **kwargs,
    ) -> AllocateIpamPoolCidrResult:
        raise NotImplementedError

    @handler("ApplySecurityGroupsToClientVpnTargetNetwork")
    def apply_security_groups_to_client_vpn_target_network(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        vpc_id: VpcId,
        security_group_ids: ClientVpnSecurityGroupIdSet,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ApplySecurityGroupsToClientVpnTargetNetworkResult:
        raise NotImplementedError

    @handler("AssignIpv6Addresses")
    def assign_ipv6_addresses(
        self,
        context: RequestContext,
        network_interface_id: NetworkInterfaceId,
        ipv6_prefix_count: Integer | None = None,
        ipv6_prefixes: IpPrefixList | None = None,
        ipv6_addresses: Ipv6AddressList | None = None,
        ipv6_address_count: Integer | None = None,
        **kwargs,
    ) -> AssignIpv6AddressesResult:
        raise NotImplementedError

    @handler("AssignPrivateIpAddresses")
    def assign_private_ip_addresses(
        self,
        context: RequestContext,
        network_interface_id: NetworkInterfaceId,
        ipv4_prefixes: IpPrefixList | None = None,
        ipv4_prefix_count: Integer | None = None,
        private_ip_addresses: PrivateIpAddressStringList | None = None,
        secondary_private_ip_address_count: Integer | None = None,
        allow_reassignment: Boolean | None = None,
        **kwargs,
    ) -> AssignPrivateIpAddressesResult:
        raise NotImplementedError

    @handler("AssignPrivateNatGatewayAddress")
    def assign_private_nat_gateway_address(
        self,
        context: RequestContext,
        nat_gateway_id: NatGatewayId,
        private_ip_addresses: IpList | None = None,
        private_ip_address_count: PrivateIpAddressCount | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AssignPrivateNatGatewayAddressResult:
        raise NotImplementedError

    @handler("AssociateAddress")
    def associate_address(
        self,
        context: RequestContext,
        allocation_id: AllocationId | None = None,
        instance_id: InstanceId | None = None,
        public_ip: EipAllocationPublicIp | None = None,
        dry_run: Boolean | None = None,
        network_interface_id: NetworkInterfaceId | None = None,
        private_ip_address: String | None = None,
        allow_reassociation: Boolean | None = None,
        **kwargs,
    ) -> AssociateAddressResult:
        raise NotImplementedError

    @handler("AssociateCapacityReservationBillingOwner")
    def associate_capacity_reservation_billing_owner(
        self,
        context: RequestContext,
        capacity_reservation_id: CapacityReservationId,
        unused_reservation_billing_owner_id: AccountID,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AssociateCapacityReservationBillingOwnerResult:
        raise NotImplementedError

    @handler("AssociateClientVpnTargetNetwork")
    def associate_client_vpn_target_network(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        subnet_id: SubnetId,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AssociateClientVpnTargetNetworkResult:
        raise NotImplementedError

    @handler("AssociateDhcpOptions")
    def associate_dhcp_options(
        self,
        context: RequestContext,
        dhcp_options_id: DefaultingDhcpOptionsId,
        vpc_id: VpcId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("AssociateEnclaveCertificateIamRole")
    def associate_enclave_certificate_iam_role(
        self,
        context: RequestContext,
        certificate_arn: CertificateId,
        role_arn: RoleId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AssociateEnclaveCertificateIamRoleResult:
        raise NotImplementedError

    @handler("AssociateIamInstanceProfile")
    def associate_iam_instance_profile(
        self,
        context: RequestContext,
        iam_instance_profile: IamInstanceProfileSpecification,
        instance_id: InstanceId,
        **kwargs,
    ) -> AssociateIamInstanceProfileResult:
        raise NotImplementedError

    @handler("AssociateInstanceEventWindow")
    def associate_instance_event_window(
        self,
        context: RequestContext,
        instance_event_window_id: InstanceEventWindowId,
        association_target: InstanceEventWindowAssociationRequest,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AssociateInstanceEventWindowResult:
        raise NotImplementedError

    @handler("AssociateIpamByoasn")
    def associate_ipam_byoasn(
        self,
        context: RequestContext,
        asn: String,
        cidr: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AssociateIpamByoasnResult:
        raise NotImplementedError

    @handler("AssociateIpamResourceDiscovery")
    def associate_ipam_resource_discovery(
        self,
        context: RequestContext,
        ipam_id: IpamId,
        ipam_resource_discovery_id: IpamResourceDiscoveryId,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> AssociateIpamResourceDiscoveryResult:
        raise NotImplementedError

    @handler("AssociateNatGatewayAddress")
    def associate_nat_gateway_address(
        self,
        context: RequestContext,
        nat_gateway_id: NatGatewayId,
        allocation_ids: AllocationIdList,
        private_ip_addresses: IpList | None = None,
        dry_run: Boolean | None = None,
        availability_zone: AvailabilityZoneName | None = None,
        availability_zone_id: AvailabilityZoneId | None = None,
        **kwargs,
    ) -> AssociateNatGatewayAddressResult:
        raise NotImplementedError

    @handler("AssociateRouteServer")
    def associate_route_server(
        self,
        context: RequestContext,
        route_server_id: RouteServerId,
        vpc_id: VpcId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AssociateRouteServerResult:
        raise NotImplementedError

    @handler("AssociateRouteTable")
    def associate_route_table(
        self,
        context: RequestContext,
        route_table_id: RouteTableId,
        gateway_id: RouteGatewayId | None = None,
        public_ipv4_pool: Ipv4PoolEc2Id | None = None,
        dry_run: Boolean | None = None,
        subnet_id: SubnetId | None = None,
        **kwargs,
    ) -> AssociateRouteTableResult:
        raise NotImplementedError

    @handler("AssociateSecurityGroupVpc")
    def associate_security_group_vpc(
        self,
        context: RequestContext,
        group_id: SecurityGroupId,
        vpc_id: VpcId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AssociateSecurityGroupVpcResult:
        raise NotImplementedError

    @handler("AssociateSubnetCidrBlock")
    def associate_subnet_cidr_block(
        self,
        context: RequestContext,
        subnet_id: SubnetId,
        ipv6_ipam_pool_id: IpamPoolId | None = None,
        ipv6_netmask_length: NetmaskLength | None = None,
        ipv6_cidr_block: String | None = None,
        **kwargs,
    ) -> AssociateSubnetCidrBlockResult:
        raise NotImplementedError

    @handler("AssociateTransitGatewayMulticastDomain")
    def associate_transit_gateway_multicast_domain(
        self,
        context: RequestContext,
        transit_gateway_multicast_domain_id: TransitGatewayMulticastDomainId,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        subnet_ids: TransitGatewaySubnetIdList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AssociateTransitGatewayMulticastDomainResult:
        raise NotImplementedError

    @handler("AssociateTransitGatewayPolicyTable")
    def associate_transit_gateway_policy_table(
        self,
        context: RequestContext,
        transit_gateway_policy_table_id: TransitGatewayPolicyTableId,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AssociateTransitGatewayPolicyTableResult:
        raise NotImplementedError

    @handler("AssociateTransitGatewayRouteTable")
    def associate_transit_gateway_route_table(
        self,
        context: RequestContext,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AssociateTransitGatewayRouteTableResult:
        raise NotImplementedError

    @handler("AssociateTrunkInterface")
    def associate_trunk_interface(
        self,
        context: RequestContext,
        branch_interface_id: NetworkInterfaceId,
        trunk_interface_id: NetworkInterfaceId,
        vlan_id: Integer | None = None,
        gre_key: Integer | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AssociateTrunkInterfaceResult:
        raise NotImplementedError

    @handler("AssociateVpcCidrBlock")
    def associate_vpc_cidr_block(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        cidr_block: String | None = None,
        ipv6_cidr_block_network_border_group: String | None = None,
        ipv6_pool: Ipv6PoolEc2Id | None = None,
        ipv6_cidr_block: String | None = None,
        ipv4_ipam_pool_id: IpamPoolId | None = None,
        ipv4_netmask_length: NetmaskLength | None = None,
        ipv6_ipam_pool_id: IpamPoolId | None = None,
        ipv6_netmask_length: NetmaskLength | None = None,
        amazon_provided_ipv6_cidr_block: Boolean | None = None,
        **kwargs,
    ) -> AssociateVpcCidrBlockResult:
        raise NotImplementedError

    @handler("AttachClassicLinkVpc")
    def attach_classic_link_vpc(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        vpc_id: VpcId,
        groups: GroupIdStringList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AttachClassicLinkVpcResult:
        raise NotImplementedError

    @handler("AttachInternetGateway")
    def attach_internet_gateway(
        self,
        context: RequestContext,
        internet_gateway_id: InternetGatewayId,
        vpc_id: VpcId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("AttachNetworkInterface")
    def attach_network_interface(
        self,
        context: RequestContext,
        network_interface_id: NetworkInterfaceId,
        instance_id: InstanceId,
        device_index: Integer,
        network_card_index: Integer | None = None,
        ena_srd_specification: EnaSrdSpecification | None = None,
        ena_queue_count: Integer | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AttachNetworkInterfaceResult:
        raise NotImplementedError

    @handler("AttachVerifiedAccessTrustProvider")
    def attach_verified_access_trust_provider(
        self,
        context: RequestContext,
        verified_access_instance_id: VerifiedAccessInstanceId,
        verified_access_trust_provider_id: VerifiedAccessTrustProviderId,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AttachVerifiedAccessTrustProviderResult:
        raise NotImplementedError

    @handler("AttachVolume")
    def attach_volume(
        self,
        context: RequestContext,
        device: String,
        instance_id: InstanceId,
        volume_id: VolumeId,
        ebs_card_index: BoxedInteger | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> VolumeAttachment:
        raise NotImplementedError

    @handler("AttachVpnGateway")
    def attach_vpn_gateway(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        vpn_gateway_id: VpnGatewayId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AttachVpnGatewayResult:
        raise NotImplementedError

    @handler("AuthorizeClientVpnIngress")
    def authorize_client_vpn_ingress(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        target_network_cidr: String,
        access_group_id: String | None = None,
        authorize_all_groups: Boolean | None = None,
        description: String | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AuthorizeClientVpnIngressResult:
        raise NotImplementedError

    @handler("AuthorizeSecurityGroupEgress")
    def authorize_security_group_egress(
        self,
        context: RequestContext,
        group_id: SecurityGroupId,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        source_security_group_name: String | None = None,
        source_security_group_owner_id: String | None = None,
        ip_protocol: String | None = None,
        from_port: Integer | None = None,
        to_port: Integer | None = None,
        cidr_ip: String | None = None,
        ip_permissions: IpPermissionList | None = None,
        **kwargs,
    ) -> AuthorizeSecurityGroupEgressResult:
        raise NotImplementedError

    @handler("AuthorizeSecurityGroupIngress")
    def authorize_security_group_ingress(
        self,
        context: RequestContext,
        cidr_ip: String | None = None,
        from_port: Integer | None = None,
        group_id: SecurityGroupId | None = None,
        group_name: SecurityGroupName | None = None,
        ip_permissions: IpPermissionList | None = None,
        ip_protocol: String | None = None,
        source_security_group_name: String | None = None,
        source_security_group_owner_id: String | None = None,
        to_port: Integer | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> AuthorizeSecurityGroupIngressResult:
        raise NotImplementedError

    @handler("BundleInstance")
    def bundle_instance(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        storage: Storage,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> BundleInstanceResult:
        raise NotImplementedError

    @handler("CancelBundleTask")
    def cancel_bundle_task(
        self, context: RequestContext, bundle_id: BundleId, dry_run: Boolean | None = None, **kwargs
    ) -> CancelBundleTaskResult:
        raise NotImplementedError

    @handler("CancelCapacityReservation")
    def cancel_capacity_reservation(
        self,
        context: RequestContext,
        capacity_reservation_id: CapacityReservationId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CancelCapacityReservationResult:
        raise NotImplementedError

    @handler("CancelCapacityReservationFleets")
    def cancel_capacity_reservation_fleets(
        self,
        context: RequestContext,
        capacity_reservation_fleet_ids: CapacityReservationFleetIdSet,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CancelCapacityReservationFleetsResult:
        raise NotImplementedError

    @handler("CancelConversionTask")
    def cancel_conversion_task(
        self,
        context: RequestContext,
        conversion_task_id: ConversionTaskId,
        dry_run: Boolean | None = None,
        reason_message: String | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("CancelDeclarativePoliciesReport")
    def cancel_declarative_policies_report(
        self,
        context: RequestContext,
        report_id: DeclarativePoliciesReportId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CancelDeclarativePoliciesReportResult:
        raise NotImplementedError

    @handler("CancelExportTask")
    def cancel_export_task(
        self, context: RequestContext, export_task_id: ExportVmTaskId, **kwargs
    ) -> None:
        raise NotImplementedError

    @handler("CancelImageLaunchPermission")
    def cancel_image_launch_permission(
        self, context: RequestContext, image_id: ImageId, dry_run: Boolean | None = None, **kwargs
    ) -> CancelImageLaunchPermissionResult:
        raise NotImplementedError

    @handler("CancelImportTask")
    def cancel_import_task(
        self,
        context: RequestContext,
        cancel_reason: String | None = None,
        dry_run: Boolean | None = None,
        import_task_id: ImportTaskId | None = None,
        **kwargs,
    ) -> CancelImportTaskResult:
        raise NotImplementedError

    @handler("CancelReservedInstancesListing")
    def cancel_reserved_instances_listing(
        self,
        context: RequestContext,
        reserved_instances_listing_id: ReservedInstancesListingId,
        **kwargs,
    ) -> CancelReservedInstancesListingResult:
        raise NotImplementedError

    @handler("CancelSpotFleetRequests")
    def cancel_spot_fleet_requests(
        self,
        context: RequestContext,
        spot_fleet_request_ids: SpotFleetRequestIdList,
        terminate_instances: Boolean,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CancelSpotFleetRequestsResponse:
        raise NotImplementedError

    @handler("CancelSpotInstanceRequests")
    def cancel_spot_instance_requests(
        self,
        context: RequestContext,
        spot_instance_request_ids: SpotInstanceRequestIdList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CancelSpotInstanceRequestsResult:
        raise NotImplementedError

    @handler("ConfirmProductInstance")
    def confirm_product_instance(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        product_code: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ConfirmProductInstanceResult:
        raise NotImplementedError

    @handler("CopyFpgaImage")
    def copy_fpga_image(
        self,
        context: RequestContext,
        source_fpga_image_id: String,
        source_region: String,
        dry_run: Boolean | None = None,
        description: String | None = None,
        name: String | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> CopyFpgaImageResult:
        raise NotImplementedError

    @handler("CopyImage")
    def copy_image(
        self,
        context: RequestContext,
        name: String,
        source_image_id: String,
        source_region: String,
        client_token: String | None = None,
        description: String | None = None,
        encrypted: Boolean | None = None,
        kms_key_id: KmsKeyId | None = None,
        destination_outpost_arn: String | None = None,
        copy_image_tags: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        snapshot_copy_completion_duration_minutes: Long | None = None,
        destination_availability_zone: String | None = None,
        destination_availability_zone_id: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CopyImageResult:
        raise NotImplementedError

    @handler("CopySnapshot")
    def copy_snapshot(
        self,
        context: RequestContext,
        source_region: String,
        source_snapshot_id: String,
        description: String | None = None,
        destination_outpost_arn: String | None = None,
        destination_region: String | None = None,
        encrypted: Boolean | None = None,
        kms_key_id: KmsKeyId | None = None,
        presigned_url: CopySnapshotRequestPSU | None = None,
        tag_specifications: TagSpecificationList | None = None,
        completion_duration_minutes: SnapshotCompletionDurationMinutesRequest | None = None,
        destination_availability_zone: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CopySnapshotResult:
        raise NotImplementedError

    @handler("CopyVolumes")
    def copy_volumes(
        self,
        context: RequestContext,
        source_volume_id: VolumeId,
        iops: Integer | None = None,
        size: Integer | None = None,
        volume_type: VolumeType | None = None,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        multi_attach_enabled: Boolean | None = None,
        throughput: Integer | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> CopyVolumesResult:
        raise NotImplementedError

    @handler("CreateCapacityManagerDataExport")
    def create_capacity_manager_data_export(
        self,
        context: RequestContext,
        s3_bucket_name: String,
        schedule: Schedule,
        output_format: OutputFormat,
        s3_bucket_prefix: String | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateCapacityManagerDataExportResult:
        raise NotImplementedError

    @handler("CreateCapacityReservation")
    def create_capacity_reservation(
        self,
        context: RequestContext,
        instance_type: String,
        instance_platform: CapacityReservationInstancePlatform,
        instance_count: Integer,
        client_token: String | None = None,
        availability_zone: AvailabilityZoneName | None = None,
        availability_zone_id: AvailabilityZoneId | None = None,
        tenancy: CapacityReservationTenancy | None = None,
        ebs_optimized: Boolean | None = None,
        ephemeral_storage: Boolean | None = None,
        end_date: DateTime | None = None,
        end_date_type: EndDateType | None = None,
        instance_match_criteria: InstanceMatchCriteria | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        outpost_arn: OutpostArn | None = None,
        placement_group_arn: PlacementGroupArn | None = None,
        start_date: MillisecondDateTime | None = None,
        commitment_duration: CapacityReservationCommitmentDuration | None = None,
        delivery_preference: CapacityReservationDeliveryPreference | None = None,
        **kwargs,
    ) -> CreateCapacityReservationResult:
        raise NotImplementedError

    @handler("CreateCapacityReservationBySplitting")
    def create_capacity_reservation_by_splitting(
        self,
        context: RequestContext,
        source_capacity_reservation_id: CapacityReservationId,
        instance_count: Integer,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateCapacityReservationBySplittingResult:
        raise NotImplementedError

    @handler("CreateCapacityReservationFleet")
    def create_capacity_reservation_fleet(
        self,
        context: RequestContext,
        instance_type_specifications: ReservationFleetInstanceSpecificationList,
        total_target_capacity: Integer,
        allocation_strategy: String | None = None,
        client_token: String | None = None,
        tenancy: FleetCapacityReservationTenancy | None = None,
        end_date: MillisecondDateTime | None = None,
        instance_match_criteria: FleetInstanceMatchCriteria | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateCapacityReservationFleetResult:
        raise NotImplementedError

    @handler("CreateCarrierGateway")
    def create_carrier_gateway(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> CreateCarrierGatewayResult:
        raise NotImplementedError

    @handler("CreateClientVpnEndpoint")
    def create_client_vpn_endpoint(
        self,
        context: RequestContext,
        server_certificate_arn: String,
        authentication_options: ClientVpnAuthenticationRequestList,
        connection_log_options: ConnectionLogOptions,
        client_cidr_block: String | None = None,
        dns_servers: ValueStringList | None = None,
        transport_protocol: TransportProtocol | None = None,
        vpn_port: Integer | None = None,
        description: String | None = None,
        split_tunnel: Boolean | None = None,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        security_group_ids: ClientVpnSecurityGroupIdSet | None = None,
        vpc_id: VpcId | None = None,
        self_service_portal: SelfServicePortal | None = None,
        client_connect_options: ClientConnectOptions | None = None,
        session_timeout_hours: Integer | None = None,
        client_login_banner_options: ClientLoginBannerOptions | None = None,
        client_route_enforcement_options: ClientRouteEnforcementOptions | None = None,
        disconnect_on_session_timeout: Boolean | None = None,
        endpoint_ip_address_type: EndpointIpAddressType | None = None,
        traffic_ip_address_type: TrafficIpAddressType | None = None,
        **kwargs,
    ) -> CreateClientVpnEndpointResult:
        raise NotImplementedError

    @handler("CreateClientVpnRoute")
    def create_client_vpn_route(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        destination_cidr_block: String,
        target_vpc_subnet_id: SubnetId,
        description: String | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateClientVpnRouteResult:
        raise NotImplementedError

    @handler("CreateCoipCidr")
    def create_coip_cidr(
        self,
        context: RequestContext,
        cidr: String,
        coip_pool_id: Ipv4PoolCoipId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateCoipCidrResult:
        raise NotImplementedError

    @handler("CreateCoipPool")
    def create_coip_pool(
        self,
        context: RequestContext,
        local_gateway_route_table_id: LocalGatewayRoutetableId,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateCoipPoolResult:
        raise NotImplementedError

    @handler("CreateCustomerGateway", expand=False)
    def create_customer_gateway(
        self, context: RequestContext, request: CreateCustomerGatewayRequest, **kwargs
    ) -> CreateCustomerGatewayResult:
        raise NotImplementedError

    @handler("CreateDefaultSubnet")
    def create_default_subnet(
        self,
        context: RequestContext,
        availability_zone: AvailabilityZoneName | None = None,
        dry_run: Boolean | None = None,
        ipv6_native: Boolean | None = None,
        availability_zone_id: AvailabilityZoneId | None = None,
        **kwargs,
    ) -> CreateDefaultSubnetResult:
        raise NotImplementedError

    @handler("CreateDefaultVpc")
    def create_default_vpc(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> CreateDefaultVpcResult:
        raise NotImplementedError

    @handler("CreateDelegateMacVolumeOwnershipTask")
    def create_delegate_mac_volume_ownership_task(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        mac_credentials: SensitiveMacCredentials,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateDelegateMacVolumeOwnershipTaskResult:
        raise NotImplementedError

    @handler("CreateDhcpOptions")
    def create_dhcp_options(
        self,
        context: RequestContext,
        dhcp_configurations: NewDhcpConfigurationList,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateDhcpOptionsResult:
        raise NotImplementedError

    @handler("CreateEgressOnlyInternetGateway")
    def create_egress_only_internet_gateway(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateEgressOnlyInternetGatewayResult:
        raise NotImplementedError

    @handler("CreateFleet", expand=False)
    def create_fleet(
        self, context: RequestContext, request: CreateFleetRequest, **kwargs
    ) -> CreateFleetResult:
        raise NotImplementedError

    @handler("CreateFlowLogs")
    def create_flow_logs(
        self,
        context: RequestContext,
        resource_ids: FlowLogResourceIds,
        resource_type: FlowLogsResourceType,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        deliver_logs_permission_arn: String | None = None,
        deliver_cross_account_role: String | None = None,
        log_group_name: String | None = None,
        traffic_type: TrafficType | None = None,
        log_destination_type: LogDestinationType | None = None,
        log_destination: String | None = None,
        log_format: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        max_aggregation_interval: Integer | None = None,
        destination_options: DestinationOptionsRequest | None = None,
        **kwargs,
    ) -> CreateFlowLogsResult:
        raise NotImplementedError

    @handler("CreateFpgaImage")
    def create_fpga_image(
        self,
        context: RequestContext,
        input_storage_location: StorageLocation,
        dry_run: Boolean | None = None,
        logs_storage_location: StorageLocation | None = None,
        description: String | None = None,
        name: String | None = None,
        client_token: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateFpgaImageResult:
        raise NotImplementedError

    @handler("CreateImage")
    def create_image(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        name: String,
        tag_specifications: TagSpecificationList | None = None,
        snapshot_location: SnapshotLocationEnum | None = None,
        dry_run: Boolean | None = None,
        description: String | None = None,
        no_reboot: Boolean | None = None,
        block_device_mappings: BlockDeviceMappingRequestList | None = None,
        **kwargs,
    ) -> CreateImageResult:
        raise NotImplementedError

    @handler("CreateImageUsageReport")
    def create_image_usage_report(
        self,
        context: RequestContext,
        image_id: ImageId,
        resource_types: ImageUsageResourceTypeRequestList,
        dry_run: Boolean | None = None,
        account_ids: ImageUsageReportUserIdStringList | None = None,
        client_token: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateImageUsageReportResult:
        raise NotImplementedError

    @handler("CreateInstanceConnectEndpoint")
    def create_instance_connect_endpoint(
        self,
        context: RequestContext,
        subnet_id: SubnetId,
        dry_run: Boolean | None = None,
        security_group_ids: SecurityGroupIdStringListRequest | None = None,
        preserve_client_ip: Boolean | None = None,
        client_token: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        ip_address_type: IpAddressType | None = None,
        **kwargs,
    ) -> CreateInstanceConnectEndpointResult:
        raise NotImplementedError

    @handler("CreateInstanceEventWindow")
    def create_instance_event_window(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        name: String | None = None,
        time_ranges: InstanceEventWindowTimeRangeRequestSet | None = None,
        cron_expression: InstanceEventWindowCronExpression | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateInstanceEventWindowResult:
        raise NotImplementedError

    @handler("CreateInstanceExportTask")
    def create_instance_export_task(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        target_environment: ExportEnvironment,
        export_to_s3_task: ExportToS3TaskSpecification,
        tag_specifications: TagSpecificationList | None = None,
        description: String | None = None,
        **kwargs,
    ) -> CreateInstanceExportTaskResult:
        raise NotImplementedError

    @handler("CreateInternetGateway")
    def create_internet_gateway(
        self,
        context: RequestContext,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateInternetGatewayResult:
        raise NotImplementedError

    @handler("CreateInterruptibleCapacityReservationAllocation")
    def create_interruptible_capacity_reservation_allocation(
        self,
        context: RequestContext,
        capacity_reservation_id: CapacityReservationId,
        instance_count: Integer,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateInterruptibleCapacityReservationAllocationResult:
        raise NotImplementedError

    @handler("CreateIpam")
    def create_ipam(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        description: String | None = None,
        operating_regions: AddIpamOperatingRegionSet | None = None,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        tier: IpamTier | None = None,
        enable_private_gua: Boolean | None = None,
        metered_account: IpamMeteredAccount | None = None,
        **kwargs,
    ) -> CreateIpamResult:
        raise NotImplementedError

    @handler("CreateIpamExternalResourceVerificationToken")
    def create_ipam_external_resource_verification_token(
        self,
        context: RequestContext,
        ipam_id: IpamId,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> CreateIpamExternalResourceVerificationTokenResult:
        raise NotImplementedError

    @handler("CreateIpamPolicy")
    def create_ipam_policy(
        self,
        context: RequestContext,
        ipam_id: IpamId,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> CreateIpamPolicyResult:
        raise NotImplementedError

    @handler("CreateIpamPool")
    def create_ipam_pool(
        self,
        context: RequestContext,
        ipam_scope_id: IpamScopeId,
        address_family: AddressFamily,
        dry_run: Boolean | None = None,
        locale: String | None = None,
        source_ipam_pool_id: IpamPoolId | None = None,
        description: String | None = None,
        auto_import: Boolean | None = None,
        publicly_advertisable: Boolean | None = None,
        allocation_min_netmask_length: IpamNetmaskLength | None = None,
        allocation_max_netmask_length: IpamNetmaskLength | None = None,
        allocation_default_netmask_length: IpamNetmaskLength | None = None,
        allocation_resource_tags: RequestIpamResourceTagList | None = None,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        aws_service: IpamPoolAwsService | None = None,
        public_ip_source: IpamPoolPublicIpSource | None = None,
        source_resource: IpamPoolSourceResourceRequest | None = None,
        **kwargs,
    ) -> CreateIpamPoolResult:
        raise NotImplementedError

    @handler("CreateIpamPrefixListResolver")
    def create_ipam_prefix_list_resolver(
        self,
        context: RequestContext,
        ipam_id: IpamId,
        address_family: AddressFamily,
        dry_run: Boolean | None = None,
        description: String | None = None,
        rules: IpamPrefixListResolverRuleRequestSet | None = None,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> CreateIpamPrefixListResolverResult:
        raise NotImplementedError

    @handler("CreateIpamPrefixListResolverTarget")
    def create_ipam_prefix_list_resolver_target(
        self,
        context: RequestContext,
        ipam_prefix_list_resolver_id: IpamPrefixListResolverId,
        prefix_list_id: String,
        prefix_list_region: String,
        track_latest_version: Boolean,
        dry_run: Boolean | None = None,
        desired_version: BoxedLong | None = None,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> CreateIpamPrefixListResolverTargetResult:
        raise NotImplementedError

    @handler("CreateIpamResourceDiscovery")
    def create_ipam_resource_discovery(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        description: String | None = None,
        operating_regions: AddIpamOperatingRegionSet | None = None,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> CreateIpamResourceDiscoveryResult:
        raise NotImplementedError

    @handler("CreateIpamScope")
    def create_ipam_scope(
        self,
        context: RequestContext,
        ipam_id: IpamId,
        dry_run: Boolean | None = None,
        description: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        external_authority_configuration: ExternalAuthorityConfiguration | None = None,
        **kwargs,
    ) -> CreateIpamScopeResult:
        raise NotImplementedError

    @handler("CreateKeyPair")
    def create_key_pair(
        self,
        context: RequestContext,
        key_name: String,
        key_type: KeyType | None = None,
        tag_specifications: TagSpecificationList | None = None,
        key_format: KeyFormat | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> KeyPair:
        raise NotImplementedError

    @handler("CreateLaunchTemplate")
    def create_launch_template(
        self,
        context: RequestContext,
        launch_template_name: LaunchTemplateName,
        launch_template_data: RequestLaunchTemplateData,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        version_description: VersionDescription | None = None,
        operator: OperatorRequest | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateLaunchTemplateResult:
        raise NotImplementedError

    @handler("CreateLaunchTemplateVersion")
    def create_launch_template_version(
        self,
        context: RequestContext,
        launch_template_data: RequestLaunchTemplateData,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        launch_template_id: LaunchTemplateId | None = None,
        launch_template_name: LaunchTemplateName | None = None,
        source_version: String | None = None,
        version_description: VersionDescription | None = None,
        resolve_alias: Boolean | None = None,
        **kwargs,
    ) -> CreateLaunchTemplateVersionResult:
        raise NotImplementedError

    @handler("CreateLocalGatewayRoute")
    def create_local_gateway_route(
        self,
        context: RequestContext,
        local_gateway_route_table_id: LocalGatewayRoutetableId,
        destination_cidr_block: String | None = None,
        local_gateway_virtual_interface_group_id: LocalGatewayVirtualInterfaceGroupId | None = None,
        dry_run: Boolean | None = None,
        network_interface_id: NetworkInterfaceId | None = None,
        destination_prefix_list_id: PrefixListResourceId | None = None,
        **kwargs,
    ) -> CreateLocalGatewayRouteResult:
        raise NotImplementedError

    @handler("CreateLocalGatewayRouteTable")
    def create_local_gateway_route_table(
        self,
        context: RequestContext,
        local_gateway_id: LocalGatewayId,
        mode: LocalGatewayRouteTableMode | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateLocalGatewayRouteTableResult:
        raise NotImplementedError

    @handler("CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociation")
    def create_local_gateway_route_table_virtual_interface_group_association(
        self,
        context: RequestContext,
        local_gateway_route_table_id: LocalGatewayRoutetableId,
        local_gateway_virtual_interface_group_id: LocalGatewayVirtualInterfaceGroupId,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult:
        raise NotImplementedError

    @handler("CreateLocalGatewayRouteTableVpcAssociation")
    def create_local_gateway_route_table_vpc_association(
        self,
        context: RequestContext,
        local_gateway_route_table_id: LocalGatewayRoutetableId,
        vpc_id: VpcId,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateLocalGatewayRouteTableVpcAssociationResult:
        raise NotImplementedError

    @handler("CreateLocalGatewayVirtualInterface")
    def create_local_gateway_virtual_interface(
        self,
        context: RequestContext,
        local_gateway_virtual_interface_group_id: LocalGatewayVirtualInterfaceGroupId,
        outpost_lag_id: OutpostLagId,
        vlan: Integer,
        local_address: String,
        peer_address: String,
        peer_bgp_asn: Integer | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        peer_bgp_asn_extended: Long | None = None,
        **kwargs,
    ) -> CreateLocalGatewayVirtualInterfaceResult:
        raise NotImplementedError

    @handler("CreateLocalGatewayVirtualInterfaceGroup")
    def create_local_gateway_virtual_interface_group(
        self,
        context: RequestContext,
        local_gateway_id: LocalGatewayId,
        local_bgp_asn: Integer | None = None,
        local_bgp_asn_extended: Long | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateLocalGatewayVirtualInterfaceGroupResult:
        raise NotImplementedError

    @handler("CreateMacSystemIntegrityProtectionModificationTask")
    def create_mac_system_integrity_protection_modification_task(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        mac_system_integrity_protection_status: MacSystemIntegrityProtectionSettingStatus,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        mac_credentials: SensitiveMacCredentials | None = None,
        mac_system_integrity_protection_configuration: MacSystemIntegrityProtectionConfigurationRequest
        | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateMacSystemIntegrityProtectionModificationTaskResult:
        raise NotImplementedError

    @handler("CreateManagedPrefixList")
    def create_managed_prefix_list(
        self,
        context: RequestContext,
        prefix_list_name: String,
        max_entries: Integer,
        address_family: String,
        dry_run: Boolean | None = None,
        entries: AddPrefixListEntries | None = None,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> CreateManagedPrefixListResult:
        raise NotImplementedError

    @handler("CreateNatGateway")
    def create_nat_gateway(
        self,
        context: RequestContext,
        availability_mode: AvailabilityMode | None = None,
        allocation_id: AllocationId | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        subnet_id: SubnetId | None = None,
        vpc_id: VpcId | None = None,
        availability_zone_addresses: AvailabilityZoneAddresses | None = None,
        tag_specifications: TagSpecificationList | None = None,
        connectivity_type: ConnectivityType | None = None,
        private_ip_address: String | None = None,
        secondary_allocation_ids: AllocationIdList | None = None,
        secondary_private_ip_addresses: IpList | None = None,
        secondary_private_ip_address_count: PrivateIpAddressCount | None = None,
        **kwargs,
    ) -> CreateNatGatewayResult:
        raise NotImplementedError

    @handler("CreateNetworkAcl")
    def create_network_acl(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateNetworkAclResult:
        raise NotImplementedError

    @handler("CreateNetworkAclEntry")
    def create_network_acl_entry(
        self,
        context: RequestContext,
        network_acl_id: NetworkAclId,
        rule_number: Integer,
        protocol: String,
        rule_action: RuleAction,
        egress: Boolean,
        dry_run: Boolean | None = None,
        cidr_block: String | None = None,
        ipv6_cidr_block: String | None = None,
        icmp_type_code: IcmpTypeCode | None = None,
        port_range: PortRange | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("CreateNetworkInsightsAccessScope")
    def create_network_insights_access_scope(
        self,
        context: RequestContext,
        client_token: String,
        match_paths: AccessScopePathListRequest | None = None,
        exclude_paths: AccessScopePathListRequest | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateNetworkInsightsAccessScopeResult:
        raise NotImplementedError

    @handler("CreateNetworkInsightsPath")
    def create_network_insights_path(
        self,
        context: RequestContext,
        source: NetworkInsightsResourceId,
        protocol: Protocol,
        client_token: String,
        source_ip: IpAddress | None = None,
        destination_ip: IpAddress | None = None,
        destination: NetworkInsightsResourceId | None = None,
        destination_port: Port | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        filter_at_source: PathRequestFilter | None = None,
        filter_at_destination: PathRequestFilter | None = None,
        **kwargs,
    ) -> CreateNetworkInsightsPathResult:
        raise NotImplementedError

    @handler("CreateNetworkInterface")
    def create_network_interface(
        self,
        context: RequestContext,
        subnet_id: SubnetId,
        ipv4_prefixes: Ipv4PrefixList | None = None,
        ipv4_prefix_count: Integer | None = None,
        ipv6_prefixes: Ipv6PrefixList | None = None,
        ipv6_prefix_count: Integer | None = None,
        interface_type: NetworkInterfaceCreationType | None = None,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        enable_primary_ipv6: Boolean | None = None,
        connection_tracking_specification: ConnectionTrackingSpecificationRequest | None = None,
        operator: OperatorRequest | None = None,
        description: String | None = None,
        private_ip_address: String | None = None,
        groups: SecurityGroupIdStringList | None = None,
        private_ip_addresses: PrivateIpAddressSpecificationList | None = None,
        secondary_private_ip_address_count: Integer | None = None,
        ipv6_addresses: InstanceIpv6AddressList | None = None,
        ipv6_address_count: Integer | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateNetworkInterfaceResult:
        raise NotImplementedError

    @handler("CreateNetworkInterfacePermission")
    def create_network_interface_permission(
        self,
        context: RequestContext,
        network_interface_id: NetworkInterfaceId,
        permission: InterfacePermissionType,
        aws_account_id: String | None = None,
        aws_service: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateNetworkInterfacePermissionResult:
        raise NotImplementedError

    @handler("CreatePlacementGroup")
    def create_placement_group(
        self,
        context: RequestContext,
        partition_count: Integer | None = None,
        tag_specifications: TagSpecificationList | None = None,
        spread_level: SpreadLevel | None = None,
        linked_group_id: PlacementGroupId | None = None,
        dry_run: Boolean | None = None,
        group_name: String | None = None,
        strategy: PlacementStrategy | None = None,
        **kwargs,
    ) -> CreatePlacementGroupResult:
        raise NotImplementedError

    @handler("CreatePublicIpv4Pool")
    def create_public_ipv4_pool(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        network_border_group: String | None = None,
        **kwargs,
    ) -> CreatePublicIpv4PoolResult:
        raise NotImplementedError

    @handler("CreateReplaceRootVolumeTask")
    def create_replace_root_volume_task(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        snapshot_id: SnapshotId | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        image_id: ImageId | None = None,
        delete_replaced_root_volume: Boolean | None = None,
        volume_initialization_rate: Long | None = None,
        **kwargs,
    ) -> CreateReplaceRootVolumeTaskResult:
        raise NotImplementedError

    @handler("CreateReservedInstancesListing")
    def create_reserved_instances_listing(
        self,
        context: RequestContext,
        reserved_instances_id: ReservationId,
        instance_count: Integer,
        price_schedules: PriceScheduleSpecificationList,
        client_token: String,
        **kwargs,
    ) -> CreateReservedInstancesListingResult:
        raise NotImplementedError

    @handler("CreateRestoreImageTask")
    def create_restore_image_task(
        self,
        context: RequestContext,
        bucket: String,
        object_key: String,
        name: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateRestoreImageTaskResult:
        raise NotImplementedError

    @handler("CreateRoute")
    def create_route(
        self,
        context: RequestContext,
        route_table_id: RouteTableId,
        destination_prefix_list_id: PrefixListResourceId | None = None,
        vpc_endpoint_id: VpcEndpointId | None = None,
        transit_gateway_id: TransitGatewayId | None = None,
        local_gateway_id: LocalGatewayId | None = None,
        carrier_gateway_id: CarrierGatewayId | None = None,
        core_network_arn: CoreNetworkArn | None = None,
        odb_network_arn: OdbNetworkArn | None = None,
        dry_run: Boolean | None = None,
        destination_cidr_block: String | None = None,
        gateway_id: RouteGatewayId | None = None,
        destination_ipv6_cidr_block: String | None = None,
        egress_only_internet_gateway_id: EgressOnlyInternetGatewayId | None = None,
        instance_id: InstanceId | None = None,
        network_interface_id: NetworkInterfaceId | None = None,
        vpc_peering_connection_id: VpcPeeringConnectionId | None = None,
        nat_gateway_id: NatGatewayId | None = None,
        **kwargs,
    ) -> CreateRouteResult:
        raise NotImplementedError

    @handler("CreateRouteServer")
    def create_route_server(
        self,
        context: RequestContext,
        amazon_side_asn: Long,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        persist_routes: RouteServerPersistRoutesAction | None = None,
        persist_routes_duration: BoxedLong | None = None,
        sns_notifications_enabled: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateRouteServerResult:
        raise NotImplementedError

    @handler("CreateRouteServerEndpoint")
    def create_route_server_endpoint(
        self,
        context: RequestContext,
        route_server_id: RouteServerId,
        subnet_id: SubnetId,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateRouteServerEndpointResult:
        raise NotImplementedError

    @handler("CreateRouteServerPeer")
    def create_route_server_peer(
        self,
        context: RequestContext,
        route_server_endpoint_id: RouteServerEndpointId,
        peer_address: String,
        bgp_options: RouteServerBgpOptionsRequest,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateRouteServerPeerResult:
        raise NotImplementedError

    @handler("CreateRouteTable")
    def create_route_table(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateRouteTableResult:
        raise NotImplementedError

    @handler("CreateSecurityGroup")
    def create_security_group(
        self,
        context: RequestContext,
        description: String,
        group_name: String,
        vpc_id: VpcId | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateSecurityGroupResult:
        raise NotImplementedError

    @handler("CreateSnapshot")
    def create_snapshot(
        self,
        context: RequestContext,
        volume_id: VolumeId,
        description: String | None = None,
        outpost_arn: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        location: SnapshotLocationEnum | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> Snapshot:
        raise NotImplementedError

    @handler("CreateSnapshots")
    def create_snapshots(
        self,
        context: RequestContext,
        instance_specification: InstanceSpecification,
        description: String | None = None,
        outpost_arn: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        copy_tags_from_source: CopyTagsFromSource | None = None,
        location: SnapshotLocationEnum | None = None,
        **kwargs,
    ) -> CreateSnapshotsResult:
        raise NotImplementedError

    @handler("CreateSpotDatafeedSubscription")
    def create_spot_datafeed_subscription(
        self,
        context: RequestContext,
        bucket: String,
        dry_run: Boolean | None = None,
        prefix: String | None = None,
        **kwargs,
    ) -> CreateSpotDatafeedSubscriptionResult:
        raise NotImplementedError

    @handler("CreateStoreImageTask")
    def create_store_image_task(
        self,
        context: RequestContext,
        image_id: ImageId,
        bucket: String,
        s3_object_tags: S3ObjectTagList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateStoreImageTaskResult:
        raise NotImplementedError

    @handler("CreateSubnet")
    def create_subnet(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        tag_specifications: TagSpecificationList | None = None,
        availability_zone: String | None = None,
        availability_zone_id: String | None = None,
        cidr_block: String | None = None,
        ipv6_cidr_block: String | None = None,
        outpost_arn: String | None = None,
        ipv6_native: Boolean | None = None,
        ipv4_ipam_pool_id: IpamPoolId | None = None,
        ipv4_netmask_length: NetmaskLength | None = None,
        ipv6_ipam_pool_id: IpamPoolId | None = None,
        ipv6_netmask_length: NetmaskLength | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateSubnetResult:
        raise NotImplementedError

    @handler("CreateSubnetCidrReservation")
    def create_subnet_cidr_reservation(
        self,
        context: RequestContext,
        subnet_id: SubnetId,
        cidr: String,
        reservation_type: SubnetCidrReservationType,
        description: String | None = None,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateSubnetCidrReservationResult:
        raise NotImplementedError

    @handler("CreateTags")
    def create_tags(
        self,
        context: RequestContext,
        resources: ResourceIdList,
        tags: TagList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("CreateTrafficMirrorFilter")
    def create_traffic_mirror_filter(
        self,
        context: RequestContext,
        description: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> CreateTrafficMirrorFilterResult:
        raise NotImplementedError

    @handler("CreateTrafficMirrorFilterRule")
    def create_traffic_mirror_filter_rule(
        self,
        context: RequestContext,
        traffic_mirror_filter_id: TrafficMirrorFilterId,
        traffic_direction: TrafficDirection,
        rule_number: Integer,
        rule_action: TrafficMirrorRuleAction,
        destination_cidr_block: String,
        source_cidr_block: String,
        destination_port_range: TrafficMirrorPortRangeRequest | None = None,
        source_port_range: TrafficMirrorPortRangeRequest | None = None,
        protocol: Integer | None = None,
        description: String | None = None,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateTrafficMirrorFilterRuleResult:
        raise NotImplementedError

    @handler("CreateTrafficMirrorSession")
    def create_traffic_mirror_session(
        self,
        context: RequestContext,
        network_interface_id: NetworkInterfaceId,
        traffic_mirror_target_id: TrafficMirrorTargetId,
        traffic_mirror_filter_id: TrafficMirrorFilterId,
        session_number: Integer,
        packet_length: Integer | None = None,
        virtual_network_id: Integer | None = None,
        description: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> CreateTrafficMirrorSessionResult:
        raise NotImplementedError

    @handler("CreateTrafficMirrorTarget")
    def create_traffic_mirror_target(
        self,
        context: RequestContext,
        network_interface_id: NetworkInterfaceId | None = None,
        network_load_balancer_arn: String | None = None,
        description: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        gateway_load_balancer_endpoint_id: VpcEndpointId | None = None,
        **kwargs,
    ) -> CreateTrafficMirrorTargetResult:
        raise NotImplementedError

    @handler("CreateTransitGateway")
    def create_transit_gateway(
        self,
        context: RequestContext,
        description: String | None = None,
        options: TransitGatewayRequestOptions | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateTransitGatewayResult:
        raise NotImplementedError

    @handler("CreateTransitGatewayConnect")
    def create_transit_gateway_connect(
        self,
        context: RequestContext,
        transport_transit_gateway_attachment_id: TransitGatewayAttachmentId,
        options: CreateTransitGatewayConnectRequestOptions,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateTransitGatewayConnectResult:
        raise NotImplementedError

    @handler("CreateTransitGatewayConnectPeer")
    def create_transit_gateway_connect_peer(
        self,
        context: RequestContext,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        peer_address: String,
        inside_cidr_blocks: InsideCidrBlocksStringList,
        transit_gateway_address: String | None = None,
        bgp_options: TransitGatewayConnectRequestBgpOptions | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateTransitGatewayConnectPeerResult:
        raise NotImplementedError

    @handler("CreateTransitGatewayMeteringPolicy")
    def create_transit_gateway_metering_policy(
        self,
        context: RequestContext,
        transit_gateway_id: TransitGatewayId,
        middlebox_attachment_ids: TransitGatewayAttachmentIdStringList | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateTransitGatewayMeteringPolicyResult:
        raise NotImplementedError

    @handler("CreateTransitGatewayMeteringPolicyEntry")
    def create_transit_gateway_metering_policy_entry(
        self,
        context: RequestContext,
        transit_gateway_metering_policy_id: TransitGatewayMeteringPolicyId,
        policy_rule_number: Integer,
        metered_account: TransitGatewayMeteringPayerType,
        source_transit_gateway_attachment_id: TransitGatewayAttachmentId | None = None,
        source_transit_gateway_attachment_type: TransitGatewayAttachmentResourceType | None = None,
        source_cidr_block: String | None = None,
        source_port_range: String | None = None,
        destination_transit_gateway_attachment_id: TransitGatewayAttachmentId | None = None,
        destination_transit_gateway_attachment_type: TransitGatewayAttachmentResourceType
        | None = None,
        destination_cidr_block: String | None = None,
        destination_port_range: String | None = None,
        protocol: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateTransitGatewayMeteringPolicyEntryResult:
        raise NotImplementedError

    @handler("CreateTransitGatewayMulticastDomain")
    def create_transit_gateway_multicast_domain(
        self,
        context: RequestContext,
        transit_gateway_id: TransitGatewayId,
        options: CreateTransitGatewayMulticastDomainRequestOptions | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateTransitGatewayMulticastDomainResult:
        raise NotImplementedError

    @handler("CreateTransitGatewayPeeringAttachment")
    def create_transit_gateway_peering_attachment(
        self,
        context: RequestContext,
        transit_gateway_id: TransitGatewayId,
        peer_transit_gateway_id: TransitAssociationGatewayId,
        peer_account_id: String,
        peer_region: String,
        options: CreateTransitGatewayPeeringAttachmentRequestOptions | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateTransitGatewayPeeringAttachmentResult:
        raise NotImplementedError

    @handler("CreateTransitGatewayPolicyTable")
    def create_transit_gateway_policy_table(
        self,
        context: RequestContext,
        transit_gateway_id: TransitGatewayId,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateTransitGatewayPolicyTableResult:
        raise NotImplementedError

    @handler("CreateTransitGatewayPrefixListReference")
    def create_transit_gateway_prefix_list_reference(
        self,
        context: RequestContext,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        prefix_list_id: PrefixListResourceId,
        transit_gateway_attachment_id: TransitGatewayAttachmentId | None = None,
        blackhole: Boolean | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateTransitGatewayPrefixListReferenceResult:
        raise NotImplementedError

    @handler("CreateTransitGatewayRoute")
    def create_transit_gateway_route(
        self,
        context: RequestContext,
        destination_cidr_block: String,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        transit_gateway_attachment_id: TransitGatewayAttachmentId | None = None,
        blackhole: Boolean | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateTransitGatewayRouteResult:
        raise NotImplementedError

    @handler("CreateTransitGatewayRouteTable")
    def create_transit_gateway_route_table(
        self,
        context: RequestContext,
        transit_gateway_id: TransitGatewayId,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateTransitGatewayRouteTableResult:
        raise NotImplementedError

    @handler("CreateTransitGatewayRouteTableAnnouncement")
    def create_transit_gateway_route_table_announcement(
        self,
        context: RequestContext,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        peering_attachment_id: TransitGatewayAttachmentId,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateTransitGatewayRouteTableAnnouncementResult:
        raise NotImplementedError

    @handler("CreateTransitGatewayVpcAttachment")
    def create_transit_gateway_vpc_attachment(
        self,
        context: RequestContext,
        transit_gateway_id: TransitGatewayId,
        vpc_id: VpcId,
        subnet_ids: TransitGatewaySubnetIdList,
        options: CreateTransitGatewayVpcAttachmentRequestOptions | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> CreateTransitGatewayVpcAttachmentResult:
        raise NotImplementedError

    @handler("CreateVerifiedAccessEndpoint")
    def create_verified_access_endpoint(
        self,
        context: RequestContext,
        verified_access_group_id: VerifiedAccessGroupId,
        endpoint_type: VerifiedAccessEndpointType,
        attachment_type: VerifiedAccessEndpointAttachmentType,
        domain_certificate_arn: CertificateArn | None = None,
        application_domain: String | None = None,
        endpoint_domain_prefix: String | None = None,
        security_group_ids: SecurityGroupIdList | None = None,
        load_balancer_options: CreateVerifiedAccessEndpointLoadBalancerOptions | None = None,
        network_interface_options: CreateVerifiedAccessEndpointEniOptions | None = None,
        description: String | None = None,
        policy_document: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        sse_specification: VerifiedAccessSseSpecificationRequest | None = None,
        rds_options: CreateVerifiedAccessEndpointRdsOptions | None = None,
        cidr_options: CreateVerifiedAccessEndpointCidrOptions | None = None,
        **kwargs,
    ) -> CreateVerifiedAccessEndpointResult:
        raise NotImplementedError

    @handler("CreateVerifiedAccessGroup")
    def create_verified_access_group(
        self,
        context: RequestContext,
        verified_access_instance_id: VerifiedAccessInstanceId,
        description: String | None = None,
        policy_document: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        sse_specification: VerifiedAccessSseSpecificationRequest | None = None,
        **kwargs,
    ) -> CreateVerifiedAccessGroupResult:
        raise NotImplementedError

    @handler("CreateVerifiedAccessInstance")
    def create_verified_access_instance(
        self,
        context: RequestContext,
        description: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        fips_enabled: Boolean | None = None,
        cidr_endpoints_custom_sub_domain: String | None = None,
        **kwargs,
    ) -> CreateVerifiedAccessInstanceResult:
        raise NotImplementedError

    @handler("CreateVerifiedAccessTrustProvider")
    def create_verified_access_trust_provider(
        self,
        context: RequestContext,
        trust_provider_type: TrustProviderType,
        policy_reference_name: String,
        user_trust_provider_type: UserTrustProviderType | None = None,
        device_trust_provider_type: DeviceTrustProviderType | None = None,
        oidc_options: CreateVerifiedAccessTrustProviderOidcOptions | None = None,
        device_options: CreateVerifiedAccessTrustProviderDeviceOptions | None = None,
        description: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        sse_specification: VerifiedAccessSseSpecificationRequest | None = None,
        native_application_oidc_options: CreateVerifiedAccessNativeApplicationOidcOptions
        | None = None,
        **kwargs,
    ) -> CreateVerifiedAccessTrustProviderResult:
        raise NotImplementedError

    @handler("CreateVolume")
    def create_volume(
        self,
        context: RequestContext,
        availability_zone: AvailabilityZoneName | None = None,
        availability_zone_id: AvailabilityZoneId | None = None,
        encrypted: Boolean | None = None,
        iops: Integer | None = None,
        kms_key_id: KmsKeyId | None = None,
        outpost_arn: String | None = None,
        size: Integer | None = None,
        snapshot_id: SnapshotId | None = None,
        volume_type: VolumeType | None = None,
        tag_specifications: TagSpecificationList | None = None,
        multi_attach_enabled: Boolean | None = None,
        throughput: Integer | None = None,
        client_token: String | None = None,
        volume_initialization_rate: Integer | None = None,
        operator: OperatorRequest | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> Volume:
        raise NotImplementedError

    @handler("CreateVpc")
    def create_vpc(
        self,
        context: RequestContext,
        cidr_block: String | None = None,
        ipv6_pool: Ipv6PoolEc2Id | None = None,
        ipv6_cidr_block: String | None = None,
        ipv4_ipam_pool_id: IpamPoolId | None = None,
        ipv4_netmask_length: NetmaskLength | None = None,
        ipv6_ipam_pool_id: IpamPoolId | None = None,
        ipv6_netmask_length: NetmaskLength | None = None,
        ipv6_cidr_block_network_border_group: String | None = None,
        vpc_encryption_control: VpcEncryptionControlConfiguration | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        instance_tenancy: Tenancy | None = None,
        amazon_provided_ipv6_cidr_block: Boolean | None = None,
        **kwargs,
    ) -> CreateVpcResult:
        raise NotImplementedError

    @handler("CreateVpcBlockPublicAccessExclusion")
    def create_vpc_block_public_access_exclusion(
        self,
        context: RequestContext,
        internet_gateway_exclusion_mode: InternetGatewayExclusionMode,
        dry_run: Boolean | None = None,
        subnet_id: SubnetId | None = None,
        vpc_id: VpcId | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateVpcBlockPublicAccessExclusionResult:
        raise NotImplementedError

    @handler("CreateVpcEncryptionControl")
    def create_vpc_encryption_control(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateVpcEncryptionControlResult:
        raise NotImplementedError

    @handler("CreateVpcEndpoint")
    def create_vpc_endpoint(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        dry_run: Boolean | None = None,
        vpc_endpoint_type: VpcEndpointType | None = None,
        service_name: String | None = None,
        policy_document: String | None = None,
        route_table_ids: VpcEndpointRouteTableIdList | None = None,
        subnet_ids: VpcEndpointSubnetIdList | None = None,
        security_group_ids: VpcEndpointSecurityGroupIdList | None = None,
        ip_address_type: IpAddressType | None = None,
        dns_options: DnsOptionsSpecification | None = None,
        client_token: String | None = None,
        private_dns_enabled: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        subnet_configurations: SubnetConfigurationsList | None = None,
        service_network_arn: ServiceNetworkArn | None = None,
        resource_configuration_arn: ResourceConfigurationArn | None = None,
        service_region: String | None = None,
        **kwargs,
    ) -> CreateVpcEndpointResult:
        raise NotImplementedError

    @handler("CreateVpcEndpointConnectionNotification")
    def create_vpc_endpoint_connection_notification(
        self,
        context: RequestContext,
        connection_notification_arn: String,
        connection_events: ValueStringList,
        dry_run: Boolean | None = None,
        service_id: VpcEndpointServiceId | None = None,
        vpc_endpoint_id: VpcEndpointId | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> CreateVpcEndpointConnectionNotificationResult:
        raise NotImplementedError

    @handler("CreateVpcEndpointServiceConfiguration")
    def create_vpc_endpoint_service_configuration(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        acceptance_required: Boolean | None = None,
        private_dns_name: String | None = None,
        network_load_balancer_arns: ValueStringList | None = None,
        gateway_load_balancer_arns: ValueStringList | None = None,
        supported_ip_address_types: ValueStringList | None = None,
        supported_regions: ValueStringList | None = None,
        client_token: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> CreateVpcEndpointServiceConfigurationResult:
        raise NotImplementedError

    @handler("CreateVpcPeeringConnection")
    def create_vpc_peering_connection(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        peer_region: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        peer_vpc_id: String | None = None,
        peer_owner_id: String | None = None,
        **kwargs,
    ) -> CreateVpcPeeringConnectionResult:
        raise NotImplementedError

    @handler("CreateVpnConcentrator", expand=False)
    def create_vpn_concentrator(
        self, context: RequestContext, request: CreateVpnConcentratorRequest, **kwargs
    ) -> CreateVpnConcentratorResult:
        raise NotImplementedError

    @handler("CreateVpnConnection", expand=False)
    def create_vpn_connection(
        self, context: RequestContext, request: CreateVpnConnectionRequest, **kwargs
    ) -> CreateVpnConnectionResult:
        raise NotImplementedError

    @handler("CreateVpnConnectionRoute")
    def create_vpn_connection_route(
        self,
        context: RequestContext,
        destination_cidr_block: String,
        vpn_connection_id: VpnConnectionId,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("CreateVpnGateway", expand=False)
    def create_vpn_gateway(
        self, context: RequestContext, request: CreateVpnGatewayRequest, **kwargs
    ) -> CreateVpnGatewayResult:
        raise NotImplementedError

    @handler("DeleteCapacityManagerDataExport")
    def delete_capacity_manager_data_export(
        self,
        context: RequestContext,
        capacity_manager_data_export_id: CapacityManagerDataExportId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteCapacityManagerDataExportResult:
        raise NotImplementedError

    @handler("DeleteCarrierGateway")
    def delete_carrier_gateway(
        self,
        context: RequestContext,
        carrier_gateway_id: CarrierGatewayId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteCarrierGatewayResult:
        raise NotImplementedError

    @handler("DeleteClientVpnEndpoint")
    def delete_client_vpn_endpoint(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteClientVpnEndpointResult:
        raise NotImplementedError

    @handler("DeleteClientVpnRoute")
    def delete_client_vpn_route(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        destination_cidr_block: String,
        target_vpc_subnet_id: SubnetId | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteClientVpnRouteResult:
        raise NotImplementedError

    @handler("DeleteCoipCidr")
    def delete_coip_cidr(
        self,
        context: RequestContext,
        cidr: String,
        coip_pool_id: Ipv4PoolCoipId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteCoipCidrResult:
        raise NotImplementedError

    @handler("DeleteCoipPool")
    def delete_coip_pool(
        self,
        context: RequestContext,
        coip_pool_id: Ipv4PoolCoipId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteCoipPoolResult:
        raise NotImplementedError

    @handler("DeleteCustomerGateway")
    def delete_customer_gateway(
        self,
        context: RequestContext,
        customer_gateway_id: CustomerGatewayId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DeleteDhcpOptions")
    def delete_dhcp_options(
        self,
        context: RequestContext,
        dhcp_options_id: DhcpOptionsId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DeleteEgressOnlyInternetGateway")
    def delete_egress_only_internet_gateway(
        self,
        context: RequestContext,
        egress_only_internet_gateway_id: EgressOnlyInternetGatewayId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteEgressOnlyInternetGatewayResult:
        raise NotImplementedError

    @handler("DeleteFleets")
    def delete_fleets(
        self,
        context: RequestContext,
        fleet_ids: FleetIdSet,
        terminate_instances: Boolean,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteFleetsResult:
        raise NotImplementedError

    @handler("DeleteFlowLogs")
    def delete_flow_logs(
        self,
        context: RequestContext,
        flow_log_ids: FlowLogIdList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteFlowLogsResult:
        raise NotImplementedError

    @handler("DeleteFpgaImage")
    def delete_fpga_image(
        self,
        context: RequestContext,
        fpga_image_id: FpgaImageId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteFpgaImageResult:
        raise NotImplementedError

    @handler("DeleteImageUsageReport")
    def delete_image_usage_report(
        self,
        context: RequestContext,
        report_id: ImageUsageReportId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteImageUsageReportResult:
        raise NotImplementedError

    @handler("DeleteInstanceConnectEndpoint")
    def delete_instance_connect_endpoint(
        self,
        context: RequestContext,
        instance_connect_endpoint_id: InstanceConnectEndpointId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteInstanceConnectEndpointResult:
        raise NotImplementedError

    @handler("DeleteInstanceEventWindow")
    def delete_instance_event_window(
        self,
        context: RequestContext,
        instance_event_window_id: InstanceEventWindowId,
        dry_run: Boolean | None = None,
        force_delete: Boolean | None = None,
        **kwargs,
    ) -> DeleteInstanceEventWindowResult:
        raise NotImplementedError

    @handler("DeleteInternetGateway")
    def delete_internet_gateway(
        self,
        context: RequestContext,
        internet_gateway_id: InternetGatewayId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DeleteIpam")
    def delete_ipam(
        self,
        context: RequestContext,
        ipam_id: IpamId,
        dry_run: Boolean | None = None,
        cascade: Boolean | None = None,
        **kwargs,
    ) -> DeleteIpamResult:
        raise NotImplementedError

    @handler("DeleteIpamExternalResourceVerificationToken")
    def delete_ipam_external_resource_verification_token(
        self,
        context: RequestContext,
        ipam_external_resource_verification_token_id: IpamExternalResourceVerificationTokenId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteIpamExternalResourceVerificationTokenResult:
        raise NotImplementedError

    @handler("DeleteIpamPolicy")
    def delete_ipam_policy(
        self,
        context: RequestContext,
        ipam_policy_id: IpamPolicyId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteIpamPolicyResult:
        raise NotImplementedError

    @handler("DeleteIpamPool")
    def delete_ipam_pool(
        self,
        context: RequestContext,
        ipam_pool_id: IpamPoolId,
        dry_run: Boolean | None = None,
        cascade: Boolean | None = None,
        **kwargs,
    ) -> DeleteIpamPoolResult:
        raise NotImplementedError

    @handler("DeleteIpamPrefixListResolver")
    def delete_ipam_prefix_list_resolver(
        self,
        context: RequestContext,
        ipam_prefix_list_resolver_id: IpamPrefixListResolverId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteIpamPrefixListResolverResult:
        raise NotImplementedError

    @handler("DeleteIpamPrefixListResolverTarget")
    def delete_ipam_prefix_list_resolver_target(
        self,
        context: RequestContext,
        ipam_prefix_list_resolver_target_id: IpamPrefixListResolverTargetId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteIpamPrefixListResolverTargetResult:
        raise NotImplementedError

    @handler("DeleteIpamResourceDiscovery")
    def delete_ipam_resource_discovery(
        self,
        context: RequestContext,
        ipam_resource_discovery_id: IpamResourceDiscoveryId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteIpamResourceDiscoveryResult:
        raise NotImplementedError

    @handler("DeleteIpamScope")
    def delete_ipam_scope(
        self,
        context: RequestContext,
        ipam_scope_id: IpamScopeId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteIpamScopeResult:
        raise NotImplementedError

    @handler("DeleteKeyPair")
    def delete_key_pair(
        self,
        context: RequestContext,
        key_name: KeyPairNameWithResolver | None = None,
        key_pair_id: KeyPairId | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteKeyPairResult:
        raise NotImplementedError

    @handler("DeleteLaunchTemplate")
    def delete_launch_template(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        launch_template_id: LaunchTemplateId | None = None,
        launch_template_name: LaunchTemplateName | None = None,
        **kwargs,
    ) -> DeleteLaunchTemplateResult:
        raise NotImplementedError

    @handler("DeleteLaunchTemplateVersions")
    def delete_launch_template_versions(
        self,
        context: RequestContext,
        versions: VersionStringList,
        dry_run: Boolean | None = None,
        launch_template_id: LaunchTemplateId | None = None,
        launch_template_name: LaunchTemplateName | None = None,
        **kwargs,
    ) -> DeleteLaunchTemplateVersionsResult:
        raise NotImplementedError

    @handler("DeleteLocalGatewayRoute")
    def delete_local_gateway_route(
        self,
        context: RequestContext,
        local_gateway_route_table_id: LocalGatewayRoutetableId,
        destination_cidr_block: String | None = None,
        dry_run: Boolean | None = None,
        destination_prefix_list_id: PrefixListResourceId | None = None,
        **kwargs,
    ) -> DeleteLocalGatewayRouteResult:
        raise NotImplementedError

    @handler("DeleteLocalGatewayRouteTable")
    def delete_local_gateway_route_table(
        self,
        context: RequestContext,
        local_gateway_route_table_id: LocalGatewayRoutetableId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteLocalGatewayRouteTableResult:
        raise NotImplementedError

    @handler("DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociation")
    def delete_local_gateway_route_table_virtual_interface_group_association(
        self,
        context: RequestContext,
        local_gateway_route_table_virtual_interface_group_association_id: LocalGatewayRouteTableVirtualInterfaceGroupAssociationId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteLocalGatewayRouteTableVirtualInterfaceGroupAssociationResult:
        raise NotImplementedError

    @handler("DeleteLocalGatewayRouteTableVpcAssociation")
    def delete_local_gateway_route_table_vpc_association(
        self,
        context: RequestContext,
        local_gateway_route_table_vpc_association_id: LocalGatewayRouteTableVpcAssociationId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteLocalGatewayRouteTableVpcAssociationResult:
        raise NotImplementedError

    @handler("DeleteLocalGatewayVirtualInterface")
    def delete_local_gateway_virtual_interface(
        self,
        context: RequestContext,
        local_gateway_virtual_interface_id: LocalGatewayVirtualInterfaceId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteLocalGatewayVirtualInterfaceResult:
        raise NotImplementedError

    @handler("DeleteLocalGatewayVirtualInterfaceGroup")
    def delete_local_gateway_virtual_interface_group(
        self,
        context: RequestContext,
        local_gateway_virtual_interface_group_id: LocalGatewayVirtualInterfaceGroupId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteLocalGatewayVirtualInterfaceGroupResult:
        raise NotImplementedError

    @handler("DeleteManagedPrefixList")
    def delete_managed_prefix_list(
        self,
        context: RequestContext,
        prefix_list_id: PrefixListResourceId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteManagedPrefixListResult:
        raise NotImplementedError

    @handler("DeleteNatGateway")
    def delete_nat_gateway(
        self,
        context: RequestContext,
        nat_gateway_id: NatGatewayId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteNatGatewayResult:
        raise NotImplementedError

    @handler("DeleteNetworkAcl")
    def delete_network_acl(
        self,
        context: RequestContext,
        network_acl_id: NetworkAclId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DeleteNetworkAclEntry")
    def delete_network_acl_entry(
        self,
        context: RequestContext,
        network_acl_id: NetworkAclId,
        rule_number: Integer,
        egress: Boolean,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DeleteNetworkInsightsAccessScope")
    def delete_network_insights_access_scope(
        self,
        context: RequestContext,
        network_insights_access_scope_id: NetworkInsightsAccessScopeId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteNetworkInsightsAccessScopeResult:
        raise NotImplementedError

    @handler("DeleteNetworkInsightsAccessScopeAnalysis")
    def delete_network_insights_access_scope_analysis(
        self,
        context: RequestContext,
        network_insights_access_scope_analysis_id: NetworkInsightsAccessScopeAnalysisId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteNetworkInsightsAccessScopeAnalysisResult:
        raise NotImplementedError

    @handler("DeleteNetworkInsightsAnalysis")
    def delete_network_insights_analysis(
        self,
        context: RequestContext,
        network_insights_analysis_id: NetworkInsightsAnalysisId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteNetworkInsightsAnalysisResult:
        raise NotImplementedError

    @handler("DeleteNetworkInsightsPath")
    def delete_network_insights_path(
        self,
        context: RequestContext,
        network_insights_path_id: NetworkInsightsPathId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteNetworkInsightsPathResult:
        raise NotImplementedError

    @handler("DeleteNetworkInterface")
    def delete_network_interface(
        self,
        context: RequestContext,
        network_interface_id: NetworkInterfaceId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DeleteNetworkInterfacePermission")
    def delete_network_interface_permission(
        self,
        context: RequestContext,
        network_interface_permission_id: NetworkInterfacePermissionId,
        force: Boolean | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteNetworkInterfacePermissionResult:
        raise NotImplementedError

    @handler("DeletePlacementGroup")
    def delete_placement_group(
        self,
        context: RequestContext,
        group_name: PlacementGroupName,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DeletePublicIpv4Pool")
    def delete_public_ipv4_pool(
        self,
        context: RequestContext,
        pool_id: Ipv4PoolEc2Id,
        dry_run: Boolean | None = None,
        network_border_group: String | None = None,
        **kwargs,
    ) -> DeletePublicIpv4PoolResult:
        raise NotImplementedError

    @handler("DeleteQueuedReservedInstances")
    def delete_queued_reserved_instances(
        self,
        context: RequestContext,
        reserved_instances_ids: DeleteQueuedReservedInstancesIdList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteQueuedReservedInstancesResult:
        raise NotImplementedError

    @handler("DeleteRoute")
    def delete_route(
        self,
        context: RequestContext,
        route_table_id: RouteTableId,
        destination_prefix_list_id: PrefixListResourceId | None = None,
        dry_run: Boolean | None = None,
        destination_cidr_block: String | None = None,
        destination_ipv6_cidr_block: String | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DeleteRouteServer")
    def delete_route_server(
        self,
        context: RequestContext,
        route_server_id: RouteServerId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteRouteServerResult:
        raise NotImplementedError

    @handler("DeleteRouteServerEndpoint")
    def delete_route_server_endpoint(
        self,
        context: RequestContext,
        route_server_endpoint_id: RouteServerEndpointId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteRouteServerEndpointResult:
        raise NotImplementedError

    @handler("DeleteRouteServerPeer")
    def delete_route_server_peer(
        self,
        context: RequestContext,
        route_server_peer_id: RouteServerPeerId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteRouteServerPeerResult:
        raise NotImplementedError

    @handler("DeleteRouteTable")
    def delete_route_table(
        self,
        context: RequestContext,
        route_table_id: RouteTableId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DeleteSecurityGroup")
    def delete_security_group(
        self,
        context: RequestContext,
        group_id: SecurityGroupId | None = None,
        group_name: SecurityGroupName | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteSecurityGroupResult:
        raise NotImplementedError

    @handler("DeleteSnapshot")
    def delete_snapshot(
        self,
        context: RequestContext,
        snapshot_id: SnapshotId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DeleteSpotDatafeedSubscription")
    def delete_spot_datafeed_subscription(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> None:
        raise NotImplementedError

    @handler("DeleteSubnet")
    def delete_subnet(
        self, context: RequestContext, subnet_id: SubnetId, dry_run: Boolean | None = None, **kwargs
    ) -> None:
        raise NotImplementedError

    @handler("DeleteSubnetCidrReservation")
    def delete_subnet_cidr_reservation(
        self,
        context: RequestContext,
        subnet_cidr_reservation_id: SubnetCidrReservationId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteSubnetCidrReservationResult:
        raise NotImplementedError

    @handler("DeleteTags")
    def delete_tags(
        self,
        context: RequestContext,
        resources: ResourceIdList,
        dry_run: Boolean | None = None,
        tags: TagList | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DeleteTrafficMirrorFilter")
    def delete_traffic_mirror_filter(
        self,
        context: RequestContext,
        traffic_mirror_filter_id: TrafficMirrorFilterId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTrafficMirrorFilterResult:
        raise NotImplementedError

    @handler("DeleteTrafficMirrorFilterRule")
    def delete_traffic_mirror_filter_rule(
        self,
        context: RequestContext,
        traffic_mirror_filter_rule_id: TrafficMirrorFilterRuleIdWithResolver,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTrafficMirrorFilterRuleResult:
        raise NotImplementedError

    @handler("DeleteTrafficMirrorSession")
    def delete_traffic_mirror_session(
        self,
        context: RequestContext,
        traffic_mirror_session_id: TrafficMirrorSessionId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTrafficMirrorSessionResult:
        raise NotImplementedError

    @handler("DeleteTrafficMirrorTarget")
    def delete_traffic_mirror_target(
        self,
        context: RequestContext,
        traffic_mirror_target_id: TrafficMirrorTargetId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTrafficMirrorTargetResult:
        raise NotImplementedError

    @handler("DeleteTransitGateway")
    def delete_transit_gateway(
        self,
        context: RequestContext,
        transit_gateway_id: TransitGatewayId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTransitGatewayResult:
        raise NotImplementedError

    @handler("DeleteTransitGatewayConnect")
    def delete_transit_gateway_connect(
        self,
        context: RequestContext,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTransitGatewayConnectResult:
        raise NotImplementedError

    @handler("DeleteTransitGatewayConnectPeer")
    def delete_transit_gateway_connect_peer(
        self,
        context: RequestContext,
        transit_gateway_connect_peer_id: TransitGatewayConnectPeerId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTransitGatewayConnectPeerResult:
        raise NotImplementedError

    @handler("DeleteTransitGatewayMeteringPolicy")
    def delete_transit_gateway_metering_policy(
        self,
        context: RequestContext,
        transit_gateway_metering_policy_id: TransitGatewayMeteringPolicyId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTransitGatewayMeteringPolicyResult:
        raise NotImplementedError

    @handler("DeleteTransitGatewayMeteringPolicyEntry")
    def delete_transit_gateway_metering_policy_entry(
        self,
        context: RequestContext,
        transit_gateway_metering_policy_id: TransitGatewayMeteringPolicyId,
        policy_rule_number: Integer,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTransitGatewayMeteringPolicyEntryResult:
        raise NotImplementedError

    @handler("DeleteTransitGatewayMulticastDomain")
    def delete_transit_gateway_multicast_domain(
        self,
        context: RequestContext,
        transit_gateway_multicast_domain_id: TransitGatewayMulticastDomainId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTransitGatewayMulticastDomainResult:
        raise NotImplementedError

    @handler("DeleteTransitGatewayPeeringAttachment")
    def delete_transit_gateway_peering_attachment(
        self,
        context: RequestContext,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTransitGatewayPeeringAttachmentResult:
        raise NotImplementedError

    @handler("DeleteTransitGatewayPolicyTable")
    def delete_transit_gateway_policy_table(
        self,
        context: RequestContext,
        transit_gateway_policy_table_id: TransitGatewayPolicyTableId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTransitGatewayPolicyTableResult:
        raise NotImplementedError

    @handler("DeleteTransitGatewayPrefixListReference")
    def delete_transit_gateway_prefix_list_reference(
        self,
        context: RequestContext,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        prefix_list_id: PrefixListResourceId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTransitGatewayPrefixListReferenceResult:
        raise NotImplementedError

    @handler("DeleteTransitGatewayRoute")
    def delete_transit_gateway_route(
        self,
        context: RequestContext,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        destination_cidr_block: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTransitGatewayRouteResult:
        raise NotImplementedError

    @handler("DeleteTransitGatewayRouteTable")
    def delete_transit_gateway_route_table(
        self,
        context: RequestContext,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTransitGatewayRouteTableResult:
        raise NotImplementedError

    @handler("DeleteTransitGatewayRouteTableAnnouncement")
    def delete_transit_gateway_route_table_announcement(
        self,
        context: RequestContext,
        transit_gateway_route_table_announcement_id: TransitGatewayRouteTableAnnouncementId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTransitGatewayRouteTableAnnouncementResult:
        raise NotImplementedError

    @handler("DeleteTransitGatewayVpcAttachment")
    def delete_transit_gateway_vpc_attachment(
        self,
        context: RequestContext,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteTransitGatewayVpcAttachmentResult:
        raise NotImplementedError

    @handler("DeleteVerifiedAccessEndpoint")
    def delete_verified_access_endpoint(
        self,
        context: RequestContext,
        verified_access_endpoint_id: VerifiedAccessEndpointId,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteVerifiedAccessEndpointResult:
        raise NotImplementedError

    @handler("DeleteVerifiedAccessGroup")
    def delete_verified_access_group(
        self,
        context: RequestContext,
        verified_access_group_id: VerifiedAccessGroupId,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteVerifiedAccessGroupResult:
        raise NotImplementedError

    @handler("DeleteVerifiedAccessInstance")
    def delete_verified_access_instance(
        self,
        context: RequestContext,
        verified_access_instance_id: VerifiedAccessInstanceId,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> DeleteVerifiedAccessInstanceResult:
        raise NotImplementedError

    @handler("DeleteVerifiedAccessTrustProvider")
    def delete_verified_access_trust_provider(
        self,
        context: RequestContext,
        verified_access_trust_provider_id: VerifiedAccessTrustProviderId,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> DeleteVerifiedAccessTrustProviderResult:
        raise NotImplementedError

    @handler("DeleteVolume")
    def delete_volume(
        self, context: RequestContext, volume_id: VolumeId, dry_run: Boolean | None = None, **kwargs
    ) -> None:
        raise NotImplementedError

    @handler("DeleteVpc")
    def delete_vpc(
        self, context: RequestContext, vpc_id: VpcId, dry_run: Boolean | None = None, **kwargs
    ) -> None:
        raise NotImplementedError

    @handler("DeleteVpcBlockPublicAccessExclusion")
    def delete_vpc_block_public_access_exclusion(
        self,
        context: RequestContext,
        exclusion_id: VpcBlockPublicAccessExclusionId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteVpcBlockPublicAccessExclusionResult:
        raise NotImplementedError

    @handler("DeleteVpcEncryptionControl")
    def delete_vpc_encryption_control(
        self,
        context: RequestContext,
        vpc_encryption_control_id: VpcEncryptionControlId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteVpcEncryptionControlResult:
        raise NotImplementedError

    @handler("DeleteVpcEndpointConnectionNotifications")
    def delete_vpc_endpoint_connection_notifications(
        self,
        context: RequestContext,
        connection_notification_ids: ConnectionNotificationIdsList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteVpcEndpointConnectionNotificationsResult:
        raise NotImplementedError

    @handler("DeleteVpcEndpointServiceConfigurations")
    def delete_vpc_endpoint_service_configurations(
        self,
        context: RequestContext,
        service_ids: VpcEndpointServiceIdList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteVpcEndpointServiceConfigurationsResult:
        raise NotImplementedError

    @handler("DeleteVpcEndpoints")
    def delete_vpc_endpoints(
        self,
        context: RequestContext,
        vpc_endpoint_ids: VpcEndpointIdList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteVpcEndpointsResult:
        raise NotImplementedError

    @handler("DeleteVpcPeeringConnection")
    def delete_vpc_peering_connection(
        self,
        context: RequestContext,
        vpc_peering_connection_id: VpcPeeringConnectionId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteVpcPeeringConnectionResult:
        raise NotImplementedError

    @handler("DeleteVpnConcentrator")
    def delete_vpn_concentrator(
        self,
        context: RequestContext,
        vpn_concentrator_id: VpnConcentratorId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeleteVpnConcentratorResult:
        raise NotImplementedError

    @handler("DeleteVpnConnection")
    def delete_vpn_connection(
        self,
        context: RequestContext,
        vpn_connection_id: VpnConnectionId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DeleteVpnConnectionRoute")
    def delete_vpn_connection_route(
        self,
        context: RequestContext,
        destination_cidr_block: String,
        vpn_connection_id: VpnConnectionId,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DeleteVpnGateway")
    def delete_vpn_gateway(
        self,
        context: RequestContext,
        vpn_gateway_id: VpnGatewayId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DeprovisionByoipCidr")
    def deprovision_byoip_cidr(
        self, context: RequestContext, cidr: String, dry_run: Boolean | None = None, **kwargs
    ) -> DeprovisionByoipCidrResult:
        raise NotImplementedError

    @handler("DeprovisionIpamByoasn")
    def deprovision_ipam_byoasn(
        self,
        context: RequestContext,
        ipam_id: IpamId,
        asn: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeprovisionIpamByoasnResult:
        raise NotImplementedError

    @handler("DeprovisionIpamPoolCidr")
    def deprovision_ipam_pool_cidr(
        self,
        context: RequestContext,
        ipam_pool_id: IpamPoolId,
        dry_run: Boolean | None = None,
        cidr: String | None = None,
        **kwargs,
    ) -> DeprovisionIpamPoolCidrResult:
        raise NotImplementedError

    @handler("DeprovisionPublicIpv4PoolCidr")
    def deprovision_public_ipv4_pool_cidr(
        self,
        context: RequestContext,
        pool_id: Ipv4PoolEc2Id,
        cidr: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeprovisionPublicIpv4PoolCidrResult:
        raise NotImplementedError

    @handler("DeregisterImage")
    def deregister_image(
        self,
        context: RequestContext,
        image_id: ImageId,
        delete_associated_snapshots: Boolean | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeregisterImageResult:
        raise NotImplementedError

    @handler("DeregisterInstanceEventNotificationAttributes")
    def deregister_instance_event_notification_attributes(
        self,
        context: RequestContext,
        instance_tag_attribute: DeregisterInstanceTagAttributeRequest,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeregisterInstanceEventNotificationAttributesResult:
        raise NotImplementedError

    @handler("DeregisterTransitGatewayMulticastGroupMembers")
    def deregister_transit_gateway_multicast_group_members(
        self,
        context: RequestContext,
        transit_gateway_multicast_domain_id: TransitGatewayMulticastDomainId | None = None,
        group_ip_address: String | None = None,
        network_interface_ids: TransitGatewayNetworkInterfaceIdList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeregisterTransitGatewayMulticastGroupMembersResult:
        raise NotImplementedError

    @handler("DeregisterTransitGatewayMulticastGroupSources")
    def deregister_transit_gateway_multicast_group_sources(
        self,
        context: RequestContext,
        transit_gateway_multicast_domain_id: TransitGatewayMulticastDomainId | None = None,
        group_ip_address: String | None = None,
        network_interface_ids: TransitGatewayNetworkInterfaceIdList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DeregisterTransitGatewayMulticastGroupSourcesResult:
        raise NotImplementedError

    @handler("DescribeAccountAttributes")
    def describe_account_attributes(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        attribute_names: AccountAttributeNameStringList | None = None,
        **kwargs,
    ) -> DescribeAccountAttributesResult:
        raise NotImplementedError

    @handler("DescribeAddressTransfers")
    def describe_address_transfers(
        self,
        context: RequestContext,
        allocation_ids: AllocationIdList | None = None,
        next_token: String | None = None,
        max_results: DescribeAddressTransfersMaxResults | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeAddressTransfersResult:
        raise NotImplementedError

    @handler("DescribeAddresses")
    def describe_addresses(
        self,
        context: RequestContext,
        public_ips: PublicIpStringList | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        allocation_ids: AllocationIdList | None = None,
        **kwargs,
    ) -> DescribeAddressesResult:
        raise NotImplementedError

    @handler("DescribeAddressesAttribute")
    def describe_addresses_attribute(
        self,
        context: RequestContext,
        allocation_ids: AllocationIds | None = None,
        attribute: AddressAttributeName | None = None,
        next_token: NextToken | None = None,
        max_results: AddressMaxResults | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeAddressesAttributeResult:
        raise NotImplementedError

    @handler("DescribeAggregateIdFormat")
    def describe_aggregate_id_format(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> DescribeAggregateIdFormatResult:
        raise NotImplementedError

    @handler("DescribeAvailabilityZones")
    def describe_availability_zones(
        self,
        context: RequestContext,
        zone_names: ZoneNameStringList | None = None,
        zone_ids: ZoneIdStringList | None = None,
        all_availability_zones: Boolean | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeAvailabilityZonesResult:
        raise NotImplementedError

    @handler("DescribeAwsNetworkPerformanceMetricSubscriptions")
    def describe_aws_network_performance_metric_subscriptions(
        self,
        context: RequestContext,
        max_results: MaxResultsParam | None = None,
        next_token: String | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeAwsNetworkPerformanceMetricSubscriptionsResult:
        raise NotImplementedError

    @handler("DescribeBundleTasks")
    def describe_bundle_tasks(
        self,
        context: RequestContext,
        bundle_ids: BundleIdStringList | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeBundleTasksResult:
        raise NotImplementedError

    @handler("DescribeByoipCidrs")
    def describe_byoip_cidrs(
        self,
        context: RequestContext,
        max_results: DescribeByoipCidrsMaxResults,
        dry_run: Boolean | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> DescribeByoipCidrsResult:
        raise NotImplementedError

    @handler("DescribeCapacityBlockExtensionHistory")
    def describe_capacity_block_extension_history(
        self,
        context: RequestContext,
        capacity_reservation_ids: CapacityReservationIdSet | None = None,
        next_token: String | None = None,
        max_results: DescribeFutureCapacityMaxResults | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeCapacityBlockExtensionHistoryResult:
        raise NotImplementedError

    @handler("DescribeCapacityBlockExtensionOfferings")
    def describe_capacity_block_extension_offerings(
        self,
        context: RequestContext,
        capacity_block_extension_duration_hours: Integer,
        capacity_reservation_id: CapacityReservationId,
        dry_run: Boolean | None = None,
        next_token: String | None = None,
        max_results: DescribeCapacityBlockExtensionOfferingsMaxResults | None = None,
        **kwargs,
    ) -> DescribeCapacityBlockExtensionOfferingsResult:
        raise NotImplementedError

    @handler("DescribeCapacityBlockOfferings")
    def describe_capacity_block_offerings(
        self,
        context: RequestContext,
        capacity_duration_hours: Integer,
        dry_run: Boolean | None = None,
        instance_type: String | None = None,
        instance_count: Integer | None = None,
        start_date_range: MillisecondDateTime | None = None,
        end_date_range: MillisecondDateTime | None = None,
        next_token: String | None = None,
        max_results: DescribeCapacityBlockOfferingsMaxResults | None = None,
        ultraserver_type: String | None = None,
        ultraserver_count: Integer | None = None,
        **kwargs,
    ) -> DescribeCapacityBlockOfferingsResult:
        raise NotImplementedError

    @handler("DescribeCapacityBlockStatus")
    def describe_capacity_block_status(
        self,
        context: RequestContext,
        capacity_block_ids: CapacityBlockIds | None = None,
        next_token: String | None = None,
        max_results: DescribeCapacityBlockStatusMaxResults | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeCapacityBlockStatusResult:
        raise NotImplementedError

    @handler("DescribeCapacityBlocks")
    def describe_capacity_blocks(
        self,
        context: RequestContext,
        capacity_block_ids: CapacityBlockIds | None = None,
        next_token: String | None = None,
        max_results: DescribeCapacityBlocksMaxResults | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeCapacityBlocksResult:
        raise NotImplementedError

    @handler("DescribeCapacityManagerDataExports")
    def describe_capacity_manager_data_exports(
        self,
        context: RequestContext,
        capacity_manager_data_export_ids: CapacityManagerDataExportIdSet | None = None,
        max_results: DescribeCapacityManagerDataExportsRequestMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeCapacityManagerDataExportsResult:
        raise NotImplementedError

    @handler("DescribeCapacityReservationBillingRequests")
    def describe_capacity_reservation_billing_requests(
        self,
        context: RequestContext,
        role: CallerRole,
        capacity_reservation_ids: CapacityReservationIdSet | None = None,
        next_token: String | None = None,
        max_results: DescribeCapacityReservationBillingRequestsRequestMaxResults | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeCapacityReservationBillingRequestsResult:
        raise NotImplementedError

    @handler("DescribeCapacityReservationFleets")
    def describe_capacity_reservation_fleets(
        self,
        context: RequestContext,
        capacity_reservation_fleet_ids: CapacityReservationFleetIdSet | None = None,
        next_token: String | None = None,
        max_results: DescribeCapacityReservationFleetsMaxResults | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeCapacityReservationFleetsResult:
        raise NotImplementedError

    @handler("DescribeCapacityReservationTopology")
    def describe_capacity_reservation_topology(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        next_token: String | None = None,
        max_results: DescribeCapacityReservationTopologyMaxResults | None = None,
        capacity_reservation_ids: CapacityReservationIdSet | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeCapacityReservationTopologyResult:
        raise NotImplementedError

    @handler("DescribeCapacityReservations")
    def describe_capacity_reservations(
        self,
        context: RequestContext,
        capacity_reservation_ids: CapacityReservationIdSet | None = None,
        next_token: String | None = None,
        max_results: DescribeCapacityReservationsMaxResults | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeCapacityReservationsResult:
        raise NotImplementedError

    @handler("DescribeCarrierGateways")
    def describe_carrier_gateways(
        self,
        context: RequestContext,
        carrier_gateway_ids: CarrierGatewayIdSet | None = None,
        filters: FilterList | None = None,
        max_results: CarrierGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeCarrierGatewaysResult:
        raise NotImplementedError

    @handler("DescribeClassicLinkInstances")
    def describe_classic_link_instances(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        instance_ids: InstanceIdStringList | None = None,
        filters: FilterList | None = None,
        next_token: String | None = None,
        max_results: DescribeClassicLinkInstancesMaxResults | None = None,
        **kwargs,
    ) -> DescribeClassicLinkInstancesResult:
        raise NotImplementedError

    @handler("DescribeClientVpnAuthorizationRules")
    def describe_client_vpn_authorization_rules(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        dry_run: Boolean | None = None,
        next_token: NextToken | None = None,
        filters: FilterList | None = None,
        max_results: DescribeClientVpnAuthorizationRulesMaxResults | None = None,
        **kwargs,
    ) -> DescribeClientVpnAuthorizationRulesResult:
        raise NotImplementedError

    @handler("DescribeClientVpnConnections")
    def describe_client_vpn_connections(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        filters: FilterList | None = None,
        next_token: NextToken | None = None,
        max_results: DescribeClientVpnConnectionsMaxResults | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeClientVpnConnectionsResult:
        raise NotImplementedError

    @handler("DescribeClientVpnEndpoints")
    def describe_client_vpn_endpoints(
        self,
        context: RequestContext,
        client_vpn_endpoint_ids: ClientVpnEndpointIdList | None = None,
        max_results: DescribeClientVpnEndpointMaxResults | None = None,
        next_token: NextToken | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeClientVpnEndpointsResult:
        raise NotImplementedError

    @handler("DescribeClientVpnRoutes")
    def describe_client_vpn_routes(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        filters: FilterList | None = None,
        max_results: DescribeClientVpnRoutesMaxResults | None = None,
        next_token: NextToken | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeClientVpnRoutesResult:
        raise NotImplementedError

    @handler("DescribeClientVpnTargetNetworks")
    def describe_client_vpn_target_networks(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        association_ids: ValueStringList | None = None,
        max_results: DescribeClientVpnTargetNetworksMaxResults | None = None,
        next_token: NextToken | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeClientVpnTargetNetworksResult:
        raise NotImplementedError

    @handler("DescribeCoipPools")
    def describe_coip_pools(
        self,
        context: RequestContext,
        pool_ids: CoipPoolIdSet | None = None,
        filters: FilterList | None = None,
        max_results: CoipPoolMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeCoipPoolsResult:
        raise NotImplementedError

    @handler("DescribeConversionTasks")
    def describe_conversion_tasks(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        conversion_task_ids: ConversionIdStringList | None = None,
        **kwargs,
    ) -> DescribeConversionTasksResult:
        raise NotImplementedError

    @handler("DescribeCustomerGateways")
    def describe_customer_gateways(
        self,
        context: RequestContext,
        customer_gateway_ids: CustomerGatewayIdStringList | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeCustomerGatewaysResult:
        raise NotImplementedError

    @handler("DescribeDeclarativePoliciesReports")
    def describe_declarative_policies_reports(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        next_token: String | None = None,
        max_results: DeclarativePoliciesMaxResults | None = None,
        report_ids: ValueStringList | None = None,
        **kwargs,
    ) -> DescribeDeclarativePoliciesReportsResult:
        raise NotImplementedError

    @handler("DescribeDhcpOptions")
    def describe_dhcp_options(
        self,
        context: RequestContext,
        dhcp_options_ids: DhcpOptionsIdStringList | None = None,
        next_token: String | None = None,
        max_results: DescribeDhcpOptionsMaxResults | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeDhcpOptionsResult:
        raise NotImplementedError

    @handler("DescribeEgressOnlyInternetGateways")
    def describe_egress_only_internet_gateways(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        egress_only_internet_gateway_ids: EgressOnlyInternetGatewayIdList | None = None,
        max_results: DescribeEgressOnlyInternetGatewaysMaxResults | None = None,
        next_token: String | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeEgressOnlyInternetGatewaysResult:
        raise NotImplementedError

    @handler("DescribeElasticGpus")
    def describe_elastic_gpus(
        self,
        context: RequestContext,
        elastic_gpu_ids: ElasticGpuIdSet | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: DescribeElasticGpusMaxResults | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeElasticGpusResult:
        raise NotImplementedError

    @handler("DescribeExportImageTasks")
    def describe_export_image_tasks(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        export_image_task_ids: ExportImageTaskIdList | None = None,
        max_results: DescribeExportImageTasksMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> DescribeExportImageTasksResult:
        raise NotImplementedError

    @handler("DescribeExportTasks")
    def describe_export_tasks(
        self,
        context: RequestContext,
        filters: FilterList | None = None,
        export_task_ids: ExportTaskIdStringList | None = None,
        **kwargs,
    ) -> DescribeExportTasksResult:
        raise NotImplementedError

    @handler("DescribeFastLaunchImages")
    def describe_fast_launch_images(
        self,
        context: RequestContext,
        image_ids: FastLaunchImageIdList | None = None,
        filters: FilterList | None = None,
        max_results: DescribeFastLaunchImagesRequestMaxResults | None = None,
        next_token: NextToken | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeFastLaunchImagesResult:
        raise NotImplementedError

    @handler("DescribeFastSnapshotRestores")
    def describe_fast_snapshot_restores(
        self,
        context: RequestContext,
        filters: FilterList | None = None,
        max_results: DescribeFastSnapshotRestoresMaxResults | None = None,
        next_token: NextToken | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeFastSnapshotRestoresResult:
        raise NotImplementedError

    @handler("DescribeFleetHistory")
    def describe_fleet_history(
        self,
        context: RequestContext,
        fleet_id: FleetId,
        start_time: DateTime,
        dry_run: Boolean | None = None,
        event_type: FleetEventType | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeFleetHistoryResult:
        raise NotImplementedError

    @handler("DescribeFleetInstances")
    def describe_fleet_instances(
        self,
        context: RequestContext,
        fleet_id: FleetId,
        dry_run: Boolean | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeFleetInstancesResult:
        raise NotImplementedError

    @handler("DescribeFleets")
    def describe_fleets(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        fleet_ids: FleetIdSet | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeFleetsResult:
        raise NotImplementedError

    @handler("DescribeFlowLogs")
    def describe_flow_logs(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filter: FilterList | None = None,
        flow_log_ids: FlowLogIdList | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeFlowLogsResult:
        raise NotImplementedError

    @handler("DescribeFpgaImageAttribute")
    def describe_fpga_image_attribute(
        self,
        context: RequestContext,
        fpga_image_id: FpgaImageId,
        attribute: FpgaImageAttributeName,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeFpgaImageAttributeResult:
        raise NotImplementedError

    @handler("DescribeFpgaImages")
    def describe_fpga_images(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        fpga_image_ids: FpgaImageIdList | None = None,
        owners: OwnerStringList | None = None,
        filters: FilterList | None = None,
        next_token: NextToken | None = None,
        max_results: DescribeFpgaImagesMaxResults | None = None,
        **kwargs,
    ) -> DescribeFpgaImagesResult:
        raise NotImplementedError

    @handler("DescribeHostReservationOfferings")
    def describe_host_reservation_offerings(
        self,
        context: RequestContext,
        filter: FilterList | None = None,
        max_duration: Integer | None = None,
        max_results: DescribeHostReservationsMaxResults | None = None,
        min_duration: Integer | None = None,
        next_token: String | None = None,
        offering_id: OfferingId | None = None,
        **kwargs,
    ) -> DescribeHostReservationOfferingsResult:
        raise NotImplementedError

    @handler("DescribeHostReservations")
    def describe_host_reservations(
        self,
        context: RequestContext,
        filter: FilterList | None = None,
        host_reservation_id_set: HostReservationIdSet | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeHostReservationsResult:
        raise NotImplementedError

    @handler("DescribeHosts")
    def describe_hosts(
        self,
        context: RequestContext,
        host_ids: RequestHostIdList | None = None,
        next_token: String | None = None,
        max_results: Integer | None = None,
        filter: FilterList | None = None,
        **kwargs,
    ) -> DescribeHostsResult:
        raise NotImplementedError

    @handler("DescribeIamInstanceProfileAssociations")
    def describe_iam_instance_profile_associations(
        self,
        context: RequestContext,
        association_ids: AssociationIdList | None = None,
        filters: FilterList | None = None,
        max_results: DescribeIamInstanceProfileAssociationsMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> DescribeIamInstanceProfileAssociationsResult:
        raise NotImplementedError

    @handler("DescribeIdFormat")
    def describe_id_format(
        self, context: RequestContext, resource: String | None = None, **kwargs
    ) -> DescribeIdFormatResult:
        raise NotImplementedError

    @handler("DescribeIdentityIdFormat")
    def describe_identity_id_format(
        self,
        context: RequestContext,
        principal_arn: String,
        resource: String | None = None,
        **kwargs,
    ) -> DescribeIdentityIdFormatResult:
        raise NotImplementedError

    @handler("DescribeImageAttribute")
    def describe_image_attribute(
        self,
        context: RequestContext,
        attribute: ImageAttributeName,
        image_id: ImageId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ImageAttribute:
        raise NotImplementedError

    @handler("DescribeImageReferences")
    def describe_image_references(
        self,
        context: RequestContext,
        image_ids: DescribeImageReferencesImageIdStringList,
        include_all_resource_types: Boolean | None = None,
        resource_types: ResourceTypeRequestList | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        max_results: DescribeImageReferencesMaxResults | None = None,
        **kwargs,
    ) -> DescribeImageReferencesResult:
        raise NotImplementedError

    @handler("DescribeImageUsageReportEntries")
    def describe_image_usage_report_entries(
        self,
        context: RequestContext,
        image_ids: DescribeImageUsageReportsImageIdStringList | None = None,
        report_ids: ImageUsageReportIdStringList | None = None,
        next_token: String | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        max_results: DescribeImageUsageReportEntriesMaxResults | None = None,
        **kwargs,
    ) -> DescribeImageUsageReportEntriesResult:
        raise NotImplementedError

    @handler("DescribeImageUsageReports")
    def describe_image_usage_reports(
        self,
        context: RequestContext,
        image_ids: DescribeImageUsageReportsImageIdStringList | None = None,
        report_ids: ImageUsageReportIdStringList | None = None,
        next_token: String | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        max_results: DescribeImageUsageReportsMaxResults | None = None,
        **kwargs,
    ) -> DescribeImageUsageReportsResult:
        raise NotImplementedError

    @handler("DescribeImages")
    def describe_images(
        self,
        context: RequestContext,
        executable_users: ExecutableByStringList | None = None,
        image_ids: ImageIdStringList | None = None,
        owners: OwnerStringList | None = None,
        include_deprecated: Boolean | None = None,
        include_disabled: Boolean | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeImagesResult:
        raise NotImplementedError

    @handler("DescribeImportImageTasks")
    def describe_import_image_tasks(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        import_task_ids: ImportTaskIdList | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeImportImageTasksResult:
        raise NotImplementedError

    @handler("DescribeImportSnapshotTasks")
    def describe_import_snapshot_tasks(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        import_task_ids: ImportSnapshotTaskIdList | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeImportSnapshotTasksResult:
        raise NotImplementedError

    @handler("DescribeInstanceAttribute")
    def describe_instance_attribute(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        attribute: InstanceAttributeName,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> InstanceAttribute:
        raise NotImplementedError

    @handler("DescribeInstanceConnectEndpoints")
    def describe_instance_connect_endpoints(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        max_results: InstanceConnectEndpointMaxResults | None = None,
        next_token: NextToken | None = None,
        filters: FilterList | None = None,
        instance_connect_endpoint_ids: ValueStringList | None = None,
        **kwargs,
    ) -> DescribeInstanceConnectEndpointsResult:
        raise NotImplementedError

    @handler("DescribeInstanceCreditSpecifications")
    def describe_instance_credit_specifications(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        instance_ids: InstanceIdStringList | None = None,
        max_results: DescribeInstanceCreditSpecificationsMaxResults | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeInstanceCreditSpecificationsResult:
        raise NotImplementedError

    @handler("DescribeInstanceEventNotificationAttributes")
    def describe_instance_event_notification_attributes(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> DescribeInstanceEventNotificationAttributesResult:
        raise NotImplementedError

    @handler("DescribeInstanceEventWindows")
    def describe_instance_event_windows(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        instance_event_window_ids: InstanceEventWindowIdSet | None = None,
        filters: FilterList | None = None,
        max_results: ResultRange | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeInstanceEventWindowsResult:
        raise NotImplementedError

    @handler("DescribeInstanceImageMetadata")
    def describe_instance_image_metadata(
        self,
        context: RequestContext,
        filters: FilterList | None = None,
        instance_ids: InstanceIdStringList | None = None,
        max_results: DescribeInstanceImageMetadataMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeInstanceImageMetadataResult:
        raise NotImplementedError

    @handler("DescribeInstanceSqlHaHistoryStates")
    def describe_instance_sql_ha_history_states(
        self,
        context: RequestContext,
        instance_ids: InstanceIdStringList | None = None,
        start_time: MillisecondDateTime | None = None,
        end_time: MillisecondDateTime | None = None,
        next_token: NextToken | None = None,
        max_results: DescribeInstanceSqlHaStatesRequestMaxResultsInteger | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeInstanceSqlHaHistoryStatesResult:
        raise NotImplementedError

    @handler("DescribeInstanceSqlHaStates")
    def describe_instance_sql_ha_states(
        self,
        context: RequestContext,
        instance_ids: InstanceIdStringList | None = None,
        next_token: NextToken | None = None,
        max_results: DescribeInstanceSqlHaStatesRequestMaxResultsInteger | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeInstanceSqlHaStatesResult:
        raise NotImplementedError

    @handler("DescribeInstanceStatus")
    def describe_instance_status(
        self,
        context: RequestContext,
        instance_ids: InstanceIdStringList | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        include_all_instances: Boolean | None = None,
        **kwargs,
    ) -> DescribeInstanceStatusResult:
        raise NotImplementedError

    @handler("DescribeInstanceTopology")
    def describe_instance_topology(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        next_token: String | None = None,
        max_results: DescribeInstanceTopologyMaxResults | None = None,
        instance_ids: DescribeInstanceTopologyInstanceIdSet | None = None,
        group_names: DescribeInstanceTopologyGroupNameSet | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeInstanceTopologyResult:
        raise NotImplementedError

    @handler("DescribeInstanceTypeOfferings")
    def describe_instance_type_offerings(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        location_type: LocationType | None = None,
        filters: FilterList | None = None,
        max_results: DITOMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> DescribeInstanceTypeOfferingsResult:
        raise NotImplementedError

    @handler("DescribeInstanceTypes")
    def describe_instance_types(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        instance_types: RequestInstanceTypeList | None = None,
        filters: FilterList | None = None,
        max_results: DITMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> DescribeInstanceTypesResult:
        raise NotImplementedError

    @handler("DescribeInstances")
    def describe_instances(
        self,
        context: RequestContext,
        instance_ids: InstanceIdStringList | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        next_token: String | None = None,
        max_results: Integer | None = None,
        **kwargs,
    ) -> DescribeInstancesResult:
        raise NotImplementedError

    @handler("DescribeInternetGateways")
    def describe_internet_gateways(
        self,
        context: RequestContext,
        next_token: String | None = None,
        max_results: DescribeInternetGatewaysMaxResults | None = None,
        dry_run: Boolean | None = None,
        internet_gateway_ids: InternetGatewayIdList | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeInternetGatewaysResult:
        raise NotImplementedError

    @handler("DescribeIpamByoasn")
    def describe_ipam_byoasn(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        max_results: DescribeIpamByoasnMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> DescribeIpamByoasnResult:
        raise NotImplementedError

    @handler("DescribeIpamExternalResourceVerificationTokens")
    def describe_ipam_external_resource_verification_tokens(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        next_token: NextToken | None = None,
        max_results: IpamMaxResults | None = None,
        ipam_external_resource_verification_token_ids: ValueStringList | None = None,
        **kwargs,
    ) -> DescribeIpamExternalResourceVerificationTokensResult:
        raise NotImplementedError

    @handler("DescribeIpamPolicies")
    def describe_ipam_policies(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: IpamMaxResults | None = None,
        next_token: NextToken | None = None,
        ipam_policy_ids: ValueStringList | None = None,
        **kwargs,
    ) -> DescribeIpamPoliciesResult:
        raise NotImplementedError

    @handler("DescribeIpamPools")
    def describe_ipam_pools(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: IpamMaxResults | None = None,
        next_token: NextToken | None = None,
        ipam_pool_ids: ValueStringList | None = None,
        **kwargs,
    ) -> DescribeIpamPoolsResult:
        raise NotImplementedError

    @handler("DescribeIpamPrefixListResolverTargets")
    def describe_ipam_prefix_list_resolver_targets(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: IpamMaxResults | None = None,
        next_token: NextToken | None = None,
        ipam_prefix_list_resolver_target_ids: ValueStringList | None = None,
        ipam_prefix_list_resolver_id: IpamPrefixListResolverId | None = None,
        **kwargs,
    ) -> DescribeIpamPrefixListResolverTargetsResult:
        raise NotImplementedError

    @handler("DescribeIpamPrefixListResolvers")
    def describe_ipam_prefix_list_resolvers(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: IpamMaxResults | None = None,
        next_token: NextToken | None = None,
        ipam_prefix_list_resolver_ids: ValueStringList | None = None,
        **kwargs,
    ) -> DescribeIpamPrefixListResolversResult:
        raise NotImplementedError

    @handler("DescribeIpamResourceDiscoveries")
    def describe_ipam_resource_discoveries(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        ipam_resource_discovery_ids: ValueStringList | None = None,
        next_token: NextToken | None = None,
        max_results: IpamMaxResults | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeIpamResourceDiscoveriesResult:
        raise NotImplementedError

    @handler("DescribeIpamResourceDiscoveryAssociations")
    def describe_ipam_resource_discovery_associations(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        ipam_resource_discovery_association_ids: ValueStringList | None = None,
        next_token: NextToken | None = None,
        max_results: IpamMaxResults | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeIpamResourceDiscoveryAssociationsResult:
        raise NotImplementedError

    @handler("DescribeIpamScopes")
    def describe_ipam_scopes(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: IpamMaxResults | None = None,
        next_token: NextToken | None = None,
        ipam_scope_ids: ValueStringList | None = None,
        **kwargs,
    ) -> DescribeIpamScopesResult:
        raise NotImplementedError

    @handler("DescribeIpams")
    def describe_ipams(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: IpamMaxResults | None = None,
        next_token: NextToken | None = None,
        ipam_ids: ValueStringList | None = None,
        **kwargs,
    ) -> DescribeIpamsResult:
        raise NotImplementedError

    @handler("DescribeIpv6Pools")
    def describe_ipv6_pools(
        self,
        context: RequestContext,
        pool_ids: Ipv6PoolIdList | None = None,
        next_token: NextToken | None = None,
        max_results: Ipv6PoolMaxResults | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeIpv6PoolsResult:
        raise NotImplementedError

    @handler("DescribeKeyPairs")
    def describe_key_pairs(
        self,
        context: RequestContext,
        key_names: KeyNameStringList | None = None,
        key_pair_ids: KeyPairIdStringList | None = None,
        include_public_key: Boolean | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeKeyPairsResult:
        raise NotImplementedError

    @handler("DescribeLaunchTemplateVersions")
    def describe_launch_template_versions(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        launch_template_id: LaunchTemplateId | None = None,
        launch_template_name: LaunchTemplateName | None = None,
        versions: VersionStringList | None = None,
        min_version: String | None = None,
        max_version: String | None = None,
        next_token: String | None = None,
        max_results: Integer | None = None,
        filters: FilterList | None = None,
        resolve_alias: Boolean | None = None,
        **kwargs,
    ) -> DescribeLaunchTemplateVersionsResult:
        raise NotImplementedError

    @handler("DescribeLaunchTemplates")
    def describe_launch_templates(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        launch_template_ids: LaunchTemplateIdStringList | None = None,
        launch_template_names: LaunchTemplateNameStringList | None = None,
        filters: FilterList | None = None,
        next_token: String | None = None,
        max_results: DescribeLaunchTemplatesMaxResults | None = None,
        **kwargs,
    ) -> DescribeLaunchTemplatesResult:
        raise NotImplementedError

    @handler("DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations")
    def describe_local_gateway_route_table_virtual_interface_group_associations(
        self,
        context: RequestContext,
        local_gateway_route_table_virtual_interface_group_association_ids: LocalGatewayRouteTableVirtualInterfaceGroupAssociationIdSet
        | None = None,
        filters: FilterList | None = None,
        max_results: LocalGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsResult:
        raise NotImplementedError

    @handler("DescribeLocalGatewayRouteTableVpcAssociations")
    def describe_local_gateway_route_table_vpc_associations(
        self,
        context: RequestContext,
        local_gateway_route_table_vpc_association_ids: LocalGatewayRouteTableVpcAssociationIdSet
        | None = None,
        filters: FilterList | None = None,
        max_results: LocalGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeLocalGatewayRouteTableVpcAssociationsResult:
        raise NotImplementedError

    @handler("DescribeLocalGatewayRouteTables")
    def describe_local_gateway_route_tables(
        self,
        context: RequestContext,
        local_gateway_route_table_ids: LocalGatewayRouteTableIdSet | None = None,
        filters: FilterList | None = None,
        max_results: LocalGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeLocalGatewayRouteTablesResult:
        raise NotImplementedError

    @handler("DescribeLocalGatewayVirtualInterfaceGroups")
    def describe_local_gateway_virtual_interface_groups(
        self,
        context: RequestContext,
        local_gateway_virtual_interface_group_ids: LocalGatewayVirtualInterfaceGroupIdSet
        | None = None,
        filters: FilterList | None = None,
        max_results: LocalGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeLocalGatewayVirtualInterfaceGroupsResult:
        raise NotImplementedError

    @handler("DescribeLocalGatewayVirtualInterfaces")
    def describe_local_gateway_virtual_interfaces(
        self,
        context: RequestContext,
        local_gateway_virtual_interface_ids: LocalGatewayVirtualInterfaceIdSet | None = None,
        filters: FilterList | None = None,
        max_results: LocalGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeLocalGatewayVirtualInterfacesResult:
        raise NotImplementedError

    @handler("DescribeLocalGateways")
    def describe_local_gateways(
        self,
        context: RequestContext,
        local_gateway_ids: LocalGatewayIdSet | None = None,
        filters: FilterList | None = None,
        max_results: LocalGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeLocalGatewaysResult:
        raise NotImplementedError

    @handler("DescribeLockedSnapshots")
    def describe_locked_snapshots(
        self,
        context: RequestContext,
        filters: FilterList | None = None,
        max_results: DescribeLockedSnapshotsMaxResults | None = None,
        next_token: String | None = None,
        snapshot_ids: SnapshotIdStringList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeLockedSnapshotsResult:
        raise NotImplementedError

    @handler("DescribeMacHosts")
    def describe_mac_hosts(
        self,
        context: RequestContext,
        filters: FilterList | None = None,
        host_ids: RequestHostIdList | None = None,
        max_results: DescribeMacHostsRequestMaxResults | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeMacHostsResult:
        raise NotImplementedError

    @handler("DescribeMacModificationTasks")
    def describe_mac_modification_tasks(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        mac_modification_task_ids: MacModificationTaskIdList | None = None,
        max_results: DescribeMacModificationTasksMaxResults | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeMacModificationTasksResult:
        raise NotImplementedError

    @handler("DescribeManagedPrefixLists")
    def describe_managed_prefix_lists(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: PrefixListMaxResults | None = None,
        next_token: NextToken | None = None,
        prefix_list_ids: ValueStringList | None = None,
        **kwargs,
    ) -> DescribeManagedPrefixListsResult:
        raise NotImplementedError

    @handler("DescribeMovingAddresses")
    def describe_moving_addresses(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        public_ips: ValueStringList | None = None,
        next_token: String | None = None,
        filters: FilterList | None = None,
        max_results: DescribeMovingAddressesMaxResults | None = None,
        **kwargs,
    ) -> DescribeMovingAddressesResult:
        raise NotImplementedError

    @handler("DescribeNatGateways")
    def describe_nat_gateways(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filter: FilterList | None = None,
        max_results: DescribeNatGatewaysMaxResults | None = None,
        nat_gateway_ids: NatGatewayIdStringList | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeNatGatewaysResult:
        raise NotImplementedError

    @handler("DescribeNetworkAcls")
    def describe_network_acls(
        self,
        context: RequestContext,
        next_token: String | None = None,
        max_results: DescribeNetworkAclsMaxResults | None = None,
        dry_run: Boolean | None = None,
        network_acl_ids: NetworkAclIdStringList | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeNetworkAclsResult:
        raise NotImplementedError

    @handler("DescribeNetworkInsightsAccessScopeAnalyses")
    def describe_network_insights_access_scope_analyses(
        self,
        context: RequestContext,
        network_insights_access_scope_analysis_ids: NetworkInsightsAccessScopeAnalysisIdList
        | None = None,
        network_insights_access_scope_id: NetworkInsightsAccessScopeId | None = None,
        analysis_start_time_begin: MillisecondDateTime | None = None,
        analysis_start_time_end: MillisecondDateTime | None = None,
        filters: FilterList | None = None,
        max_results: NetworkInsightsMaxResults | None = None,
        dry_run: Boolean | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> DescribeNetworkInsightsAccessScopeAnalysesResult:
        raise NotImplementedError

    @handler("DescribeNetworkInsightsAccessScopes")
    def describe_network_insights_access_scopes(
        self,
        context: RequestContext,
        network_insights_access_scope_ids: NetworkInsightsAccessScopeIdList | None = None,
        filters: FilterList | None = None,
        max_results: NetworkInsightsMaxResults | None = None,
        dry_run: Boolean | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> DescribeNetworkInsightsAccessScopesResult:
        raise NotImplementedError

    @handler("DescribeNetworkInsightsAnalyses")
    def describe_network_insights_analyses(
        self,
        context: RequestContext,
        network_insights_analysis_ids: NetworkInsightsAnalysisIdList | None = None,
        network_insights_path_id: NetworkInsightsPathId | None = None,
        analysis_start_time: MillisecondDateTime | None = None,
        analysis_end_time: MillisecondDateTime | None = None,
        filters: FilterList | None = None,
        max_results: NetworkInsightsMaxResults | None = None,
        dry_run: Boolean | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> DescribeNetworkInsightsAnalysesResult:
        raise NotImplementedError

    @handler("DescribeNetworkInsightsPaths")
    def describe_network_insights_paths(
        self,
        context: RequestContext,
        network_insights_path_ids: NetworkInsightsPathIdList | None = None,
        filters: FilterList | None = None,
        max_results: NetworkInsightsMaxResults | None = None,
        dry_run: Boolean | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> DescribeNetworkInsightsPathsResult:
        raise NotImplementedError

    @handler("DescribeNetworkInterfaceAttribute")
    def describe_network_interface_attribute(
        self,
        context: RequestContext,
        network_interface_id: NetworkInterfaceId,
        dry_run: Boolean | None = None,
        attribute: NetworkInterfaceAttribute | None = None,
        **kwargs,
    ) -> DescribeNetworkInterfaceAttributeResult:
        raise NotImplementedError

    @handler("DescribeNetworkInterfacePermissions")
    def describe_network_interface_permissions(
        self,
        context: RequestContext,
        network_interface_permission_ids: NetworkInterfacePermissionIdList | None = None,
        filters: FilterList | None = None,
        next_token: String | None = None,
        max_results: DescribeNetworkInterfacePermissionsMaxResults | None = None,
        **kwargs,
    ) -> DescribeNetworkInterfacePermissionsResult:
        raise NotImplementedError

    @handler("DescribeNetworkInterfaces")
    def describe_network_interfaces(
        self,
        context: RequestContext,
        next_token: String | None = None,
        max_results: DescribeNetworkInterfacesMaxResults | None = None,
        dry_run: Boolean | None = None,
        network_interface_ids: NetworkInterfaceIdList | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeNetworkInterfacesResult:
        raise NotImplementedError

    @handler("DescribeOutpostLags")
    def describe_outpost_lags(
        self,
        context: RequestContext,
        outpost_lag_ids: OutpostLagIdSet | None = None,
        filters: FilterList | None = None,
        max_results: OutpostLagMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeOutpostLagsResult:
        raise NotImplementedError

    @handler("DescribePlacementGroups")
    def describe_placement_groups(
        self,
        context: RequestContext,
        group_ids: PlacementGroupIdStringList | None = None,
        dry_run: Boolean | None = None,
        group_names: PlacementGroupStringList | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribePlacementGroupsResult:
        raise NotImplementedError

    @handler("DescribePrefixLists")
    def describe_prefix_lists(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        prefix_list_ids: PrefixListResourceIdStringList | None = None,
        **kwargs,
    ) -> DescribePrefixListsResult:
        raise NotImplementedError

    @handler("DescribePrincipalIdFormat")
    def describe_principal_id_format(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        resources: ResourceList | None = None,
        max_results: DescribePrincipalIdFormatMaxResults | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribePrincipalIdFormatResult:
        raise NotImplementedError

    @handler("DescribePublicIpv4Pools")
    def describe_public_ipv4_pools(
        self,
        context: RequestContext,
        pool_ids: PublicIpv4PoolIdStringList | None = None,
        next_token: NextToken | None = None,
        max_results: PoolMaxResults | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribePublicIpv4PoolsResult:
        raise NotImplementedError

    @handler("DescribeRegions")
    def describe_regions(
        self,
        context: RequestContext,
        region_names: RegionNameStringList | None = None,
        all_regions: Boolean | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeRegionsResult:
        raise NotImplementedError

    @handler("DescribeReplaceRootVolumeTasks")
    def describe_replace_root_volume_tasks(
        self,
        context: RequestContext,
        replace_root_volume_task_ids: ReplaceRootVolumeTaskIds | None = None,
        filters: FilterList | None = None,
        max_results: DescribeReplaceRootVolumeTasksMaxResults | None = None,
        next_token: NextToken | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeReplaceRootVolumeTasksResult:
        raise NotImplementedError

    @handler("DescribeReservedInstances")
    def describe_reserved_instances(
        self,
        context: RequestContext,
        offering_class: OfferingClassType | None = None,
        reserved_instances_ids: ReservedInstancesIdStringList | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        offering_type: OfferingTypeValues | None = None,
        **kwargs,
    ) -> DescribeReservedInstancesResult:
        raise NotImplementedError

    @handler("DescribeReservedInstancesListings")
    def describe_reserved_instances_listings(
        self,
        context: RequestContext,
        reserved_instances_id: ReservationId | None = None,
        reserved_instances_listing_id: ReservedInstancesListingId | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeReservedInstancesListingsResult:
        raise NotImplementedError

    @handler("DescribeReservedInstancesModifications")
    def describe_reserved_instances_modifications(
        self,
        context: RequestContext,
        reserved_instances_modification_ids: ReservedInstancesModificationIdStringList
        | None = None,
        next_token: String | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeReservedInstancesModificationsResult:
        raise NotImplementedError

    @handler("DescribeReservedInstancesOfferings")
    def describe_reserved_instances_offerings(
        self,
        context: RequestContext,
        availability_zone: String | None = None,
        include_marketplace: Boolean | None = None,
        instance_type: InstanceType | None = None,
        max_duration: Long | None = None,
        max_instance_count: Integer | None = None,
        min_duration: Long | None = None,
        offering_class: OfferingClassType | None = None,
        product_description: RIProductDescription | None = None,
        reserved_instances_offering_ids: ReservedInstancesOfferingIdStringList | None = None,
        availability_zone_id: AvailabilityZoneId | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        instance_tenancy: Tenancy | None = None,
        offering_type: OfferingTypeValues | None = None,
        next_token: String | None = None,
        max_results: Integer | None = None,
        **kwargs,
    ) -> DescribeReservedInstancesOfferingsResult:
        raise NotImplementedError

    @handler("DescribeRouteServerEndpoints")
    def describe_route_server_endpoints(
        self,
        context: RequestContext,
        route_server_endpoint_ids: RouteServerEndpointIdsList | None = None,
        next_token: String | None = None,
        max_results: RouteServerMaxResults | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeRouteServerEndpointsResult:
        raise NotImplementedError

    @handler("DescribeRouteServerPeers")
    def describe_route_server_peers(
        self,
        context: RequestContext,
        route_server_peer_ids: RouteServerPeerIdsList | None = None,
        next_token: String | None = None,
        max_results: RouteServerMaxResults | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeRouteServerPeersResult:
        raise NotImplementedError

    @handler("DescribeRouteServers")
    def describe_route_servers(
        self,
        context: RequestContext,
        route_server_ids: RouteServerIdsList | None = None,
        next_token: String | None = None,
        max_results: RouteServerMaxResults | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeRouteServersResult:
        raise NotImplementedError

    @handler("DescribeRouteTables")
    def describe_route_tables(
        self,
        context: RequestContext,
        next_token: String | None = None,
        max_results: DescribeRouteTablesMaxResults | None = None,
        dry_run: Boolean | None = None,
        route_table_ids: RouteTableIdStringList | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeRouteTablesResult:
        raise NotImplementedError

    @handler("DescribeScheduledInstanceAvailability")
    def describe_scheduled_instance_availability(
        self,
        context: RequestContext,
        first_slot_start_time_range: SlotDateTimeRangeRequest,
        recurrence: ScheduledInstanceRecurrenceRequest,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: DescribeScheduledInstanceAvailabilityMaxResults | None = None,
        max_slot_duration_in_hours: Integer | None = None,
        min_slot_duration_in_hours: Integer | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeScheduledInstanceAvailabilityResult:
        raise NotImplementedError

    @handler("DescribeScheduledInstances")
    def describe_scheduled_instances(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        scheduled_instance_ids: ScheduledInstanceIdRequestSet | None = None,
        slot_start_time_range: SlotStartTimeRangeRequest | None = None,
        **kwargs,
    ) -> DescribeScheduledInstancesResult:
        raise NotImplementedError

    @handler("DescribeSecurityGroupReferences")
    def describe_security_group_references(
        self, context: RequestContext, group_id: GroupIds, dry_run: Boolean | None = None, **kwargs
    ) -> DescribeSecurityGroupReferencesResult:
        raise NotImplementedError

    @handler("DescribeSecurityGroupRules")
    def describe_security_group_rules(
        self,
        context: RequestContext,
        filters: FilterList | None = None,
        security_group_rule_ids: SecurityGroupRuleIdList | None = None,
        dry_run: Boolean | None = None,
        next_token: String | None = None,
        max_results: DescribeSecurityGroupRulesMaxResults | None = None,
        **kwargs,
    ) -> DescribeSecurityGroupRulesResult:
        raise NotImplementedError

    @handler("DescribeSecurityGroupVpcAssociations")
    def describe_security_group_vpc_associations(
        self,
        context: RequestContext,
        filters: FilterList | None = None,
        next_token: String | None = None,
        max_results: DescribeSecurityGroupVpcAssociationsMaxResults | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeSecurityGroupVpcAssociationsResult:
        raise NotImplementedError

    @handler("DescribeSecurityGroups")
    def describe_security_groups(
        self,
        context: RequestContext,
        group_ids: GroupIdStringList | None = None,
        group_names: GroupNameStringList | None = None,
        next_token: String | None = None,
        max_results: DescribeSecurityGroupsMaxResults | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeSecurityGroupsResult:
        raise NotImplementedError

    @handler("DescribeServiceLinkVirtualInterfaces")
    def describe_service_link_virtual_interfaces(
        self,
        context: RequestContext,
        service_link_virtual_interface_ids: ServiceLinkVirtualInterfaceIdSet | None = None,
        filters: FilterList | None = None,
        max_results: ServiceLinkMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeServiceLinkVirtualInterfacesResult:
        raise NotImplementedError

    @handler("DescribeSnapshotAttribute")
    def describe_snapshot_attribute(
        self,
        context: RequestContext,
        attribute: SnapshotAttributeName,
        snapshot_id: SnapshotId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeSnapshotAttributeResult:
        raise NotImplementedError

    @handler("DescribeSnapshotTierStatus")
    def describe_snapshot_tier_status(
        self,
        context: RequestContext,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        next_token: String | None = None,
        max_results: DescribeSnapshotTierStatusMaxResults | None = None,
        **kwargs,
    ) -> DescribeSnapshotTierStatusResult:
        raise NotImplementedError

    @handler("DescribeSnapshots")
    def describe_snapshots(
        self,
        context: RequestContext,
        max_results: Integer | None = None,
        next_token: String | None = None,
        owner_ids: OwnerStringList | None = None,
        restorable_by_user_ids: RestorableByStringList | None = None,
        snapshot_ids: SnapshotIdStringList | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeSnapshotsResult:
        raise NotImplementedError

    @handler("DescribeSpotDatafeedSubscription")
    def describe_spot_datafeed_subscription(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> DescribeSpotDatafeedSubscriptionResult:
        raise NotImplementedError

    @handler("DescribeSpotFleetInstances")
    def describe_spot_fleet_instances(
        self,
        context: RequestContext,
        spot_fleet_request_id: SpotFleetRequestId,
        dry_run: Boolean | None = None,
        next_token: String | None = None,
        max_results: DescribeSpotFleetInstancesMaxResults | None = None,
        **kwargs,
    ) -> DescribeSpotFleetInstancesResponse:
        raise NotImplementedError

    @handler("DescribeSpotFleetRequestHistory")
    def describe_spot_fleet_request_history(
        self,
        context: RequestContext,
        spot_fleet_request_id: SpotFleetRequestId,
        start_time: DateTime,
        dry_run: Boolean | None = None,
        event_type: EventType | None = None,
        next_token: String | None = None,
        max_results: DescribeSpotFleetRequestHistoryMaxResults | None = None,
        **kwargs,
    ) -> DescribeSpotFleetRequestHistoryResponse:
        raise NotImplementedError

    @handler("DescribeSpotFleetRequests")
    def describe_spot_fleet_requests(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        spot_fleet_request_ids: SpotFleetRequestIdList | None = None,
        next_token: String | None = None,
        max_results: Integer | None = None,
        **kwargs,
    ) -> DescribeSpotFleetRequestsResponse:
        raise NotImplementedError

    @handler("DescribeSpotInstanceRequests")
    def describe_spot_instance_requests(
        self,
        context: RequestContext,
        next_token: String | None = None,
        max_results: Integer | None = None,
        dry_run: Boolean | None = None,
        spot_instance_request_ids: SpotInstanceRequestIdList | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeSpotInstanceRequestsResult:
        raise NotImplementedError

    @handler("DescribeSpotPriceHistory")
    def describe_spot_price_history(
        self,
        context: RequestContext,
        availability_zone_id: AvailabilityZoneId | None = None,
        dry_run: Boolean | None = None,
        start_time: DateTime | None = None,
        end_time: DateTime | None = None,
        instance_types: InstanceTypeList | None = None,
        product_descriptions: ProductDescriptionList | None = None,
        filters: FilterList | None = None,
        availability_zone: String | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeSpotPriceHistoryResult:
        raise NotImplementedError

    @handler("DescribeStaleSecurityGroups")
    def describe_stale_security_groups(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        dry_run: Boolean | None = None,
        max_results: DescribeStaleSecurityGroupsMaxResults | None = None,
        next_token: DescribeStaleSecurityGroupsNextToken | None = None,
        **kwargs,
    ) -> DescribeStaleSecurityGroupsResult:
        raise NotImplementedError

    @handler("DescribeStoreImageTasks")
    def describe_store_image_tasks(
        self,
        context: RequestContext,
        image_ids: ImageIdList | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        next_token: String | None = None,
        max_results: DescribeStoreImageTasksRequestMaxResults | None = None,
        **kwargs,
    ) -> DescribeStoreImageTasksResult:
        raise NotImplementedError

    @handler("DescribeSubnets")
    def describe_subnets(
        self,
        context: RequestContext,
        filters: FilterList | None = None,
        subnet_ids: SubnetIdStringList | None = None,
        next_token: String | None = None,
        max_results: DescribeSubnetsMaxResults | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeSubnetsResult:
        raise NotImplementedError

    @handler("DescribeTags")
    def describe_tags(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeTagsResult:
        raise NotImplementedError

    @handler("DescribeTrafficMirrorFilterRules")
    def describe_traffic_mirror_filter_rules(
        self,
        context: RequestContext,
        traffic_mirror_filter_rule_ids: TrafficMirrorFilterRuleIdList | None = None,
        traffic_mirror_filter_id: TrafficMirrorFilterId | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: TrafficMirroringMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> DescribeTrafficMirrorFilterRulesResult:
        raise NotImplementedError

    @handler("DescribeTrafficMirrorFilters")
    def describe_traffic_mirror_filters(
        self,
        context: RequestContext,
        traffic_mirror_filter_ids: TrafficMirrorFilterIdList | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: TrafficMirroringMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> DescribeTrafficMirrorFiltersResult:
        raise NotImplementedError

    @handler("DescribeTrafficMirrorSessions")
    def describe_traffic_mirror_sessions(
        self,
        context: RequestContext,
        traffic_mirror_session_ids: TrafficMirrorSessionIdList | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: TrafficMirroringMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> DescribeTrafficMirrorSessionsResult:
        raise NotImplementedError

    @handler("DescribeTrafficMirrorTargets")
    def describe_traffic_mirror_targets(
        self,
        context: RequestContext,
        traffic_mirror_target_ids: TrafficMirrorTargetIdList | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: TrafficMirroringMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> DescribeTrafficMirrorTargetsResult:
        raise NotImplementedError

    @handler("DescribeTransitGatewayAttachments")
    def describe_transit_gateway_attachments(
        self,
        context: RequestContext,
        transit_gateway_attachment_ids: TransitGatewayAttachmentIdStringList | None = None,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeTransitGatewayAttachmentsResult:
        raise NotImplementedError

    @handler("DescribeTransitGatewayConnectPeers")
    def describe_transit_gateway_connect_peers(
        self,
        context: RequestContext,
        transit_gateway_connect_peer_ids: TransitGatewayConnectPeerIdStringList | None = None,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeTransitGatewayConnectPeersResult:
        raise NotImplementedError

    @handler("DescribeTransitGatewayConnects")
    def describe_transit_gateway_connects(
        self,
        context: RequestContext,
        transit_gateway_attachment_ids: TransitGatewayAttachmentIdStringList | None = None,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeTransitGatewayConnectsResult:
        raise NotImplementedError

    @handler("DescribeTransitGatewayMeteringPolicies")
    def describe_transit_gateway_metering_policies(
        self,
        context: RequestContext,
        transit_gateway_metering_policy_ids: TransitGatewayMeteringPolicyIdStringList | None = None,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeTransitGatewayMeteringPoliciesResult:
        raise NotImplementedError

    @handler("DescribeTransitGatewayMulticastDomains")
    def describe_transit_gateway_multicast_domains(
        self,
        context: RequestContext,
        transit_gateway_multicast_domain_ids: TransitGatewayMulticastDomainIdStringList
        | None = None,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeTransitGatewayMulticastDomainsResult:
        raise NotImplementedError

    @handler("DescribeTransitGatewayPeeringAttachments")
    def describe_transit_gateway_peering_attachments(
        self,
        context: RequestContext,
        transit_gateway_attachment_ids: TransitGatewayAttachmentIdStringList | None = None,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeTransitGatewayPeeringAttachmentsResult:
        raise NotImplementedError

    @handler("DescribeTransitGatewayPolicyTables")
    def describe_transit_gateway_policy_tables(
        self,
        context: RequestContext,
        transit_gateway_policy_table_ids: TransitGatewayPolicyTableIdStringList | None = None,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeTransitGatewayPolicyTablesResult:
        raise NotImplementedError

    @handler("DescribeTransitGatewayRouteTableAnnouncements")
    def describe_transit_gateway_route_table_announcements(
        self,
        context: RequestContext,
        transit_gateway_route_table_announcement_ids: TransitGatewayRouteTableAnnouncementIdStringList
        | None = None,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeTransitGatewayRouteTableAnnouncementsResult:
        raise NotImplementedError

    @handler("DescribeTransitGatewayRouteTables")
    def describe_transit_gateway_route_tables(
        self,
        context: RequestContext,
        transit_gateway_route_table_ids: TransitGatewayRouteTableIdStringList | None = None,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeTransitGatewayRouteTablesResult:
        raise NotImplementedError

    @handler("DescribeTransitGatewayVpcAttachments")
    def describe_transit_gateway_vpc_attachments(
        self,
        context: RequestContext,
        transit_gateway_attachment_ids: TransitGatewayAttachmentIdStringList | None = None,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeTransitGatewayVpcAttachmentsResult:
        raise NotImplementedError

    @handler("DescribeTransitGateways")
    def describe_transit_gateways(
        self,
        context: RequestContext,
        transit_gateway_ids: TransitGatewayIdStringList | None = None,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeTransitGatewaysResult:
        raise NotImplementedError

    @handler("DescribeTrunkInterfaceAssociations")
    def describe_trunk_interface_associations(
        self,
        context: RequestContext,
        association_ids: TrunkInterfaceAssociationIdList | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        next_token: String | None = None,
        max_results: DescribeTrunkInterfaceAssociationsMaxResults | None = None,
        **kwargs,
    ) -> DescribeTrunkInterfaceAssociationsResult:
        raise NotImplementedError

    @handler("DescribeVerifiedAccessEndpoints")
    def describe_verified_access_endpoints(
        self,
        context: RequestContext,
        verified_access_endpoint_ids: VerifiedAccessEndpointIdList | None = None,
        verified_access_instance_id: VerifiedAccessInstanceId | None = None,
        verified_access_group_id: VerifiedAccessGroupId | None = None,
        max_results: DescribeVerifiedAccessEndpointsMaxResults | None = None,
        next_token: NextToken | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeVerifiedAccessEndpointsResult:
        raise NotImplementedError

    @handler("DescribeVerifiedAccessGroups")
    def describe_verified_access_groups(
        self,
        context: RequestContext,
        verified_access_group_ids: VerifiedAccessGroupIdList | None = None,
        verified_access_instance_id: VerifiedAccessInstanceId | None = None,
        max_results: DescribeVerifiedAccessGroupMaxResults | None = None,
        next_token: NextToken | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeVerifiedAccessGroupsResult:
        raise NotImplementedError

    @handler("DescribeVerifiedAccessInstanceLoggingConfigurations")
    def describe_verified_access_instance_logging_configurations(
        self,
        context: RequestContext,
        verified_access_instance_ids: VerifiedAccessInstanceIdList | None = None,
        max_results: DescribeVerifiedAccessInstanceLoggingConfigurationsMaxResults | None = None,
        next_token: NextToken | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeVerifiedAccessInstanceLoggingConfigurationsResult:
        raise NotImplementedError

    @handler("DescribeVerifiedAccessInstances")
    def describe_verified_access_instances(
        self,
        context: RequestContext,
        verified_access_instance_ids: VerifiedAccessInstanceIdList | None = None,
        max_results: DescribeVerifiedAccessInstancesMaxResults | None = None,
        next_token: NextToken | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeVerifiedAccessInstancesResult:
        raise NotImplementedError

    @handler("DescribeVerifiedAccessTrustProviders")
    def describe_verified_access_trust_providers(
        self,
        context: RequestContext,
        verified_access_trust_provider_ids: VerifiedAccessTrustProviderIdList | None = None,
        max_results: DescribeVerifiedAccessTrustProvidersMaxResults | None = None,
        next_token: NextToken | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeVerifiedAccessTrustProvidersResult:
        raise NotImplementedError

    @handler("DescribeVolumeAttribute")
    def describe_volume_attribute(
        self,
        context: RequestContext,
        attribute: VolumeAttributeName,
        volume_id: VolumeId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeVolumeAttributeResult:
        raise NotImplementedError

    @handler("DescribeVolumeStatus")
    def describe_volume_status(
        self,
        context: RequestContext,
        max_results: Integer | None = None,
        next_token: String | None = None,
        volume_ids: VolumeIdStringList | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeVolumeStatusResult:
        raise NotImplementedError

    @handler("DescribeVolumes")
    def describe_volumes(
        self,
        context: RequestContext,
        volume_ids: VolumeIdStringList | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        next_token: String | None = None,
        max_results: Integer | None = None,
        **kwargs,
    ) -> DescribeVolumesResult:
        raise NotImplementedError

    @handler("DescribeVolumesModifications")
    def describe_volumes_modifications(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        volume_ids: VolumeIdStringList | None = None,
        filters: FilterList | None = None,
        next_token: String | None = None,
        max_results: Integer | None = None,
        **kwargs,
    ) -> DescribeVolumesModificationsResult:
        raise NotImplementedError

    @handler("DescribeVpcAttribute")
    def describe_vpc_attribute(
        self,
        context: RequestContext,
        attribute: VpcAttributeName,
        vpc_id: VpcId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeVpcAttributeResult:
        raise NotImplementedError

    @handler("DescribeVpcBlockPublicAccessExclusions")
    def describe_vpc_block_public_access_exclusions(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        exclusion_ids: VpcBlockPublicAccessExclusionIdList | None = None,
        next_token: String | None = None,
        max_results: DescribeVpcBlockPublicAccessExclusionsMaxResults | None = None,
        **kwargs,
    ) -> DescribeVpcBlockPublicAccessExclusionsResult:
        raise NotImplementedError

    @handler("DescribeVpcBlockPublicAccessOptions")
    def describe_vpc_block_public_access_options(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> DescribeVpcBlockPublicAccessOptionsResult:
        raise NotImplementedError

    @handler("DescribeVpcClassicLink")
    def describe_vpc_classic_link(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        vpc_ids: VpcClassicLinkIdList | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeVpcClassicLinkResult:
        raise NotImplementedError

    @handler("DescribeVpcClassicLinkDnsSupport")
    def describe_vpc_classic_link_dns_support(
        self,
        context: RequestContext,
        vpc_ids: VpcClassicLinkIdList | None = None,
        max_results: DescribeVpcClassicLinkDnsSupportMaxResults | None = None,
        next_token: DescribeVpcClassicLinkDnsSupportNextToken | None = None,
        **kwargs,
    ) -> DescribeVpcClassicLinkDnsSupportResult:
        raise NotImplementedError

    @handler("DescribeVpcEncryptionControls")
    def describe_vpc_encryption_controls(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        vpc_encryption_control_ids: VpcEncryptionControlIdList | None = None,
        vpc_ids: VpcIdStringList | None = None,
        next_token: String | None = None,
        max_results: DescribeVpcEncryptionControlsMaxResults | None = None,
        **kwargs,
    ) -> DescribeVpcEncryptionControlsResult:
        raise NotImplementedError

    @handler("DescribeVpcEndpointAssociations")
    def describe_vpc_endpoint_associations(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        vpc_endpoint_ids: VpcEndpointIdList | None = None,
        filters: FilterList | None = None,
        max_results: maxResults | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeVpcEndpointAssociationsResult:
        raise NotImplementedError

    @handler("DescribeVpcEndpointConnectionNotifications")
    def describe_vpc_endpoint_connection_notifications(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        connection_notification_id: ConnectionNotificationId | None = None,
        filters: FilterList | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeVpcEndpointConnectionNotificationsResult:
        raise NotImplementedError

    @handler("DescribeVpcEndpointConnections")
    def describe_vpc_endpoint_connections(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeVpcEndpointConnectionsResult:
        raise NotImplementedError

    @handler("DescribeVpcEndpointServiceConfigurations")
    def describe_vpc_endpoint_service_configurations(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        service_ids: VpcEndpointServiceIdList | None = None,
        filters: FilterList | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeVpcEndpointServiceConfigurationsResult:
        raise NotImplementedError

    @handler("DescribeVpcEndpointServicePermissions")
    def describe_vpc_endpoint_service_permissions(
        self,
        context: RequestContext,
        service_id: VpcEndpointServiceId,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeVpcEndpointServicePermissionsResult:
        raise NotImplementedError

    @handler("DescribeVpcEndpointServices")
    def describe_vpc_endpoint_services(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        service_names: ValueStringList | None = None,
        filters: FilterList | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        service_regions: ValueStringList | None = None,
        **kwargs,
    ) -> DescribeVpcEndpointServicesResult:
        raise NotImplementedError

    @handler("DescribeVpcEndpoints")
    def describe_vpc_endpoints(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        vpc_endpoint_ids: VpcEndpointIdList | None = None,
        filters: FilterList | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> DescribeVpcEndpointsResult:
        raise NotImplementedError

    @handler("DescribeVpcPeeringConnections")
    def describe_vpc_peering_connections(
        self,
        context: RequestContext,
        next_token: String | None = None,
        max_results: DescribeVpcPeeringConnectionsMaxResults | None = None,
        dry_run: Boolean | None = None,
        vpc_peering_connection_ids: VpcPeeringConnectionIdList | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> DescribeVpcPeeringConnectionsResult:
        raise NotImplementedError

    @handler("DescribeVpcs")
    def describe_vpcs(
        self,
        context: RequestContext,
        filters: FilterList | None = None,
        vpc_ids: VpcIdStringList | None = None,
        next_token: String | None = None,
        max_results: DescribeVpcsMaxResults | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeVpcsResult:
        raise NotImplementedError

    @handler("DescribeVpnConcentrators")
    def describe_vpn_concentrators(
        self,
        context: RequestContext,
        vpn_concentrator_ids: VpnConcentratorIdStringList | None = None,
        filters: FilterList | None = None,
        max_results: GVCDMaxResults | None = None,
        next_token: NextToken | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeVpnConcentratorsResult:
        raise NotImplementedError

    @handler("DescribeVpnConnections")
    def describe_vpn_connections(
        self,
        context: RequestContext,
        filters: FilterList | None = None,
        vpn_connection_ids: VpnConnectionIdStringList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeVpnConnectionsResult:
        raise NotImplementedError

    @handler("DescribeVpnGateways")
    def describe_vpn_gateways(
        self,
        context: RequestContext,
        filters: FilterList | None = None,
        vpn_gateway_ids: VpnGatewayIdStringList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DescribeVpnGatewaysResult:
        raise NotImplementedError

    @handler("DetachClassicLinkVpc")
    def detach_classic_link_vpc(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        vpc_id: VpcId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DetachClassicLinkVpcResult:
        raise NotImplementedError

    @handler("DetachInternetGateway")
    def detach_internet_gateway(
        self,
        context: RequestContext,
        internet_gateway_id: InternetGatewayId,
        vpc_id: VpcId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DetachNetworkInterface")
    def detach_network_interface(
        self,
        context: RequestContext,
        attachment_id: NetworkInterfaceAttachmentId,
        dry_run: Boolean | None = None,
        force: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DetachVerifiedAccessTrustProvider")
    def detach_verified_access_trust_provider(
        self,
        context: RequestContext,
        verified_access_instance_id: VerifiedAccessInstanceId,
        verified_access_trust_provider_id: VerifiedAccessTrustProviderId,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DetachVerifiedAccessTrustProviderResult:
        raise NotImplementedError

    @handler("DetachVolume")
    def detach_volume(
        self,
        context: RequestContext,
        volume_id: VolumeIdWithResolver,
        device: String | None = None,
        force: Boolean | None = None,
        instance_id: InstanceIdForResolver | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> VolumeAttachment:
        raise NotImplementedError

    @handler("DetachVpnGateway")
    def detach_vpn_gateway(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        vpn_gateway_id: VpnGatewayId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DisableAddressTransfer")
    def disable_address_transfer(
        self,
        context: RequestContext,
        allocation_id: AllocationId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisableAddressTransferResult:
        raise NotImplementedError

    @handler("DisableAllowedImagesSettings")
    def disable_allowed_images_settings(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> DisableAllowedImagesSettingsResult:
        raise NotImplementedError

    @handler("DisableAwsNetworkPerformanceMetricSubscription")
    def disable_aws_network_performance_metric_subscription(
        self,
        context: RequestContext,
        source: String | None = None,
        destination: String | None = None,
        metric: MetricType | None = None,
        statistic: StatisticType | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisableAwsNetworkPerformanceMetricSubscriptionResult:
        raise NotImplementedError

    @handler("DisableCapacityManager")
    def disable_capacity_manager(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> DisableCapacityManagerResult:
        raise NotImplementedError

    @handler("DisableEbsEncryptionByDefault")
    def disable_ebs_encryption_by_default(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> DisableEbsEncryptionByDefaultResult:
        raise NotImplementedError

    @handler("DisableFastLaunch")
    def disable_fast_launch(
        self,
        context: RequestContext,
        image_id: ImageId,
        force: Boolean | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisableFastLaunchResult:
        raise NotImplementedError

    @handler("DisableFastSnapshotRestores")
    def disable_fast_snapshot_restores(
        self,
        context: RequestContext,
        source_snapshot_ids: SnapshotIdStringList,
        availability_zones: AvailabilityZoneStringList | None = None,
        availability_zone_ids: AvailabilityZoneIdStringList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisableFastSnapshotRestoresResult:
        raise NotImplementedError

    @handler("DisableImage")
    def disable_image(
        self, context: RequestContext, image_id: ImageId, dry_run: Boolean | None = None, **kwargs
    ) -> DisableImageResult:
        raise NotImplementedError

    @handler("DisableImageBlockPublicAccess")
    def disable_image_block_public_access(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> DisableImageBlockPublicAccessResult:
        raise NotImplementedError

    @handler("DisableImageDeprecation")
    def disable_image_deprecation(
        self, context: RequestContext, image_id: ImageId, dry_run: Boolean | None = None, **kwargs
    ) -> DisableImageDeprecationResult:
        raise NotImplementedError

    @handler("DisableImageDeregistrationProtection")
    def disable_image_deregistration_protection(
        self, context: RequestContext, image_id: ImageId, dry_run: Boolean | None = None, **kwargs
    ) -> DisableImageDeregistrationProtectionResult:
        raise NotImplementedError

    @handler("DisableInstanceSqlHaStandbyDetections")
    def disable_instance_sql_ha_standby_detections(
        self,
        context: RequestContext,
        instance_ids: InstanceIdUpdateStringList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisableInstanceSqlHaStandbyDetectionsResult:
        raise NotImplementedError

    @handler("DisableIpamOrganizationAdminAccount")
    def disable_ipam_organization_admin_account(
        self,
        context: RequestContext,
        delegated_admin_account_id: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisableIpamOrganizationAdminAccountResult:
        raise NotImplementedError

    @handler("DisableIpamPolicy")
    def disable_ipam_policy(
        self,
        context: RequestContext,
        ipam_policy_id: IpamPolicyId,
        dry_run: Boolean | None = None,
        organization_target_id: String | None = None,
        **kwargs,
    ) -> DisableIpamPolicyResult:
        raise NotImplementedError

    @handler("DisableRouteServerPropagation")
    def disable_route_server_propagation(
        self,
        context: RequestContext,
        route_server_id: RouteServerId,
        route_table_id: RouteTableId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisableRouteServerPropagationResult:
        raise NotImplementedError

    @handler("DisableSerialConsoleAccess")
    def disable_serial_console_access(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> DisableSerialConsoleAccessResult:
        raise NotImplementedError

    @handler("DisableSnapshotBlockPublicAccess")
    def disable_snapshot_block_public_access(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> DisableSnapshotBlockPublicAccessResult:
        raise NotImplementedError

    @handler("DisableTransitGatewayRouteTablePropagation")
    def disable_transit_gateway_route_table_propagation(
        self,
        context: RequestContext,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        transit_gateway_attachment_id: TransitGatewayAttachmentId | None = None,
        dry_run: Boolean | None = None,
        transit_gateway_route_table_announcement_id: TransitGatewayRouteTableAnnouncementId
        | None = None,
        **kwargs,
    ) -> DisableTransitGatewayRouteTablePropagationResult:
        raise NotImplementedError

    @handler("DisableVgwRoutePropagation")
    def disable_vgw_route_propagation(
        self,
        context: RequestContext,
        gateway_id: VpnGatewayId,
        route_table_id: RouteTableId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DisableVpcClassicLink")
    def disable_vpc_classic_link(
        self, context: RequestContext, vpc_id: VpcId, dry_run: Boolean | None = None, **kwargs
    ) -> DisableVpcClassicLinkResult:
        raise NotImplementedError

    @handler("DisableVpcClassicLinkDnsSupport")
    def disable_vpc_classic_link_dns_support(
        self, context: RequestContext, vpc_id: VpcId | None = None, **kwargs
    ) -> DisableVpcClassicLinkDnsSupportResult:
        raise NotImplementedError

    @handler("DisassociateAddress")
    def disassociate_address(
        self,
        context: RequestContext,
        association_id: ElasticIpAssociationId | None = None,
        public_ip: EipAllocationPublicIp | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DisassociateCapacityReservationBillingOwner")
    def disassociate_capacity_reservation_billing_owner(
        self,
        context: RequestContext,
        capacity_reservation_id: CapacityReservationId,
        unused_reservation_billing_owner_id: AccountID,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisassociateCapacityReservationBillingOwnerResult:
        raise NotImplementedError

    @handler("DisassociateClientVpnTargetNetwork")
    def disassociate_client_vpn_target_network(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        association_id: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisassociateClientVpnTargetNetworkResult:
        raise NotImplementedError

    @handler("DisassociateEnclaveCertificateIamRole")
    def disassociate_enclave_certificate_iam_role(
        self,
        context: RequestContext,
        certificate_arn: CertificateId,
        role_arn: RoleId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisassociateEnclaveCertificateIamRoleResult:
        raise NotImplementedError

    @handler("DisassociateIamInstanceProfile")
    def disassociate_iam_instance_profile(
        self, context: RequestContext, association_id: IamInstanceProfileAssociationId, **kwargs
    ) -> DisassociateIamInstanceProfileResult:
        raise NotImplementedError

    @handler("DisassociateInstanceEventWindow")
    def disassociate_instance_event_window(
        self,
        context: RequestContext,
        instance_event_window_id: InstanceEventWindowId,
        association_target: InstanceEventWindowDisassociationRequest,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisassociateInstanceEventWindowResult:
        raise NotImplementedError

    @handler("DisassociateIpamByoasn")
    def disassociate_ipam_byoasn(
        self,
        context: RequestContext,
        asn: String,
        cidr: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisassociateIpamByoasnResult:
        raise NotImplementedError

    @handler("DisassociateIpamResourceDiscovery")
    def disassociate_ipam_resource_discovery(
        self,
        context: RequestContext,
        ipam_resource_discovery_association_id: IpamResourceDiscoveryAssociationId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisassociateIpamResourceDiscoveryResult:
        raise NotImplementedError

    @handler("DisassociateNatGatewayAddress")
    def disassociate_nat_gateway_address(
        self,
        context: RequestContext,
        nat_gateway_id: NatGatewayId,
        association_ids: EipAssociationIdList,
        max_drain_duration_seconds: DrainSeconds | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisassociateNatGatewayAddressResult:
        raise NotImplementedError

    @handler("DisassociateRouteServer")
    def disassociate_route_server(
        self,
        context: RequestContext,
        route_server_id: RouteServerId,
        vpc_id: VpcId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisassociateRouteServerResult:
        raise NotImplementedError

    @handler("DisassociateRouteTable")
    def disassociate_route_table(
        self,
        context: RequestContext,
        association_id: RouteTableAssociationId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("DisassociateSecurityGroupVpc")
    def disassociate_security_group_vpc(
        self,
        context: RequestContext,
        group_id: DisassociateSecurityGroupVpcSecurityGroupId,
        vpc_id: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisassociateSecurityGroupVpcResult:
        raise NotImplementedError

    @handler("DisassociateSubnetCidrBlock")
    def disassociate_subnet_cidr_block(
        self, context: RequestContext, association_id: SubnetCidrAssociationId, **kwargs
    ) -> DisassociateSubnetCidrBlockResult:
        raise NotImplementedError

    @handler("DisassociateTransitGatewayMulticastDomain")
    def disassociate_transit_gateway_multicast_domain(
        self,
        context: RequestContext,
        transit_gateway_multicast_domain_id: TransitGatewayMulticastDomainId,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        subnet_ids: TransitGatewaySubnetIdList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisassociateTransitGatewayMulticastDomainResult:
        raise NotImplementedError

    @handler("DisassociateTransitGatewayPolicyTable")
    def disassociate_transit_gateway_policy_table(
        self,
        context: RequestContext,
        transit_gateway_policy_table_id: TransitGatewayPolicyTableId,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisassociateTransitGatewayPolicyTableResult:
        raise NotImplementedError

    @handler("DisassociateTransitGatewayRouteTable")
    def disassociate_transit_gateway_route_table(
        self,
        context: RequestContext,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisassociateTransitGatewayRouteTableResult:
        raise NotImplementedError

    @handler("DisassociateTrunkInterface")
    def disassociate_trunk_interface(
        self,
        context: RequestContext,
        association_id: TrunkInterfaceAssociationId,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> DisassociateTrunkInterfaceResult:
        raise NotImplementedError

    @handler("DisassociateVpcCidrBlock")
    def disassociate_vpc_cidr_block(
        self, context: RequestContext, association_id: VpcCidrAssociationId, **kwargs
    ) -> DisassociateVpcCidrBlockResult:
        raise NotImplementedError

    @handler("EnableAddressTransfer")
    def enable_address_transfer(
        self,
        context: RequestContext,
        allocation_id: AllocationId,
        transfer_account_id: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> EnableAddressTransferResult:
        raise NotImplementedError

    @handler("EnableAllowedImagesSettings")
    def enable_allowed_images_settings(
        self,
        context: RequestContext,
        allowed_images_settings_state: AllowedImagesSettingsEnabledState,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> EnableAllowedImagesSettingsResult:
        raise NotImplementedError

    @handler("EnableAwsNetworkPerformanceMetricSubscription")
    def enable_aws_network_performance_metric_subscription(
        self,
        context: RequestContext,
        source: String | None = None,
        destination: String | None = None,
        metric: MetricType | None = None,
        statistic: StatisticType | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> EnableAwsNetworkPerformanceMetricSubscriptionResult:
        raise NotImplementedError

    @handler("EnableCapacityManager")
    def enable_capacity_manager(
        self,
        context: RequestContext,
        organizations_access: Boolean | None = None,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> EnableCapacityManagerResult:
        raise NotImplementedError

    @handler("EnableEbsEncryptionByDefault")
    def enable_ebs_encryption_by_default(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> EnableEbsEncryptionByDefaultResult:
        raise NotImplementedError

    @handler("EnableFastLaunch")
    def enable_fast_launch(
        self,
        context: RequestContext,
        image_id: ImageId,
        resource_type: String | None = None,
        snapshot_configuration: FastLaunchSnapshotConfigurationRequest | None = None,
        launch_template: FastLaunchLaunchTemplateSpecificationRequest | None = None,
        max_parallel_launches: Integer | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> EnableFastLaunchResult:
        raise NotImplementedError

    @handler("EnableFastSnapshotRestores")
    def enable_fast_snapshot_restores(
        self,
        context: RequestContext,
        source_snapshot_ids: SnapshotIdStringList,
        availability_zones: AvailabilityZoneStringList | None = None,
        availability_zone_ids: AvailabilityZoneIdStringList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> EnableFastSnapshotRestoresResult:
        raise NotImplementedError

    @handler("EnableImage")
    def enable_image(
        self, context: RequestContext, image_id: ImageId, dry_run: Boolean | None = None, **kwargs
    ) -> EnableImageResult:
        raise NotImplementedError

    @handler("EnableImageBlockPublicAccess")
    def enable_image_block_public_access(
        self,
        context: RequestContext,
        image_block_public_access_state: ImageBlockPublicAccessEnabledState,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> EnableImageBlockPublicAccessResult:
        raise NotImplementedError

    @handler("EnableImageDeprecation")
    def enable_image_deprecation(
        self,
        context: RequestContext,
        image_id: ImageId,
        deprecate_at: MillisecondDateTime,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> EnableImageDeprecationResult:
        raise NotImplementedError

    @handler("EnableImageDeregistrationProtection")
    def enable_image_deregistration_protection(
        self,
        context: RequestContext,
        image_id: ImageId,
        with_cooldown: Boolean | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> EnableImageDeregistrationProtectionResult:
        raise NotImplementedError

    @handler("EnableInstanceSqlHaStandbyDetections")
    def enable_instance_sql_ha_standby_detections(
        self,
        context: RequestContext,
        instance_ids: InstanceIdUpdateStringList,
        sql_server_credentials: SecretArn | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> EnableInstanceSqlHaStandbyDetectionsResult:
        raise NotImplementedError

    @handler("EnableIpamOrganizationAdminAccount")
    def enable_ipam_organization_admin_account(
        self,
        context: RequestContext,
        delegated_admin_account_id: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> EnableIpamOrganizationAdminAccountResult:
        raise NotImplementedError

    @handler("EnableIpamPolicy")
    def enable_ipam_policy(
        self,
        context: RequestContext,
        ipam_policy_id: IpamPolicyId,
        dry_run: Boolean | None = None,
        organization_target_id: String | None = None,
        **kwargs,
    ) -> EnableIpamPolicyResult:
        raise NotImplementedError

    @handler("EnableReachabilityAnalyzerOrganizationSharing")
    def enable_reachability_analyzer_organization_sharing(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> EnableReachabilityAnalyzerOrganizationSharingResult:
        raise NotImplementedError

    @handler("EnableRouteServerPropagation")
    def enable_route_server_propagation(
        self,
        context: RequestContext,
        route_server_id: RouteServerId,
        route_table_id: RouteTableId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> EnableRouteServerPropagationResult:
        raise NotImplementedError

    @handler("EnableSerialConsoleAccess")
    def enable_serial_console_access(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> EnableSerialConsoleAccessResult:
        raise NotImplementedError

    @handler("EnableSnapshotBlockPublicAccess")
    def enable_snapshot_block_public_access(
        self,
        context: RequestContext,
        state: SnapshotBlockPublicAccessState,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> EnableSnapshotBlockPublicAccessResult:
        raise NotImplementedError

    @handler("EnableTransitGatewayRouteTablePropagation")
    def enable_transit_gateway_route_table_propagation(
        self,
        context: RequestContext,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        transit_gateway_attachment_id: TransitGatewayAttachmentId | None = None,
        dry_run: Boolean | None = None,
        transit_gateway_route_table_announcement_id: TransitGatewayRouteTableAnnouncementId
        | None = None,
        **kwargs,
    ) -> EnableTransitGatewayRouteTablePropagationResult:
        raise NotImplementedError

    @handler("EnableVgwRoutePropagation")
    def enable_vgw_route_propagation(
        self,
        context: RequestContext,
        gateway_id: VpnGatewayId,
        route_table_id: RouteTableId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("EnableVolumeIO")
    def enable_volume_io(
        self, context: RequestContext, volume_id: VolumeId, dry_run: Boolean | None = None, **kwargs
    ) -> None:
        raise NotImplementedError

    @handler("EnableVpcClassicLink")
    def enable_vpc_classic_link(
        self, context: RequestContext, vpc_id: VpcId, dry_run: Boolean | None = None, **kwargs
    ) -> EnableVpcClassicLinkResult:
        raise NotImplementedError

    @handler("EnableVpcClassicLinkDnsSupport")
    def enable_vpc_classic_link_dns_support(
        self, context: RequestContext, vpc_id: VpcId | None = None, **kwargs
    ) -> EnableVpcClassicLinkDnsSupportResult:
        raise NotImplementedError

    @handler("ExportClientVpnClientCertificateRevocationList")
    def export_client_vpn_client_certificate_revocation_list(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ExportClientVpnClientCertificateRevocationListResult:
        raise NotImplementedError

    @handler("ExportClientVpnClientConfiguration")
    def export_client_vpn_client_configuration(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ExportClientVpnClientConfigurationResult:
        raise NotImplementedError

    @handler("ExportImage")
    def export_image(
        self,
        context: RequestContext,
        disk_image_format: DiskImageFormat,
        image_id: ImageId,
        s3_export_location: ExportTaskS3LocationRequest,
        client_token: String | None = None,
        description: String | None = None,
        dry_run: Boolean | None = None,
        role_name: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> ExportImageResult:
        raise NotImplementedError

    @handler("ExportTransitGatewayRoutes")
    def export_transit_gateway_routes(
        self,
        context: RequestContext,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        s3_bucket: String,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ExportTransitGatewayRoutesResult:
        raise NotImplementedError

    @handler("ExportVerifiedAccessInstanceClientConfiguration")
    def export_verified_access_instance_client_configuration(
        self,
        context: RequestContext,
        verified_access_instance_id: VerifiedAccessInstanceId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ExportVerifiedAccessInstanceClientConfigurationResult:
        raise NotImplementedError

    @handler("GetActiveVpnTunnelStatus")
    def get_active_vpn_tunnel_status(
        self,
        context: RequestContext,
        vpn_connection_id: VpnConnectionId,
        vpn_tunnel_outside_ip_address: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetActiveVpnTunnelStatusResult:
        raise NotImplementedError

    @handler("GetAllowedImagesSettings")
    def get_allowed_images_settings(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> GetAllowedImagesSettingsResult:
        raise NotImplementedError

    @handler("GetAssociatedEnclaveCertificateIamRoles")
    def get_associated_enclave_certificate_iam_roles(
        self,
        context: RequestContext,
        certificate_arn: CertificateId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetAssociatedEnclaveCertificateIamRolesResult:
        raise NotImplementedError

    @handler("GetAssociatedIpv6PoolCidrs")
    def get_associated_ipv6_pool_cidrs(
        self,
        context: RequestContext,
        pool_id: Ipv6PoolEc2Id,
        next_token: NextToken | None = None,
        max_results: Ipv6PoolMaxResults | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetAssociatedIpv6PoolCidrsResult:
        raise NotImplementedError

    @handler("GetAwsNetworkPerformanceData")
    def get_aws_network_performance_data(
        self,
        context: RequestContext,
        data_queries: DataQueries | None = None,
        start_time: MillisecondDateTime | None = None,
        end_time: MillisecondDateTime | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetAwsNetworkPerformanceDataResult:
        raise NotImplementedError

    @handler("GetCapacityManagerAttributes")
    def get_capacity_manager_attributes(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> GetCapacityManagerAttributesResult:
        raise NotImplementedError

    @handler("GetCapacityManagerMetricData")
    def get_capacity_manager_metric_data(
        self,
        context: RequestContext,
        metric_names: MetricSet,
        start_time: MillisecondDateTime,
        end_time: MillisecondDateTime,
        period: Period,
        group_by: GroupBySet | None = None,
        filter_by: CapacityManagerConditionSet | None = None,
        max_results: MaxResults | None = None,
        next_token: NextToken | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetCapacityManagerMetricDataResult:
        raise NotImplementedError

    @handler("GetCapacityManagerMetricDimensions")
    def get_capacity_manager_metric_dimensions(
        self,
        context: RequestContext,
        group_by: GroupBySet,
        start_time: MillisecondDateTime,
        end_time: MillisecondDateTime,
        metric_names: MetricSet,
        filter_by: CapacityManagerConditionSet | None = None,
        max_results: MaxResults | None = None,
        next_token: NextToken | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetCapacityManagerMetricDimensionsResult:
        raise NotImplementedError

    @handler("GetCapacityReservationUsage")
    def get_capacity_reservation_usage(
        self,
        context: RequestContext,
        capacity_reservation_id: CapacityReservationId,
        next_token: String | None = None,
        max_results: GetCapacityReservationUsageRequestMaxResults | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetCapacityReservationUsageResult:
        raise NotImplementedError

    @handler("GetCoipPoolUsage")
    def get_coip_pool_usage(
        self,
        context: RequestContext,
        pool_id: Ipv4PoolCoipId,
        filters: FilterList | None = None,
        max_results: CoipPoolMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetCoipPoolUsageResult:
        raise NotImplementedError

    @handler("GetConsoleOutput")
    def get_console_output(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        latest: Boolean | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetConsoleOutputResult:
        raise NotImplementedError

    @handler("GetConsoleScreenshot")
    def get_console_screenshot(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        dry_run: Boolean | None = None,
        wake_up: Boolean | None = None,
        **kwargs,
    ) -> GetConsoleScreenshotResult:
        raise NotImplementedError

    @handler("GetDeclarativePoliciesReportSummary")
    def get_declarative_policies_report_summary(
        self,
        context: RequestContext,
        report_id: DeclarativePoliciesReportId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetDeclarativePoliciesReportSummaryResult:
        raise NotImplementedError

    @handler("GetDefaultCreditSpecification")
    def get_default_credit_specification(
        self,
        context: RequestContext,
        instance_family: UnlimitedSupportedInstanceFamily,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetDefaultCreditSpecificationResult:
        raise NotImplementedError

    @handler("GetEbsDefaultKmsKeyId")
    def get_ebs_default_kms_key_id(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> GetEbsDefaultKmsKeyIdResult:
        raise NotImplementedError

    @handler("GetEbsEncryptionByDefault")
    def get_ebs_encryption_by_default(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> GetEbsEncryptionByDefaultResult:
        raise NotImplementedError

    @handler("GetEnabledIpamPolicy")
    def get_enabled_ipam_policy(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> GetEnabledIpamPolicyResult:
        raise NotImplementedError

    @handler("GetFlowLogsIntegrationTemplate")
    def get_flow_logs_integration_template(
        self,
        context: RequestContext,
        flow_log_id: VpcFlowLogId,
        config_delivery_s3_destination_arn: String,
        integrate_services: IntegrateServices,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetFlowLogsIntegrationTemplateResult:
        raise NotImplementedError

    @handler("GetGroupsForCapacityReservation")
    def get_groups_for_capacity_reservation(
        self,
        context: RequestContext,
        capacity_reservation_id: CapacityReservationId,
        next_token: String | None = None,
        max_results: GetGroupsForCapacityReservationRequestMaxResults | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetGroupsForCapacityReservationResult:
        raise NotImplementedError

    @handler("GetHostReservationPurchasePreview")
    def get_host_reservation_purchase_preview(
        self,
        context: RequestContext,
        host_id_set: RequestHostIdSet,
        offering_id: OfferingId,
        **kwargs,
    ) -> GetHostReservationPurchasePreviewResult:
        raise NotImplementedError

    @handler("GetImageAncestry")
    def get_image_ancestry(
        self, context: RequestContext, image_id: ImageId, dry_run: Boolean | None = None, **kwargs
    ) -> GetImageAncestryResult:
        raise NotImplementedError

    @handler("GetImageBlockPublicAccessState")
    def get_image_block_public_access_state(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> GetImageBlockPublicAccessStateResult:
        raise NotImplementedError

    @handler("GetInstanceMetadataDefaults")
    def get_instance_metadata_defaults(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> GetInstanceMetadataDefaultsResult:
        raise NotImplementedError

    @handler("GetInstanceTpmEkPub")
    def get_instance_tpm_ek_pub(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        key_type: EkPubKeyType,
        key_format: EkPubKeyFormat,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetInstanceTpmEkPubResult:
        raise NotImplementedError

    @handler("GetInstanceTypesFromInstanceRequirements", expand=False)
    def get_instance_types_from_instance_requirements(
        self,
        context: RequestContext,
        request: GetInstanceTypesFromInstanceRequirementsRequest,
        **kwargs,
    ) -> GetInstanceTypesFromInstanceRequirementsResult:
        raise NotImplementedError

    @handler("GetInstanceUefiData")
    def get_instance_uefi_data(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetInstanceUefiDataResult:
        raise NotImplementedError

    @handler("GetIpamAddressHistory")
    def get_ipam_address_history(
        self,
        context: RequestContext,
        cidr: String,
        ipam_scope_id: IpamScopeId,
        dry_run: Boolean | None = None,
        vpc_id: String | None = None,
        start_time: MillisecondDateTime | None = None,
        end_time: MillisecondDateTime | None = None,
        max_results: IpamAddressHistoryMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> GetIpamAddressHistoryResult:
        raise NotImplementedError

    @handler("GetIpamDiscoveredAccounts")
    def get_ipam_discovered_accounts(
        self,
        context: RequestContext,
        ipam_resource_discovery_id: IpamResourceDiscoveryId,
        discovery_region: String,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        next_token: NextToken | None = None,
        max_results: IpamMaxResults | None = None,
        **kwargs,
    ) -> GetIpamDiscoveredAccountsResult:
        raise NotImplementedError

    @handler("GetIpamDiscoveredPublicAddresses")
    def get_ipam_discovered_public_addresses(
        self,
        context: RequestContext,
        ipam_resource_discovery_id: IpamResourceDiscoveryId,
        address_region: String,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        next_token: NextToken | None = None,
        max_results: IpamMaxResults | None = None,
        **kwargs,
    ) -> GetIpamDiscoveredPublicAddressesResult:
        raise NotImplementedError

    @handler("GetIpamDiscoveredResourceCidrs")
    def get_ipam_discovered_resource_cidrs(
        self,
        context: RequestContext,
        ipam_resource_discovery_id: IpamResourceDiscoveryId,
        resource_region: String,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        next_token: NextToken | None = None,
        max_results: IpamMaxResults | None = None,
        **kwargs,
    ) -> GetIpamDiscoveredResourceCidrsResult:
        raise NotImplementedError

    @handler("GetIpamPolicyAllocationRules")
    def get_ipam_policy_allocation_rules(
        self,
        context: RequestContext,
        ipam_policy_id: IpamPolicyId,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        locale: String | None = None,
        resource_type: IpamPolicyResourceType | None = None,
        max_results: IpamMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> GetIpamPolicyAllocationRulesResult:
        raise NotImplementedError

    @handler("GetIpamPolicyOrganizationTargets")
    def get_ipam_policy_organization_targets(
        self,
        context: RequestContext,
        ipam_policy_id: IpamPolicyId,
        dry_run: Boolean | None = None,
        max_results: IpamMaxResults | None = None,
        next_token: NextToken | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> GetIpamPolicyOrganizationTargetsResult:
        raise NotImplementedError

    @handler("GetIpamPoolAllocations")
    def get_ipam_pool_allocations(
        self,
        context: RequestContext,
        ipam_pool_id: IpamPoolId,
        dry_run: Boolean | None = None,
        ipam_pool_allocation_id: IpamPoolAllocationId | None = None,
        filters: FilterList | None = None,
        max_results: GetIpamPoolAllocationsMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> GetIpamPoolAllocationsResult:
        raise NotImplementedError

    @handler("GetIpamPoolCidrs")
    def get_ipam_pool_cidrs(
        self,
        context: RequestContext,
        ipam_pool_id: IpamPoolId,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: IpamMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> GetIpamPoolCidrsResult:
        raise NotImplementedError

    @handler("GetIpamPrefixListResolverRules")
    def get_ipam_prefix_list_resolver_rules(
        self,
        context: RequestContext,
        ipam_prefix_list_resolver_id: IpamPrefixListResolverId,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: IpamMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> GetIpamPrefixListResolverRulesResult:
        raise NotImplementedError

    @handler("GetIpamPrefixListResolverVersionEntries")
    def get_ipam_prefix_list_resolver_version_entries(
        self,
        context: RequestContext,
        ipam_prefix_list_resolver_id: IpamPrefixListResolverId,
        ipam_prefix_list_resolver_version: Long,
        dry_run: Boolean | None = None,
        max_results: IpamMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> GetIpamPrefixListResolverVersionEntriesResult:
        raise NotImplementedError

    @handler("GetIpamPrefixListResolverVersions")
    def get_ipam_prefix_list_resolver_versions(
        self,
        context: RequestContext,
        ipam_prefix_list_resolver_id: IpamPrefixListResolverId,
        dry_run: Boolean | None = None,
        ipam_prefix_list_resolver_versions: IpamPrefixListResolverVersionNumberSet | None = None,
        max_results: IpamMaxResults | None = None,
        filters: FilterList | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> GetIpamPrefixListResolverVersionsResult:
        raise NotImplementedError

    @handler("GetIpamResourceCidrs")
    def get_ipam_resource_cidrs(
        self,
        context: RequestContext,
        ipam_scope_id: IpamScopeId,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        max_results: IpamMaxResults | None = None,
        next_token: NextToken | None = None,
        ipam_pool_id: IpamPoolId | None = None,
        resource_id: String | None = None,
        resource_type: IpamResourceType | None = None,
        resource_tag: RequestIpamResourceTag | None = None,
        resource_owner: String | None = None,
        **kwargs,
    ) -> GetIpamResourceCidrsResult:
        raise NotImplementedError

    @handler("GetLaunchTemplateData")
    def get_launch_template_data(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetLaunchTemplateDataResult:
        raise NotImplementedError

    @handler("GetManagedPrefixListAssociations")
    def get_managed_prefix_list_associations(
        self,
        context: RequestContext,
        prefix_list_id: PrefixListResourceId,
        dry_run: Boolean | None = None,
        max_results: GetManagedPrefixListAssociationsMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> GetManagedPrefixListAssociationsResult:
        raise NotImplementedError

    @handler("GetManagedPrefixListEntries")
    def get_managed_prefix_list_entries(
        self,
        context: RequestContext,
        prefix_list_id: PrefixListResourceId,
        dry_run: Boolean | None = None,
        target_version: Long | None = None,
        max_results: PrefixListMaxResults | None = None,
        next_token: NextToken | None = None,
        **kwargs,
    ) -> GetManagedPrefixListEntriesResult:
        raise NotImplementedError

    @handler("GetNetworkInsightsAccessScopeAnalysisFindings")
    def get_network_insights_access_scope_analysis_findings(
        self,
        context: RequestContext,
        network_insights_access_scope_analysis_id: NetworkInsightsAccessScopeAnalysisId,
        max_results: GetNetworkInsightsAccessScopeAnalysisFindingsMaxResults | None = None,
        next_token: NextToken | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetNetworkInsightsAccessScopeAnalysisFindingsResult:
        raise NotImplementedError

    @handler("GetNetworkInsightsAccessScopeContent")
    def get_network_insights_access_scope_content(
        self,
        context: RequestContext,
        network_insights_access_scope_id: NetworkInsightsAccessScopeId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetNetworkInsightsAccessScopeContentResult:
        raise NotImplementedError

    @handler("GetPasswordData")
    def get_password_data(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetPasswordDataResult:
        raise NotImplementedError

    @handler("GetReservedInstancesExchangeQuote")
    def get_reserved_instances_exchange_quote(
        self,
        context: RequestContext,
        reserved_instance_ids: ReservedInstanceIdSet,
        dry_run: Boolean | None = None,
        target_configurations: TargetConfigurationRequestSet | None = None,
        **kwargs,
    ) -> GetReservedInstancesExchangeQuoteResult:
        raise NotImplementedError

    @handler("GetRouteServerAssociations")
    def get_route_server_associations(
        self,
        context: RequestContext,
        route_server_id: RouteServerId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetRouteServerAssociationsResult:
        raise NotImplementedError

    @handler("GetRouteServerPropagations")
    def get_route_server_propagations(
        self,
        context: RequestContext,
        route_server_id: RouteServerId,
        route_table_id: RouteTableId | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetRouteServerPropagationsResult:
        raise NotImplementedError

    @handler("GetRouteServerRoutingDatabase")
    def get_route_server_routing_database(
        self,
        context: RequestContext,
        route_server_id: RouteServerId,
        next_token: String | None = None,
        max_results: RouteServerMaxResults | None = None,
        dry_run: Boolean | None = None,
        filters: FilterList | None = None,
        **kwargs,
    ) -> GetRouteServerRoutingDatabaseResult:
        raise NotImplementedError

    @handler("GetSecurityGroupsForVpc")
    def get_security_groups_for_vpc(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        next_token: String | None = None,
        max_results: GetSecurityGroupsForVpcRequestMaxResults | None = None,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetSecurityGroupsForVpcResult:
        raise NotImplementedError

    @handler("GetSerialConsoleAccessStatus")
    def get_serial_console_access_status(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> GetSerialConsoleAccessStatusResult:
        raise NotImplementedError

    @handler("GetSnapshotBlockPublicAccessState")
    def get_snapshot_block_public_access_state(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> GetSnapshotBlockPublicAccessStateResult:
        raise NotImplementedError

    @handler("GetSpotPlacementScores")
    def get_spot_placement_scores(
        self,
        context: RequestContext,
        target_capacity: SpotPlacementScoresTargetCapacity,
        instance_types: InstanceTypes | None = None,
        target_capacity_unit_type: TargetCapacityUnitType | None = None,
        single_availability_zone: Boolean | None = None,
        region_names: RegionNames | None = None,
        instance_requirements_with_metadata: InstanceRequirementsWithMetadataRequest | None = None,
        dry_run: Boolean | None = None,
        max_results: SpotPlacementScoresMaxResults | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> GetSpotPlacementScoresResult:
        raise NotImplementedError

    @handler("GetSubnetCidrReservations")
    def get_subnet_cidr_reservations(
        self,
        context: RequestContext,
        subnet_id: SubnetId,
        filters: FilterList | None = None,
        dry_run: Boolean | None = None,
        next_token: String | None = None,
        max_results: GetSubnetCidrReservationsMaxResults | None = None,
        **kwargs,
    ) -> GetSubnetCidrReservationsResult:
        raise NotImplementedError

    @handler("GetTransitGatewayAttachmentPropagations")
    def get_transit_gateway_attachment_propagations(
        self,
        context: RequestContext,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetTransitGatewayAttachmentPropagationsResult:
        raise NotImplementedError

    @handler("GetTransitGatewayMeteringPolicyEntries")
    def get_transit_gateway_metering_policy_entries(
        self,
        context: RequestContext,
        transit_gateway_metering_policy_id: TransitGatewayMeteringPolicyId,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetTransitGatewayMeteringPolicyEntriesResult:
        raise NotImplementedError

    @handler("GetTransitGatewayMulticastDomainAssociations")
    def get_transit_gateway_multicast_domain_associations(
        self,
        context: RequestContext,
        transit_gateway_multicast_domain_id: TransitGatewayMulticastDomainId,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetTransitGatewayMulticastDomainAssociationsResult:
        raise NotImplementedError

    @handler("GetTransitGatewayPolicyTableAssociations")
    def get_transit_gateway_policy_table_associations(
        self,
        context: RequestContext,
        transit_gateway_policy_table_id: TransitGatewayPolicyTableId,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetTransitGatewayPolicyTableAssociationsResult:
        raise NotImplementedError

    @handler("GetTransitGatewayPolicyTableEntries")
    def get_transit_gateway_policy_table_entries(
        self,
        context: RequestContext,
        transit_gateway_policy_table_id: TransitGatewayPolicyTableId,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetTransitGatewayPolicyTableEntriesResult:
        raise NotImplementedError

    @handler("GetTransitGatewayPrefixListReferences")
    def get_transit_gateway_prefix_list_references(
        self,
        context: RequestContext,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetTransitGatewayPrefixListReferencesResult:
        raise NotImplementedError

    @handler("GetTransitGatewayRouteTableAssociations")
    def get_transit_gateway_route_table_associations(
        self,
        context: RequestContext,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetTransitGatewayRouteTableAssociationsResult:
        raise NotImplementedError

    @handler("GetTransitGatewayRouteTablePropagations")
    def get_transit_gateway_route_table_propagations(
        self,
        context: RequestContext,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetTransitGatewayRouteTablePropagationsResult:
        raise NotImplementedError

    @handler("GetVerifiedAccessEndpointPolicy")
    def get_verified_access_endpoint_policy(
        self,
        context: RequestContext,
        verified_access_endpoint_id: VerifiedAccessEndpointId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetVerifiedAccessEndpointPolicyResult:
        raise NotImplementedError

    @handler("GetVerifiedAccessEndpointTargets")
    def get_verified_access_endpoint_targets(
        self,
        context: RequestContext,
        verified_access_endpoint_id: VerifiedAccessEndpointId,
        max_results: GetVerifiedAccessEndpointTargetsMaxResults | None = None,
        next_token: NextToken | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetVerifiedAccessEndpointTargetsResult:
        raise NotImplementedError

    @handler("GetVerifiedAccessGroupPolicy")
    def get_verified_access_group_policy(
        self,
        context: RequestContext,
        verified_access_group_id: VerifiedAccessGroupId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetVerifiedAccessGroupPolicyResult:
        raise NotImplementedError

    @handler("GetVpcResourcesBlockingEncryptionEnforcement")
    def get_vpc_resources_blocking_encryption_enforcement(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        max_results: GetVpcResourcesBlockingEncryptionEnforcementMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetVpcResourcesBlockingEncryptionEnforcementResult:
        raise NotImplementedError

    @handler("GetVpnConnectionDeviceSampleConfiguration")
    def get_vpn_connection_device_sample_configuration(
        self,
        context: RequestContext,
        vpn_connection_id: VpnConnectionId,
        vpn_connection_device_type_id: VpnConnectionDeviceTypeId,
        internet_key_exchange_version: String | None = None,
        sample_type: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetVpnConnectionDeviceSampleConfigurationResult:
        raise NotImplementedError

    @handler("GetVpnConnectionDeviceTypes")
    def get_vpn_connection_device_types(
        self,
        context: RequestContext,
        max_results: GVCDMaxResults | None = None,
        next_token: NextToken | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetVpnConnectionDeviceTypesResult:
        raise NotImplementedError

    @handler("GetVpnTunnelReplacementStatus")
    def get_vpn_tunnel_replacement_status(
        self,
        context: RequestContext,
        vpn_connection_id: VpnConnectionId,
        vpn_tunnel_outside_ip_address: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> GetVpnTunnelReplacementStatusResult:
        raise NotImplementedError

    @handler("ImportClientVpnClientCertificateRevocationList")
    def import_client_vpn_client_certificate_revocation_list(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        certificate_revocation_list: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ImportClientVpnClientCertificateRevocationListResult:
        raise NotImplementedError

    @handler("ImportImage")
    def import_image(
        self,
        context: RequestContext,
        architecture: String | None = None,
        client_data: ClientData | None = None,
        client_token: String | None = None,
        description: String | None = None,
        disk_containers: ImageDiskContainerList | None = None,
        dry_run: Boolean | None = None,
        encrypted: Boolean | None = None,
        hypervisor: String | None = None,
        kms_key_id: KmsKeyId | None = None,
        license_type: String | None = None,
        platform: String | None = None,
        role_name: String | None = None,
        license_specifications: ImportImageLicenseSpecificationListRequest | None = None,
        tag_specifications: TagSpecificationList | None = None,
        usage_operation: String | None = None,
        boot_mode: BootModeValues | None = None,
        **kwargs,
    ) -> ImportImageResult:
        raise NotImplementedError

    @handler("ImportInstance")
    def import_instance(
        self,
        context: RequestContext,
        platform: PlatformValues,
        dry_run: Boolean | None = None,
        description: String | None = None,
        launch_specification: ImportInstanceLaunchSpecification | None = None,
        disk_images: DiskImageList | None = None,
        **kwargs,
    ) -> ImportInstanceResult:
        raise NotImplementedError

    @handler("ImportKeyPair")
    def import_key_pair(
        self,
        context: RequestContext,
        key_name: String,
        public_key_material: Blob,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ImportKeyPairResult:
        raise NotImplementedError

    @handler("ImportSnapshot")
    def import_snapshot(
        self,
        context: RequestContext,
        client_data: ClientData | None = None,
        client_token: String | None = None,
        description: String | None = None,
        disk_container: SnapshotDiskContainer | None = None,
        dry_run: Boolean | None = None,
        encrypted: Boolean | None = None,
        kms_key_id: KmsKeyId | None = None,
        role_name: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> ImportSnapshotResult:
        raise NotImplementedError

    @handler("ImportVolume")
    def import_volume(
        self,
        context: RequestContext,
        image: DiskImageDetail,
        volume: VolumeDetail,
        availability_zone_id: AvailabilityZoneId | None = None,
        dry_run: Boolean | None = None,
        availability_zone: String | None = None,
        description: String | None = None,
        **kwargs,
    ) -> ImportVolumeResult:
        raise NotImplementedError

    @handler("ListImagesInRecycleBin")
    def list_images_in_recycle_bin(
        self,
        context: RequestContext,
        image_ids: ImageIdStringList | None = None,
        next_token: String | None = None,
        max_results: ListImagesInRecycleBinMaxResults | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ListImagesInRecycleBinResult:
        raise NotImplementedError

    @handler("ListSnapshotsInRecycleBin")
    def list_snapshots_in_recycle_bin(
        self,
        context: RequestContext,
        max_results: ListSnapshotsInRecycleBinMaxResults | None = None,
        next_token: String | None = None,
        snapshot_ids: SnapshotIdStringList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ListSnapshotsInRecycleBinResult:
        raise NotImplementedError

    @handler("ListVolumesInRecycleBin")
    def list_volumes_in_recycle_bin(
        self,
        context: RequestContext,
        volume_ids: VolumeIdStringList | None = None,
        dry_run: Boolean | None = None,
        max_results: Integer | None = None,
        next_token: String | None = None,
        **kwargs,
    ) -> ListVolumesInRecycleBinResult:
        raise NotImplementedError

    @handler("LockSnapshot")
    def lock_snapshot(
        self,
        context: RequestContext,
        snapshot_id: SnapshotId,
        lock_mode: LockMode,
        dry_run: Boolean | None = None,
        cool_off_period: CoolOffPeriodRequestHours | None = None,
        lock_duration: RetentionPeriodRequestDays | None = None,
        expiration_date: MillisecondDateTime | None = None,
        **kwargs,
    ) -> LockSnapshotResult:
        raise NotImplementedError

    @handler("ModifyAddressAttribute")
    def modify_address_attribute(
        self,
        context: RequestContext,
        allocation_id: AllocationId,
        domain_name: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyAddressAttributeResult:
        raise NotImplementedError

    @handler("ModifyAvailabilityZoneGroup")
    def modify_availability_zone_group(
        self,
        context: RequestContext,
        group_name: String,
        opt_in_status: ModifyAvailabilityZoneOptInStatus,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyAvailabilityZoneGroupResult:
        raise NotImplementedError

    @handler("ModifyCapacityReservation")
    def modify_capacity_reservation(
        self,
        context: RequestContext,
        capacity_reservation_id: CapacityReservationId,
        instance_count: Integer | None = None,
        end_date: DateTime | None = None,
        end_date_type: EndDateType | None = None,
        accept: Boolean | None = None,
        dry_run: Boolean | None = None,
        additional_info: String | None = None,
        instance_match_criteria: InstanceMatchCriteria | None = None,
        **kwargs,
    ) -> ModifyCapacityReservationResult:
        raise NotImplementedError

    @handler("ModifyCapacityReservationFleet")
    def modify_capacity_reservation_fleet(
        self,
        context: RequestContext,
        capacity_reservation_fleet_id: CapacityReservationFleetId,
        total_target_capacity: Integer | None = None,
        end_date: MillisecondDateTime | None = None,
        dry_run: Boolean | None = None,
        remove_end_date: Boolean | None = None,
        **kwargs,
    ) -> ModifyCapacityReservationFleetResult:
        raise NotImplementedError

    @handler("ModifyClientVpnEndpoint")
    def modify_client_vpn_endpoint(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        server_certificate_arn: String | None = None,
        connection_log_options: ConnectionLogOptions | None = None,
        dns_servers: DnsServersOptionsModifyStructure | None = None,
        vpn_port: Integer | None = None,
        description: String | None = None,
        split_tunnel: Boolean | None = None,
        dry_run: Boolean | None = None,
        security_group_ids: ClientVpnSecurityGroupIdSet | None = None,
        vpc_id: VpcId | None = None,
        self_service_portal: SelfServicePortal | None = None,
        client_connect_options: ClientConnectOptions | None = None,
        session_timeout_hours: Integer | None = None,
        client_login_banner_options: ClientLoginBannerOptions | None = None,
        client_route_enforcement_options: ClientRouteEnforcementOptions | None = None,
        disconnect_on_session_timeout: Boolean | None = None,
        **kwargs,
    ) -> ModifyClientVpnEndpointResult:
        raise NotImplementedError

    @handler("ModifyDefaultCreditSpecification")
    def modify_default_credit_specification(
        self,
        context: RequestContext,
        instance_family: UnlimitedSupportedInstanceFamily,
        cpu_credits: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyDefaultCreditSpecificationResult:
        raise NotImplementedError

    @handler("ModifyEbsDefaultKmsKeyId")
    def modify_ebs_default_kms_key_id(
        self,
        context: RequestContext,
        kms_key_id: KmsKeyId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyEbsDefaultKmsKeyIdResult:
        raise NotImplementedError

    @handler("ModifyFleet", expand=False)
    def modify_fleet(
        self, context: RequestContext, request: ModifyFleetRequest, **kwargs
    ) -> ModifyFleetResult:
        raise NotImplementedError

    @handler("ModifyFpgaImageAttribute")
    def modify_fpga_image_attribute(
        self,
        context: RequestContext,
        fpga_image_id: FpgaImageId,
        dry_run: Boolean | None = None,
        attribute: FpgaImageAttributeName | None = None,
        operation_type: OperationType | None = None,
        user_ids: UserIdStringList | None = None,
        user_groups: UserGroupStringList | None = None,
        product_codes: ProductCodeStringList | None = None,
        load_permission: LoadPermissionModifications | None = None,
        description: String | None = None,
        name: String | None = None,
        **kwargs,
    ) -> ModifyFpgaImageAttributeResult:
        raise NotImplementedError

    @handler("ModifyHosts")
    def modify_hosts(
        self,
        context: RequestContext,
        host_ids: RequestHostIdList,
        host_recovery: HostRecovery | None = None,
        instance_type: String | None = None,
        instance_family: String | None = None,
        host_maintenance: HostMaintenance | None = None,
        auto_placement: AutoPlacement | None = None,
        **kwargs,
    ) -> ModifyHostsResult:
        raise NotImplementedError

    @handler("ModifyIdFormat")
    def modify_id_format(
        self, context: RequestContext, resource: String, use_long_ids: Boolean, **kwargs
    ) -> None:
        raise NotImplementedError

    @handler("ModifyIdentityIdFormat")
    def modify_identity_id_format(
        self,
        context: RequestContext,
        resource: String,
        use_long_ids: Boolean,
        principal_arn: String,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("ModifyImageAttribute")
    def modify_image_attribute(
        self,
        context: RequestContext,
        image_id: ImageId,
        attribute: String | None = None,
        description: AttributeValue | None = None,
        launch_permission: LaunchPermissionModifications | None = None,
        operation_type: OperationType | None = None,
        product_codes: ProductCodeStringList | None = None,
        user_groups: UserGroupStringList | None = None,
        user_ids: UserIdStringList | None = None,
        value: String | None = None,
        organization_arns: OrganizationArnStringList | None = None,
        organizational_unit_arns: OrganizationalUnitArnStringList | None = None,
        imds_support: AttributeValue | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("ModifyInstanceAttribute")
    def modify_instance_attribute(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        source_dest_check: AttributeBooleanValue | None = None,
        disable_api_stop: AttributeBooleanValue | None = None,
        dry_run: Boolean | None = None,
        attribute: InstanceAttributeName | None = None,
        value: String | None = None,
        block_device_mappings: InstanceBlockDeviceMappingSpecificationList | None = None,
        disable_api_termination: AttributeBooleanValue | None = None,
        instance_type: AttributeValue | None = None,
        kernel: AttributeValue | None = None,
        ramdisk: AttributeValue | None = None,
        user_data: BlobAttributeValue | None = None,
        instance_initiated_shutdown_behavior: AttributeValue | None = None,
        groups: GroupIdStringList | None = None,
        ebs_optimized: AttributeBooleanValue | None = None,
        sriov_net_support: AttributeValue | None = None,
        ena_support: AttributeBooleanValue | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("ModifyInstanceCapacityReservationAttributes")
    def modify_instance_capacity_reservation_attributes(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        capacity_reservation_specification: CapacityReservationSpecification,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyInstanceCapacityReservationAttributesResult:
        raise NotImplementedError

    @handler("ModifyInstanceConnectEndpoint")
    def modify_instance_connect_endpoint(
        self,
        context: RequestContext,
        instance_connect_endpoint_id: InstanceConnectEndpointId,
        dry_run: Boolean | None = None,
        ip_address_type: IpAddressType | None = None,
        security_group_ids: SecurityGroupIdStringListRequest | None = None,
        preserve_client_ip: Boolean | None = None,
        **kwargs,
    ) -> ModifyInstanceConnectEndpointResult:
        raise NotImplementedError

    @handler("ModifyInstanceCpuOptions")
    def modify_instance_cpu_options(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        core_count: Integer,
        threads_per_core: Integer,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyInstanceCpuOptionsResult:
        raise NotImplementedError

    @handler("ModifyInstanceCreditSpecification")
    def modify_instance_credit_specification(
        self,
        context: RequestContext,
        instance_credit_specifications: InstanceCreditSpecificationListRequest,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> ModifyInstanceCreditSpecificationResult:
        raise NotImplementedError

    @handler("ModifyInstanceEventStartTime")
    def modify_instance_event_start_time(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        instance_event_id: String,
        not_before: DateTime,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyInstanceEventStartTimeResult:
        raise NotImplementedError

    @handler("ModifyInstanceEventWindow")
    def modify_instance_event_window(
        self,
        context: RequestContext,
        instance_event_window_id: InstanceEventWindowId,
        dry_run: Boolean | None = None,
        name: String | None = None,
        time_ranges: InstanceEventWindowTimeRangeRequestSet | None = None,
        cron_expression: InstanceEventWindowCronExpression | None = None,
        **kwargs,
    ) -> ModifyInstanceEventWindowResult:
        raise NotImplementedError

    @handler("ModifyInstanceMaintenanceOptions")
    def modify_instance_maintenance_options(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        auto_recovery: InstanceAutoRecoveryState | None = None,
        reboot_migration: InstanceRebootMigrationState | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyInstanceMaintenanceOptionsResult:
        raise NotImplementedError

    @handler("ModifyInstanceMetadataDefaults")
    def modify_instance_metadata_defaults(
        self,
        context: RequestContext,
        http_tokens: MetadataDefaultHttpTokensState | None = None,
        http_put_response_hop_limit: BoxedInteger | None = None,
        http_endpoint: DefaultInstanceMetadataEndpointState | None = None,
        instance_metadata_tags: DefaultInstanceMetadataTagsState | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyInstanceMetadataDefaultsResult:
        raise NotImplementedError

    @handler("ModifyInstanceMetadataOptions")
    def modify_instance_metadata_options(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        http_tokens: HttpTokensState | None = None,
        http_put_response_hop_limit: Integer | None = None,
        http_endpoint: InstanceMetadataEndpointState | None = None,
        dry_run: Boolean | None = None,
        http_protocol_ipv6: InstanceMetadataProtocolState | None = None,
        instance_metadata_tags: InstanceMetadataTagsState | None = None,
        **kwargs,
    ) -> ModifyInstanceMetadataOptionsResult:
        raise NotImplementedError

    @handler("ModifyInstanceNetworkPerformanceOptions")
    def modify_instance_network_performance_options(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        bandwidth_weighting: InstanceBandwidthWeighting,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyInstanceNetworkPerformanceResult:
        raise NotImplementedError

    @handler("ModifyInstancePlacement")
    def modify_instance_placement(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        group_name: PlacementGroupName | None = None,
        partition_number: Integer | None = None,
        host_resource_group_arn: String | None = None,
        group_id: PlacementGroupId | None = None,
        tenancy: HostTenancy | None = None,
        affinity: Affinity | None = None,
        host_id: DedicatedHostId | None = None,
        **kwargs,
    ) -> ModifyInstancePlacementResult:
        raise NotImplementedError

    @handler("ModifyIpam")
    def modify_ipam(
        self,
        context: RequestContext,
        ipam_id: IpamId,
        dry_run: Boolean | None = None,
        description: String | None = None,
        add_operating_regions: AddIpamOperatingRegionSet | None = None,
        remove_operating_regions: RemoveIpamOperatingRegionSet | None = None,
        tier: IpamTier | None = None,
        enable_private_gua: Boolean | None = None,
        metered_account: IpamMeteredAccount | None = None,
        **kwargs,
    ) -> ModifyIpamResult:
        raise NotImplementedError

    @handler("ModifyIpamPolicyAllocationRules")
    def modify_ipam_policy_allocation_rules(
        self,
        context: RequestContext,
        ipam_policy_id: IpamPolicyId,
        locale: String,
        resource_type: IpamPolicyResourceType,
        dry_run: Boolean | None = None,
        allocation_rules: IpamPolicyAllocationRuleListRequest | None = None,
        **kwargs,
    ) -> ModifyIpamPolicyAllocationRulesResult:
        raise NotImplementedError

    @handler("ModifyIpamPool")
    def modify_ipam_pool(
        self,
        context: RequestContext,
        ipam_pool_id: IpamPoolId,
        dry_run: Boolean | None = None,
        description: String | None = None,
        auto_import: Boolean | None = None,
        allocation_min_netmask_length: IpamNetmaskLength | None = None,
        allocation_max_netmask_length: IpamNetmaskLength | None = None,
        allocation_default_netmask_length: IpamNetmaskLength | None = None,
        clear_allocation_default_netmask_length: Boolean | None = None,
        add_allocation_resource_tags: RequestIpamResourceTagList | None = None,
        remove_allocation_resource_tags: RequestIpamResourceTagList | None = None,
        **kwargs,
    ) -> ModifyIpamPoolResult:
        raise NotImplementedError

    @handler("ModifyIpamPrefixListResolver")
    def modify_ipam_prefix_list_resolver(
        self,
        context: RequestContext,
        ipam_prefix_list_resolver_id: IpamPrefixListResolverId,
        dry_run: Boolean | None = None,
        description: String | None = None,
        rules: IpamPrefixListResolverRuleRequestSet | None = None,
        **kwargs,
    ) -> ModifyIpamPrefixListResolverResult:
        raise NotImplementedError

    @handler("ModifyIpamPrefixListResolverTarget")
    def modify_ipam_prefix_list_resolver_target(
        self,
        context: RequestContext,
        ipam_prefix_list_resolver_target_id: IpamPrefixListResolverTargetId,
        dry_run: Boolean | None = None,
        desired_version: BoxedLong | None = None,
        track_latest_version: BoxedBoolean | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> ModifyIpamPrefixListResolverTargetResult:
        raise NotImplementedError

    @handler("ModifyIpamResourceCidr")
    def modify_ipam_resource_cidr(
        self,
        context: RequestContext,
        resource_id: String,
        resource_cidr: String,
        resource_region: String,
        current_ipam_scope_id: IpamScopeId,
        monitored: Boolean,
        dry_run: Boolean | None = None,
        destination_ipam_scope_id: IpamScopeId | None = None,
        **kwargs,
    ) -> ModifyIpamResourceCidrResult:
        raise NotImplementedError

    @handler("ModifyIpamResourceDiscovery")
    def modify_ipam_resource_discovery(
        self,
        context: RequestContext,
        ipam_resource_discovery_id: IpamResourceDiscoveryId,
        dry_run: Boolean | None = None,
        description: String | None = None,
        add_operating_regions: AddIpamOperatingRegionSet | None = None,
        remove_operating_regions: RemoveIpamOperatingRegionSet | None = None,
        add_organizational_unit_exclusions: AddIpamOrganizationalUnitExclusionSet | None = None,
        remove_organizational_unit_exclusions: RemoveIpamOrganizationalUnitExclusionSet
        | None = None,
        **kwargs,
    ) -> ModifyIpamResourceDiscoveryResult:
        raise NotImplementedError

    @handler("ModifyIpamScope")
    def modify_ipam_scope(
        self,
        context: RequestContext,
        ipam_scope_id: IpamScopeId,
        dry_run: Boolean | None = None,
        description: String | None = None,
        external_authority_configuration: ExternalAuthorityConfiguration | None = None,
        remove_external_authority_configuration: Boolean | None = None,
        **kwargs,
    ) -> ModifyIpamScopeResult:
        raise NotImplementedError

    @handler("ModifyLaunchTemplate")
    def modify_launch_template(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        launch_template_id: LaunchTemplateId | None = None,
        launch_template_name: LaunchTemplateName | None = None,
        default_version: String | None = None,
        **kwargs,
    ) -> ModifyLaunchTemplateResult:
        raise NotImplementedError

    @handler("ModifyLocalGatewayRoute")
    def modify_local_gateway_route(
        self,
        context: RequestContext,
        local_gateway_route_table_id: LocalGatewayRoutetableId,
        destination_cidr_block: String | None = None,
        local_gateway_virtual_interface_group_id: LocalGatewayVirtualInterfaceGroupId | None = None,
        network_interface_id: NetworkInterfaceId | None = None,
        dry_run: Boolean | None = None,
        destination_prefix_list_id: PrefixListResourceId | None = None,
        **kwargs,
    ) -> ModifyLocalGatewayRouteResult:
        raise NotImplementedError

    @handler("ModifyManagedPrefixList")
    def modify_managed_prefix_list(
        self,
        context: RequestContext,
        prefix_list_id: PrefixListResourceId,
        dry_run: Boolean | None = None,
        current_version: Long | None = None,
        prefix_list_name: String | None = None,
        add_entries: AddPrefixListEntries | None = None,
        remove_entries: RemovePrefixListEntries | None = None,
        max_entries: Integer | None = None,
        ipam_prefix_list_resolver_sync_enabled: BoxedBoolean | None = None,
        **kwargs,
    ) -> ModifyManagedPrefixListResult:
        raise NotImplementedError

    @handler("ModifyNetworkInterfaceAttribute")
    def modify_network_interface_attribute(
        self,
        context: RequestContext,
        network_interface_id: NetworkInterfaceId,
        ena_srd_specification: EnaSrdSpecification | None = None,
        enable_primary_ipv6: Boolean | None = None,
        connection_tracking_specification: ConnectionTrackingSpecificationRequest | None = None,
        associate_public_ip_address: Boolean | None = None,
        associated_subnet_ids: SubnetIdList | None = None,
        dry_run: Boolean | None = None,
        description: AttributeValue | None = None,
        source_dest_check: AttributeBooleanValue | None = None,
        groups: SecurityGroupIdStringList | None = None,
        attachment: NetworkInterfaceAttachmentChanges | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("ModifyPrivateDnsNameOptions")
    def modify_private_dns_name_options(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        dry_run: Boolean | None = None,
        private_dns_hostname_type: HostnameType | None = None,
        enable_resource_name_dns_a_record: Boolean | None = None,
        enable_resource_name_dns_aaaa_record: Boolean | None = None,
        **kwargs,
    ) -> ModifyPrivateDnsNameOptionsResult:
        raise NotImplementedError

    @handler("ModifyPublicIpDnsNameOptions")
    def modify_public_ip_dns_name_options(
        self,
        context: RequestContext,
        network_interface_id: NetworkInterfaceId,
        hostname_type: PublicIpDnsOption,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyPublicIpDnsNameOptionsResult:
        raise NotImplementedError

    @handler("ModifyReservedInstances")
    def modify_reserved_instances(
        self,
        context: RequestContext,
        reserved_instances_ids: ReservedInstancesIdStringList,
        target_configurations: ReservedInstancesConfigurationList,
        client_token: String | None = None,
        **kwargs,
    ) -> ModifyReservedInstancesResult:
        raise NotImplementedError

    @handler("ModifyRouteServer")
    def modify_route_server(
        self,
        context: RequestContext,
        route_server_id: RouteServerId,
        persist_routes: RouteServerPersistRoutesAction | None = None,
        persist_routes_duration: BoxedLong | None = None,
        sns_notifications_enabled: Boolean | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyRouteServerResult:
        raise NotImplementedError

    @handler("ModifySecurityGroupRules")
    def modify_security_group_rules(
        self,
        context: RequestContext,
        group_id: SecurityGroupId,
        security_group_rules: SecurityGroupRuleUpdateList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifySecurityGroupRulesResult:
        raise NotImplementedError

    @handler("ModifySnapshotAttribute")
    def modify_snapshot_attribute(
        self,
        context: RequestContext,
        snapshot_id: SnapshotId,
        attribute: SnapshotAttributeName | None = None,
        create_volume_permission: CreateVolumePermissionModifications | None = None,
        group_names: GroupNameStringList | None = None,
        operation_type: OperationType | None = None,
        user_ids: UserIdStringList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("ModifySnapshotTier")
    def modify_snapshot_tier(
        self,
        context: RequestContext,
        snapshot_id: SnapshotId,
        storage_tier: TargetStorageTier | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifySnapshotTierResult:
        raise NotImplementedError

    @handler("ModifySpotFleetRequest", expand=False)
    def modify_spot_fleet_request(
        self, context: RequestContext, request: ModifySpotFleetRequestRequest, **kwargs
    ) -> ModifySpotFleetRequestResponse:
        raise NotImplementedError

    @handler("ModifySubnetAttribute")
    def modify_subnet_attribute(
        self,
        context: RequestContext,
        subnet_id: SubnetId,
        assign_ipv6_address_on_creation: AttributeBooleanValue | None = None,
        map_public_ip_on_launch: AttributeBooleanValue | None = None,
        map_customer_owned_ip_on_launch: AttributeBooleanValue | None = None,
        customer_owned_ipv4_pool: CoipPoolId | None = None,
        enable_dns64: AttributeBooleanValue | None = None,
        private_dns_hostname_type_on_launch: HostnameType | None = None,
        enable_resource_name_dns_a_record_on_launch: AttributeBooleanValue | None = None,
        enable_resource_name_dns_aaaa_record_on_launch: AttributeBooleanValue | None = None,
        enable_lni_at_device_index: Integer | None = None,
        disable_lni_at_device_index: AttributeBooleanValue | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("ModifyTrafficMirrorFilterNetworkServices")
    def modify_traffic_mirror_filter_network_services(
        self,
        context: RequestContext,
        traffic_mirror_filter_id: TrafficMirrorFilterId,
        add_network_services: TrafficMirrorNetworkServiceList | None = None,
        remove_network_services: TrafficMirrorNetworkServiceList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyTrafficMirrorFilterNetworkServicesResult:
        raise NotImplementedError

    @handler("ModifyTrafficMirrorFilterRule")
    def modify_traffic_mirror_filter_rule(
        self,
        context: RequestContext,
        traffic_mirror_filter_rule_id: TrafficMirrorFilterRuleIdWithResolver,
        traffic_direction: TrafficDirection | None = None,
        rule_number: Integer | None = None,
        rule_action: TrafficMirrorRuleAction | None = None,
        destination_port_range: TrafficMirrorPortRangeRequest | None = None,
        source_port_range: TrafficMirrorPortRangeRequest | None = None,
        protocol: Integer | None = None,
        destination_cidr_block: String | None = None,
        source_cidr_block: String | None = None,
        description: String | None = None,
        remove_fields: TrafficMirrorFilterRuleFieldList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyTrafficMirrorFilterRuleResult:
        raise NotImplementedError

    @handler("ModifyTrafficMirrorSession")
    def modify_traffic_mirror_session(
        self,
        context: RequestContext,
        traffic_mirror_session_id: TrafficMirrorSessionId,
        traffic_mirror_target_id: TrafficMirrorTargetId | None = None,
        traffic_mirror_filter_id: TrafficMirrorFilterId | None = None,
        packet_length: Integer | None = None,
        session_number: Integer | None = None,
        virtual_network_id: Integer | None = None,
        description: String | None = None,
        remove_fields: TrafficMirrorSessionFieldList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyTrafficMirrorSessionResult:
        raise NotImplementedError

    @handler("ModifyTransitGateway")
    def modify_transit_gateway(
        self,
        context: RequestContext,
        transit_gateway_id: TransitGatewayId,
        description: String | None = None,
        options: ModifyTransitGatewayOptions | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyTransitGatewayResult:
        raise NotImplementedError

    @handler("ModifyTransitGatewayMeteringPolicy")
    def modify_transit_gateway_metering_policy(
        self,
        context: RequestContext,
        transit_gateway_metering_policy_id: TransitGatewayMeteringPolicyId,
        add_middlebox_attachment_ids: TransitGatewayAttachmentIdStringList | None = None,
        remove_middlebox_attachment_ids: TransitGatewayAttachmentIdStringList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyTransitGatewayMeteringPolicyResult:
        raise NotImplementedError

    @handler("ModifyTransitGatewayPrefixListReference")
    def modify_transit_gateway_prefix_list_reference(
        self,
        context: RequestContext,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        prefix_list_id: PrefixListResourceId,
        transit_gateway_attachment_id: TransitGatewayAttachmentId | None = None,
        blackhole: Boolean | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyTransitGatewayPrefixListReferenceResult:
        raise NotImplementedError

    @handler("ModifyTransitGatewayVpcAttachment")
    def modify_transit_gateway_vpc_attachment(
        self,
        context: RequestContext,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        add_subnet_ids: TransitGatewaySubnetIdList | None = None,
        remove_subnet_ids: TransitGatewaySubnetIdList | None = None,
        options: ModifyTransitGatewayVpcAttachmentRequestOptions | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyTransitGatewayVpcAttachmentResult:
        raise NotImplementedError

    @handler("ModifyVerifiedAccessEndpoint")
    def modify_verified_access_endpoint(
        self,
        context: RequestContext,
        verified_access_endpoint_id: VerifiedAccessEndpointId,
        verified_access_group_id: VerifiedAccessGroupId | None = None,
        load_balancer_options: ModifyVerifiedAccessEndpointLoadBalancerOptions | None = None,
        network_interface_options: ModifyVerifiedAccessEndpointEniOptions | None = None,
        description: String | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        rds_options: ModifyVerifiedAccessEndpointRdsOptions | None = None,
        cidr_options: ModifyVerifiedAccessEndpointCidrOptions | None = None,
        **kwargs,
    ) -> ModifyVerifiedAccessEndpointResult:
        raise NotImplementedError

    @handler("ModifyVerifiedAccessEndpointPolicy")
    def modify_verified_access_endpoint_policy(
        self,
        context: RequestContext,
        verified_access_endpoint_id: VerifiedAccessEndpointId,
        policy_enabled: Boolean | None = None,
        policy_document: String | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        sse_specification: VerifiedAccessSseSpecificationRequest | None = None,
        **kwargs,
    ) -> ModifyVerifiedAccessEndpointPolicyResult:
        raise NotImplementedError

    @handler("ModifyVerifiedAccessGroup")
    def modify_verified_access_group(
        self,
        context: RequestContext,
        verified_access_group_id: VerifiedAccessGroupId,
        verified_access_instance_id: VerifiedAccessInstanceId | None = None,
        description: String | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyVerifiedAccessGroupResult:
        raise NotImplementedError

    @handler("ModifyVerifiedAccessGroupPolicy")
    def modify_verified_access_group_policy(
        self,
        context: RequestContext,
        verified_access_group_id: VerifiedAccessGroupId,
        policy_enabled: Boolean | None = None,
        policy_document: String | None = None,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        sse_specification: VerifiedAccessSseSpecificationRequest | None = None,
        **kwargs,
    ) -> ModifyVerifiedAccessGroupPolicyResult:
        raise NotImplementedError

    @handler("ModifyVerifiedAccessInstance")
    def modify_verified_access_instance(
        self,
        context: RequestContext,
        verified_access_instance_id: VerifiedAccessInstanceId,
        description: String | None = None,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        cidr_endpoints_custom_sub_domain: String | None = None,
        **kwargs,
    ) -> ModifyVerifiedAccessInstanceResult:
        raise NotImplementedError

    @handler("ModifyVerifiedAccessInstanceLoggingConfiguration")
    def modify_verified_access_instance_logging_configuration(
        self,
        context: RequestContext,
        verified_access_instance_id: VerifiedAccessInstanceId,
        access_logs: VerifiedAccessLogOptions,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> ModifyVerifiedAccessInstanceLoggingConfigurationResult:
        raise NotImplementedError

    @handler("ModifyVerifiedAccessTrustProvider")
    def modify_verified_access_trust_provider(
        self,
        context: RequestContext,
        verified_access_trust_provider_id: VerifiedAccessTrustProviderId,
        oidc_options: ModifyVerifiedAccessTrustProviderOidcOptions | None = None,
        device_options: ModifyVerifiedAccessTrustProviderDeviceOptions | None = None,
        description: String | None = None,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        sse_specification: VerifiedAccessSseSpecificationRequest | None = None,
        native_application_oidc_options: ModifyVerifiedAccessNativeApplicationOidcOptions
        | None = None,
        **kwargs,
    ) -> ModifyVerifiedAccessTrustProviderResult:
        raise NotImplementedError

    @handler("ModifyVolume")
    def modify_volume(
        self,
        context: RequestContext,
        volume_id: VolumeId,
        dry_run: Boolean | None = None,
        size: Integer | None = None,
        volume_type: VolumeType | None = None,
        iops: Integer | None = None,
        throughput: Integer | None = None,
        multi_attach_enabled: Boolean | None = None,
        **kwargs,
    ) -> ModifyVolumeResult:
        raise NotImplementedError

    @handler("ModifyVolumeAttribute")
    def modify_volume_attribute(
        self,
        context: RequestContext,
        volume_id: VolumeId,
        auto_enable_io: AttributeBooleanValue | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("ModifyVpcAttribute")
    def modify_vpc_attribute(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        enable_dns_hostnames: AttributeBooleanValue | None = None,
        enable_dns_support: AttributeBooleanValue | None = None,
        enable_network_address_usage_metrics: AttributeBooleanValue | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("ModifyVpcBlockPublicAccessExclusion")
    def modify_vpc_block_public_access_exclusion(
        self,
        context: RequestContext,
        exclusion_id: VpcBlockPublicAccessExclusionId,
        internet_gateway_exclusion_mode: InternetGatewayExclusionMode,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyVpcBlockPublicAccessExclusionResult:
        raise NotImplementedError

    @handler("ModifyVpcBlockPublicAccessOptions")
    def modify_vpc_block_public_access_options(
        self,
        context: RequestContext,
        internet_gateway_block_mode: InternetGatewayBlockMode,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyVpcBlockPublicAccessOptionsResult:
        raise NotImplementedError

    @handler("ModifyVpcEncryptionControl")
    def modify_vpc_encryption_control(
        self,
        context: RequestContext,
        vpc_encryption_control_id: VpcEncryptionControlId,
        dry_run: Boolean | None = None,
        mode: VpcEncryptionControlMode | None = None,
        internet_gateway_exclusion: VpcEncryptionControlExclusionStateInput | None = None,
        egress_only_internet_gateway_exclusion: VpcEncryptionControlExclusionStateInput
        | None = None,
        nat_gateway_exclusion: VpcEncryptionControlExclusionStateInput | None = None,
        virtual_private_gateway_exclusion: VpcEncryptionControlExclusionStateInput | None = None,
        vpc_peering_exclusion: VpcEncryptionControlExclusionStateInput | None = None,
        lambda_exclusion: VpcEncryptionControlExclusionStateInput | None = None,
        vpc_lattice_exclusion: VpcEncryptionControlExclusionStateInput | None = None,
        elastic_file_system_exclusion: VpcEncryptionControlExclusionStateInput | None = None,
        **kwargs,
    ) -> ModifyVpcEncryptionControlResult:
        raise NotImplementedError

    @handler("ModifyVpcEndpoint")
    def modify_vpc_endpoint(
        self,
        context: RequestContext,
        vpc_endpoint_id: VpcEndpointId,
        dry_run: Boolean | None = None,
        reset_policy: Boolean | None = None,
        policy_document: String | None = None,
        add_route_table_ids: VpcEndpointRouteTableIdList | None = None,
        remove_route_table_ids: VpcEndpointRouteTableIdList | None = None,
        add_subnet_ids: VpcEndpointSubnetIdList | None = None,
        remove_subnet_ids: VpcEndpointSubnetIdList | None = None,
        add_security_group_ids: VpcEndpointSecurityGroupIdList | None = None,
        remove_security_group_ids: VpcEndpointSecurityGroupIdList | None = None,
        ip_address_type: IpAddressType | None = None,
        dns_options: DnsOptionsSpecification | None = None,
        private_dns_enabled: Boolean | None = None,
        subnet_configurations: SubnetConfigurationsList | None = None,
        **kwargs,
    ) -> ModifyVpcEndpointResult:
        raise NotImplementedError

    @handler("ModifyVpcEndpointConnectionNotification")
    def modify_vpc_endpoint_connection_notification(
        self,
        context: RequestContext,
        connection_notification_id: ConnectionNotificationId,
        dry_run: Boolean | None = None,
        connection_notification_arn: String | None = None,
        connection_events: ValueStringList | None = None,
        **kwargs,
    ) -> ModifyVpcEndpointConnectionNotificationResult:
        raise NotImplementedError

    @handler("ModifyVpcEndpointServiceConfiguration")
    def modify_vpc_endpoint_service_configuration(
        self,
        context: RequestContext,
        service_id: VpcEndpointServiceId,
        dry_run: Boolean | None = None,
        private_dns_name: String | None = None,
        remove_private_dns_name: Boolean | None = None,
        acceptance_required: Boolean | None = None,
        add_network_load_balancer_arns: ValueStringList | None = None,
        remove_network_load_balancer_arns: ValueStringList | None = None,
        add_gateway_load_balancer_arns: ValueStringList | None = None,
        remove_gateway_load_balancer_arns: ValueStringList | None = None,
        add_supported_ip_address_types: ValueStringList | None = None,
        remove_supported_ip_address_types: ValueStringList | None = None,
        add_supported_regions: ValueStringList | None = None,
        remove_supported_regions: ValueStringList | None = None,
        **kwargs,
    ) -> ModifyVpcEndpointServiceConfigurationResult:
        raise NotImplementedError

    @handler("ModifyVpcEndpointServicePayerResponsibility")
    def modify_vpc_endpoint_service_payer_responsibility(
        self,
        context: RequestContext,
        service_id: VpcEndpointServiceId,
        payer_responsibility: PayerResponsibility,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyVpcEndpointServicePayerResponsibilityResult:
        raise NotImplementedError

    @handler("ModifyVpcEndpointServicePermissions")
    def modify_vpc_endpoint_service_permissions(
        self,
        context: RequestContext,
        service_id: VpcEndpointServiceId,
        dry_run: Boolean | None = None,
        add_allowed_principals: ValueStringList | None = None,
        remove_allowed_principals: ValueStringList | None = None,
        **kwargs,
    ) -> ModifyVpcEndpointServicePermissionsResult:
        raise NotImplementedError

    @handler("ModifyVpcPeeringConnectionOptions")
    def modify_vpc_peering_connection_options(
        self,
        context: RequestContext,
        vpc_peering_connection_id: VpcPeeringConnectionId,
        accepter_peering_connection_options: PeeringConnectionOptionsRequest | None = None,
        dry_run: Boolean | None = None,
        requester_peering_connection_options: PeeringConnectionOptionsRequest | None = None,
        **kwargs,
    ) -> ModifyVpcPeeringConnectionOptionsResult:
        raise NotImplementedError

    @handler("ModifyVpcTenancy")
    def modify_vpc_tenancy(
        self,
        context: RequestContext,
        vpc_id: VpcId,
        instance_tenancy: VpcTenancy,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyVpcTenancyResult:
        raise NotImplementedError

    @handler("ModifyVpnConnection")
    def modify_vpn_connection(
        self,
        context: RequestContext,
        vpn_connection_id: VpnConnectionId,
        transit_gateway_id: TransitGatewayId | None = None,
        customer_gateway_id: CustomerGatewayId | None = None,
        vpn_gateway_id: VpnGatewayId | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyVpnConnectionResult:
        raise NotImplementedError

    @handler("ModifyVpnConnectionOptions")
    def modify_vpn_connection_options(
        self,
        context: RequestContext,
        vpn_connection_id: VpnConnectionId,
        local_ipv4_network_cidr: String | None = None,
        remote_ipv4_network_cidr: String | None = None,
        local_ipv6_network_cidr: String | None = None,
        remote_ipv6_network_cidr: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyVpnConnectionOptionsResult:
        raise NotImplementedError

    @handler("ModifyVpnTunnelCertificate")
    def modify_vpn_tunnel_certificate(
        self,
        context: RequestContext,
        vpn_connection_id: VpnConnectionId,
        vpn_tunnel_outside_ip_address: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ModifyVpnTunnelCertificateResult:
        raise NotImplementedError

    @handler("ModifyVpnTunnelOptions")
    def modify_vpn_tunnel_options(
        self,
        context: RequestContext,
        vpn_connection_id: VpnConnectionId,
        vpn_tunnel_outside_ip_address: String,
        tunnel_options: ModifyVpnTunnelOptionsSpecification,
        dry_run: Boolean | None = None,
        skip_tunnel_replacement: Boolean | None = None,
        pre_shared_key_storage: String | None = None,
        **kwargs,
    ) -> ModifyVpnTunnelOptionsResult:
        raise NotImplementedError

    @handler("MonitorInstances")
    def monitor_instances(
        self,
        context: RequestContext,
        instance_ids: InstanceIdStringList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> MonitorInstancesResult:
        raise NotImplementedError

    @handler("MoveAddressToVpc")
    def move_address_to_vpc(
        self, context: RequestContext, public_ip: String, dry_run: Boolean | None = None, **kwargs
    ) -> MoveAddressToVpcResult:
        raise NotImplementedError

    @handler("MoveByoipCidrToIpam")
    def move_byoip_cidr_to_ipam(
        self,
        context: RequestContext,
        cidr: String,
        ipam_pool_id: IpamPoolId,
        ipam_pool_owner: String,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> MoveByoipCidrToIpamResult:
        raise NotImplementedError

    @handler("MoveCapacityReservationInstances")
    def move_capacity_reservation_instances(
        self,
        context: RequestContext,
        source_capacity_reservation_id: CapacityReservationId,
        destination_capacity_reservation_id: CapacityReservationId,
        instance_count: Integer,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> MoveCapacityReservationInstancesResult:
        raise NotImplementedError

    @handler("ProvisionByoipCidr")
    def provision_byoip_cidr(
        self,
        context: RequestContext,
        cidr: String,
        cidr_authorization_context: CidrAuthorizationContext | None = None,
        publicly_advertisable: Boolean | None = None,
        description: String | None = None,
        dry_run: Boolean | None = None,
        pool_tag_specifications: TagSpecificationList | None = None,
        multi_region: Boolean | None = None,
        network_border_group: String | None = None,
        **kwargs,
    ) -> ProvisionByoipCidrResult:
        raise NotImplementedError

    @handler("ProvisionIpamByoasn")
    def provision_ipam_byoasn(
        self,
        context: RequestContext,
        ipam_id: IpamId,
        asn: String,
        asn_authorization_context: AsnAuthorizationContext,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ProvisionIpamByoasnResult:
        raise NotImplementedError

    @handler("ProvisionIpamPoolCidr")
    def provision_ipam_pool_cidr(
        self,
        context: RequestContext,
        ipam_pool_id: IpamPoolId,
        dry_run: Boolean | None = None,
        cidr: String | None = None,
        cidr_authorization_context: IpamCidrAuthorizationContext | None = None,
        netmask_length: Integer | None = None,
        client_token: String | None = None,
        verification_method: VerificationMethod | None = None,
        ipam_external_resource_verification_token_id: IpamExternalResourceVerificationTokenId
        | None = None,
        **kwargs,
    ) -> ProvisionIpamPoolCidrResult:
        raise NotImplementedError

    @handler("ProvisionPublicIpv4PoolCidr")
    def provision_public_ipv4_pool_cidr(
        self,
        context: RequestContext,
        ipam_pool_id: IpamPoolId,
        pool_id: Ipv4PoolEc2Id,
        netmask_length: Integer,
        dry_run: Boolean | None = None,
        network_border_group: String | None = None,
        **kwargs,
    ) -> ProvisionPublicIpv4PoolCidrResult:
        raise NotImplementedError

    @handler("PurchaseCapacityBlock")
    def purchase_capacity_block(
        self,
        context: RequestContext,
        capacity_block_offering_id: OfferingId,
        instance_platform: CapacityReservationInstancePlatform,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> PurchaseCapacityBlockResult:
        raise NotImplementedError

    @handler("PurchaseCapacityBlockExtension")
    def purchase_capacity_block_extension(
        self,
        context: RequestContext,
        capacity_block_extension_offering_id: OfferingId,
        capacity_reservation_id: CapacityReservationId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> PurchaseCapacityBlockExtensionResult:
        raise NotImplementedError

    @handler("PurchaseHostReservation")
    def purchase_host_reservation(
        self,
        context: RequestContext,
        host_id_set: RequestHostIdSet,
        offering_id: OfferingId,
        client_token: String | None = None,
        currency_code: CurrencyCodeValues | None = None,
        limit_price: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> PurchaseHostReservationResult:
        raise NotImplementedError

    @handler("PurchaseReservedInstancesOffering")
    def purchase_reserved_instances_offering(
        self,
        context: RequestContext,
        instance_count: Integer,
        reserved_instances_offering_id: ReservedInstancesOfferingId,
        purchase_time: DateTime | None = None,
        dry_run: Boolean | None = None,
        limit_price: ReservedInstanceLimitPrice | None = None,
        **kwargs,
    ) -> PurchaseReservedInstancesOfferingResult:
        raise NotImplementedError

    @handler("PurchaseScheduledInstances")
    def purchase_scheduled_instances(
        self,
        context: RequestContext,
        purchase_requests: PurchaseRequestSet,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> PurchaseScheduledInstancesResult:
        raise NotImplementedError

    @handler("RebootInstances")
    def reboot_instances(
        self,
        context: RequestContext,
        instance_ids: InstanceIdStringList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("RegisterImage")
    def register_image(
        self,
        context: RequestContext,
        name: String,
        image_location: String | None = None,
        billing_products: BillingProductList | None = None,
        boot_mode: BootModeValues | None = None,
        tpm_support: TpmSupportValues | None = None,
        uefi_data: StringType | None = None,
        imds_support: ImdsSupportValues | None = None,
        tag_specifications: TagSpecificationList | None = None,
        dry_run: Boolean | None = None,
        description: String | None = None,
        architecture: ArchitectureValues | None = None,
        kernel_id: KernelId | None = None,
        ramdisk_id: RamdiskId | None = None,
        root_device_name: String | None = None,
        block_device_mappings: BlockDeviceMappingRequestList | None = None,
        virtualization_type: String | None = None,
        sriov_net_support: String | None = None,
        ena_support: Boolean | None = None,
        **kwargs,
    ) -> RegisterImageResult:
        raise NotImplementedError

    @handler("RegisterInstanceEventNotificationAttributes")
    def register_instance_event_notification_attributes(
        self,
        context: RequestContext,
        instance_tag_attribute: RegisterInstanceTagAttributeRequest,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> RegisterInstanceEventNotificationAttributesResult:
        raise NotImplementedError

    @handler("RegisterTransitGatewayMulticastGroupMembers")
    def register_transit_gateway_multicast_group_members(
        self,
        context: RequestContext,
        transit_gateway_multicast_domain_id: TransitGatewayMulticastDomainId,
        network_interface_ids: TransitGatewayNetworkInterfaceIdList,
        group_ip_address: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> RegisterTransitGatewayMulticastGroupMembersResult:
        raise NotImplementedError

    @handler("RegisterTransitGatewayMulticastGroupSources")
    def register_transit_gateway_multicast_group_sources(
        self,
        context: RequestContext,
        transit_gateway_multicast_domain_id: TransitGatewayMulticastDomainId,
        network_interface_ids: TransitGatewayNetworkInterfaceIdList,
        group_ip_address: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> RegisterTransitGatewayMulticastGroupSourcesResult:
        raise NotImplementedError

    @handler("RejectCapacityReservationBillingOwnership")
    def reject_capacity_reservation_billing_ownership(
        self,
        context: RequestContext,
        capacity_reservation_id: CapacityReservationId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> RejectCapacityReservationBillingOwnershipResult:
        raise NotImplementedError

    @handler("RejectTransitGatewayMulticastDomainAssociations")
    def reject_transit_gateway_multicast_domain_associations(
        self,
        context: RequestContext,
        transit_gateway_multicast_domain_id: TransitGatewayMulticastDomainId | None = None,
        transit_gateway_attachment_id: TransitGatewayAttachmentId | None = None,
        subnet_ids: ValueStringList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> RejectTransitGatewayMulticastDomainAssociationsResult:
        raise NotImplementedError

    @handler("RejectTransitGatewayPeeringAttachment")
    def reject_transit_gateway_peering_attachment(
        self,
        context: RequestContext,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> RejectTransitGatewayPeeringAttachmentResult:
        raise NotImplementedError

    @handler("RejectTransitGatewayVpcAttachment")
    def reject_transit_gateway_vpc_attachment(
        self,
        context: RequestContext,
        transit_gateway_attachment_id: TransitGatewayAttachmentId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> RejectTransitGatewayVpcAttachmentResult:
        raise NotImplementedError

    @handler("RejectVpcEndpointConnections")
    def reject_vpc_endpoint_connections(
        self,
        context: RequestContext,
        service_id: VpcEndpointServiceId,
        vpc_endpoint_ids: VpcEndpointIdList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> RejectVpcEndpointConnectionsResult:
        raise NotImplementedError

    @handler("RejectVpcPeeringConnection")
    def reject_vpc_peering_connection(
        self,
        context: RequestContext,
        vpc_peering_connection_id: VpcPeeringConnectionId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> RejectVpcPeeringConnectionResult:
        raise NotImplementedError

    @handler("ReleaseAddress")
    def release_address(
        self,
        context: RequestContext,
        allocation_id: AllocationId | None = None,
        public_ip: String | None = None,
        network_border_group: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("ReleaseHosts")
    def release_hosts(
        self, context: RequestContext, host_ids: RequestHostIdList, **kwargs
    ) -> ReleaseHostsResult:
        raise NotImplementedError

    @handler("ReleaseIpamPoolAllocation")
    def release_ipam_pool_allocation(
        self,
        context: RequestContext,
        ipam_pool_id: IpamPoolId,
        cidr: String,
        ipam_pool_allocation_id: IpamPoolAllocationId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ReleaseIpamPoolAllocationResult:
        raise NotImplementedError

    @handler("ReplaceIamInstanceProfileAssociation")
    def replace_iam_instance_profile_association(
        self,
        context: RequestContext,
        iam_instance_profile: IamInstanceProfileSpecification,
        association_id: IamInstanceProfileAssociationId,
        **kwargs,
    ) -> ReplaceIamInstanceProfileAssociationResult:
        raise NotImplementedError

    @handler("ReplaceImageCriteriaInAllowedImagesSettings")
    def replace_image_criteria_in_allowed_images_settings(
        self,
        context: RequestContext,
        image_criteria: ImageCriterionRequestList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ReplaceImageCriteriaInAllowedImagesSettingsResult:
        raise NotImplementedError

    @handler("ReplaceNetworkAclAssociation")
    def replace_network_acl_association(
        self,
        context: RequestContext,
        association_id: NetworkAclAssociationId,
        network_acl_id: NetworkAclId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ReplaceNetworkAclAssociationResult:
        raise NotImplementedError

    @handler("ReplaceNetworkAclEntry")
    def replace_network_acl_entry(
        self,
        context: RequestContext,
        network_acl_id: NetworkAclId,
        rule_number: Integer,
        protocol: String,
        rule_action: RuleAction,
        egress: Boolean,
        dry_run: Boolean | None = None,
        cidr_block: String | None = None,
        ipv6_cidr_block: String | None = None,
        icmp_type_code: IcmpTypeCode | None = None,
        port_range: PortRange | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("ReplaceRoute")
    def replace_route(
        self,
        context: RequestContext,
        route_table_id: RouteTableId,
        destination_prefix_list_id: PrefixListResourceId | None = None,
        vpc_endpoint_id: VpcEndpointId | None = None,
        local_target: Boolean | None = None,
        transit_gateway_id: TransitGatewayId | None = None,
        local_gateway_id: LocalGatewayId | None = None,
        carrier_gateway_id: CarrierGatewayId | None = None,
        core_network_arn: CoreNetworkArn | None = None,
        odb_network_arn: OdbNetworkArn | None = None,
        dry_run: Boolean | None = None,
        destination_cidr_block: String | None = None,
        gateway_id: RouteGatewayId | None = None,
        destination_ipv6_cidr_block: String | None = None,
        egress_only_internet_gateway_id: EgressOnlyInternetGatewayId | None = None,
        instance_id: InstanceId | None = None,
        network_interface_id: NetworkInterfaceId | None = None,
        vpc_peering_connection_id: VpcPeeringConnectionId | None = None,
        nat_gateway_id: NatGatewayId | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("ReplaceRouteTableAssociation")
    def replace_route_table_association(
        self,
        context: RequestContext,
        association_id: RouteTableAssociationId,
        route_table_id: RouteTableId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ReplaceRouteTableAssociationResult:
        raise NotImplementedError

    @handler("ReplaceTransitGatewayRoute")
    def replace_transit_gateway_route(
        self,
        context: RequestContext,
        destination_cidr_block: String,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        transit_gateway_attachment_id: TransitGatewayAttachmentId | None = None,
        blackhole: Boolean | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ReplaceTransitGatewayRouteResult:
        raise NotImplementedError

    @handler("ReplaceVpnTunnel")
    def replace_vpn_tunnel(
        self,
        context: RequestContext,
        vpn_connection_id: VpnConnectionId,
        vpn_tunnel_outside_ip_address: String,
        apply_pending_maintenance: Boolean | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ReplaceVpnTunnelResult:
        raise NotImplementedError

    @handler("ReportInstanceStatus")
    def report_instance_status(
        self,
        context: RequestContext,
        instances: InstanceIdStringList,
        status: ReportStatusType,
        reason_codes: ReasonCodesList,
        dry_run: Boolean | None = None,
        start_time: DateTime | None = None,
        end_time: DateTime | None = None,
        description: ReportInstanceStatusRequestDescription | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("RequestSpotFleet")
    def request_spot_fleet(
        self,
        context: RequestContext,
        spot_fleet_request_config: SpotFleetRequestConfigData,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> RequestSpotFleetResponse:
        raise NotImplementedError

    @handler("RequestSpotInstances", expand=False)
    def request_spot_instances(
        self, context: RequestContext, request: RequestSpotInstancesRequest, **kwargs
    ) -> RequestSpotInstancesResult:
        raise NotImplementedError

    @handler("ResetAddressAttribute")
    def reset_address_attribute(
        self,
        context: RequestContext,
        allocation_id: AllocationId,
        attribute: AddressAttributeName,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> ResetAddressAttributeResult:
        raise NotImplementedError

    @handler("ResetEbsDefaultKmsKeyId")
    def reset_ebs_default_kms_key_id(
        self, context: RequestContext, dry_run: Boolean | None = None, **kwargs
    ) -> ResetEbsDefaultKmsKeyIdResult:
        raise NotImplementedError

    @handler("ResetFpgaImageAttribute")
    def reset_fpga_image_attribute(
        self,
        context: RequestContext,
        fpga_image_id: FpgaImageId,
        dry_run: Boolean | None = None,
        attribute: ResetFpgaImageAttributeName | None = None,
        **kwargs,
    ) -> ResetFpgaImageAttributeResult:
        raise NotImplementedError

    @handler("ResetImageAttribute")
    def reset_image_attribute(
        self,
        context: RequestContext,
        attribute: ResetImageAttributeName,
        image_id: ImageId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("ResetInstanceAttribute")
    def reset_instance_attribute(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        attribute: InstanceAttributeName,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("ResetNetworkInterfaceAttribute")
    def reset_network_interface_attribute(
        self,
        context: RequestContext,
        network_interface_id: NetworkInterfaceId,
        dry_run: Boolean | None = None,
        source_dest_check: String | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("ResetSnapshotAttribute")
    def reset_snapshot_attribute(
        self,
        context: RequestContext,
        attribute: SnapshotAttributeName,
        snapshot_id: SnapshotId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("RestoreAddressToClassic")
    def restore_address_to_classic(
        self, context: RequestContext, public_ip: String, dry_run: Boolean | None = None, **kwargs
    ) -> RestoreAddressToClassicResult:
        raise NotImplementedError

    @handler("RestoreImageFromRecycleBin")
    def restore_image_from_recycle_bin(
        self, context: RequestContext, image_id: ImageId, dry_run: Boolean | None = None, **kwargs
    ) -> RestoreImageFromRecycleBinResult:
        raise NotImplementedError

    @handler("RestoreManagedPrefixListVersion")
    def restore_managed_prefix_list_version(
        self,
        context: RequestContext,
        prefix_list_id: PrefixListResourceId,
        previous_version: Long,
        current_version: Long,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> RestoreManagedPrefixListVersionResult:
        raise NotImplementedError

    @handler("RestoreSnapshotFromRecycleBin")
    def restore_snapshot_from_recycle_bin(
        self,
        context: RequestContext,
        snapshot_id: SnapshotId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> RestoreSnapshotFromRecycleBinResult:
        raise NotImplementedError

    @handler("RestoreSnapshotTier")
    def restore_snapshot_tier(
        self,
        context: RequestContext,
        snapshot_id: SnapshotId,
        temporary_restore_days: RestoreSnapshotTierRequestTemporaryRestoreDays | None = None,
        permanent_restore: Boolean | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> RestoreSnapshotTierResult:
        raise NotImplementedError

    @handler("RestoreVolumeFromRecycleBin")
    def restore_volume_from_recycle_bin(
        self, context: RequestContext, volume_id: VolumeId, dry_run: Boolean | None = None, **kwargs
    ) -> RestoreVolumeFromRecycleBinResult:
        raise NotImplementedError

    @handler("RevokeClientVpnIngress")
    def revoke_client_vpn_ingress(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        target_network_cidr: String,
        access_group_id: String | None = None,
        revoke_all_groups: Boolean | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> RevokeClientVpnIngressResult:
        raise NotImplementedError

    @handler("RevokeSecurityGroupEgress")
    def revoke_security_group_egress(
        self,
        context: RequestContext,
        group_id: SecurityGroupId,
        security_group_rule_ids: SecurityGroupRuleIdList | None = None,
        dry_run: Boolean | None = None,
        source_security_group_name: String | None = None,
        source_security_group_owner_id: String | None = None,
        ip_protocol: String | None = None,
        from_port: Integer | None = None,
        to_port: Integer | None = None,
        cidr_ip: String | None = None,
        ip_permissions: IpPermissionList | None = None,
        **kwargs,
    ) -> RevokeSecurityGroupEgressResult:
        raise NotImplementedError

    @handler("RevokeSecurityGroupIngress")
    def revoke_security_group_ingress(
        self,
        context: RequestContext,
        cidr_ip: String | None = None,
        from_port: Integer | None = None,
        group_id: SecurityGroupId | None = None,
        group_name: SecurityGroupName | None = None,
        ip_permissions: IpPermissionList | None = None,
        ip_protocol: String | None = None,
        source_security_group_name: String | None = None,
        source_security_group_owner_id: String | None = None,
        to_port: Integer | None = None,
        security_group_rule_ids: SecurityGroupRuleIdList | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> RevokeSecurityGroupIngressResult:
        raise NotImplementedError

    @handler("RunInstances")
    def run_instances(
        self,
        context: RequestContext,
        max_count: Integer,
        min_count: Integer,
        block_device_mappings: BlockDeviceMappingRequestList | None = None,
        image_id: ImageId | None = None,
        instance_type: InstanceType | None = None,
        ipv6_address_count: Integer | None = None,
        ipv6_addresses: InstanceIpv6AddressList | None = None,
        kernel_id: KernelId | None = None,
        key_name: KeyPairName | None = None,
        monitoring: RunInstancesMonitoringEnabled | None = None,
        placement: Placement | None = None,
        ramdisk_id: RamdiskId | None = None,
        security_group_ids: SecurityGroupIdStringList | None = None,
        security_groups: SecurityGroupStringList | None = None,
        subnet_id: SubnetId | None = None,
        user_data: RunInstancesUserData | None = None,
        elastic_gpu_specification: ElasticGpuSpecifications | None = None,
        elastic_inference_accelerators: ElasticInferenceAccelerators | None = None,
        tag_specifications: TagSpecificationList | None = None,
        launch_template: LaunchTemplateSpecification | None = None,
        instance_market_options: InstanceMarketOptionsRequest | None = None,
        credit_specification: CreditSpecificationRequest | None = None,
        cpu_options: CpuOptionsRequest | None = None,
        capacity_reservation_specification: CapacityReservationSpecification | None = None,
        hibernation_options: HibernationOptionsRequest | None = None,
        license_specifications: LicenseSpecificationListRequest | None = None,
        metadata_options: InstanceMetadataOptionsRequest | None = None,
        enclave_options: EnclaveOptionsRequest | None = None,
        private_dns_name_options: PrivateDnsNameOptionsRequest | None = None,
        maintenance_options: InstanceMaintenanceOptionsRequest | None = None,
        disable_api_stop: Boolean | None = None,
        enable_primary_ipv6: Boolean | None = None,
        network_performance_options: InstanceNetworkPerformanceOptionsRequest | None = None,
        operator: OperatorRequest | None = None,
        dry_run: Boolean | None = None,
        disable_api_termination: Boolean | None = None,
        instance_initiated_shutdown_behavior: ShutdownBehavior | None = None,
        private_ip_address: String | None = None,
        client_token: String | None = None,
        additional_info: String | None = None,
        network_interfaces: InstanceNetworkInterfaceSpecificationList | None = None,
        iam_instance_profile: IamInstanceProfileSpecification | None = None,
        ebs_optimized: Boolean | None = None,
        **kwargs,
    ) -> Reservation:
        raise NotImplementedError

    @handler("RunScheduledInstances")
    def run_scheduled_instances(
        self,
        context: RequestContext,
        launch_specification: ScheduledInstancesLaunchSpecification,
        scheduled_instance_id: ScheduledInstanceId,
        client_token: String | None = None,
        dry_run: Boolean | None = None,
        instance_count: Integer | None = None,
        **kwargs,
    ) -> RunScheduledInstancesResult:
        raise NotImplementedError

    @handler("SearchLocalGatewayRoutes")
    def search_local_gateway_routes(
        self,
        context: RequestContext,
        local_gateway_route_table_id: LocalGatewayRoutetableId,
        filters: FilterList | None = None,
        max_results: MaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> SearchLocalGatewayRoutesResult:
        raise NotImplementedError

    @handler("SearchTransitGatewayMulticastGroups")
    def search_transit_gateway_multicast_groups(
        self,
        context: RequestContext,
        transit_gateway_multicast_domain_id: TransitGatewayMulticastDomainId,
        filters: FilterList | None = None,
        max_results: TransitGatewayMaxResults | None = None,
        next_token: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> SearchTransitGatewayMulticastGroupsResult:
        raise NotImplementedError

    @handler("SearchTransitGatewayRoutes")
    def search_transit_gateway_routes(
        self,
        context: RequestContext,
        transit_gateway_route_table_id: TransitGatewayRouteTableId,
        filters: FilterList,
        max_results: TransitGatewayMaxResults | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> SearchTransitGatewayRoutesResult:
        raise NotImplementedError

    @handler("SendDiagnosticInterrupt")
    def send_diagnostic_interrupt(
        self,
        context: RequestContext,
        instance_id: InstanceId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("StartDeclarativePoliciesReport")
    def start_declarative_policies_report(
        self,
        context: RequestContext,
        s3_bucket: String,
        target_id: String,
        dry_run: Boolean | None = None,
        s3_prefix: String | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> StartDeclarativePoliciesReportResult:
        raise NotImplementedError

    @handler("StartInstances")
    def start_instances(
        self,
        context: RequestContext,
        instance_ids: InstanceIdStringList,
        additional_info: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> StartInstancesResult:
        raise NotImplementedError

    @handler("StartNetworkInsightsAccessScopeAnalysis")
    def start_network_insights_access_scope_analysis(
        self,
        context: RequestContext,
        network_insights_access_scope_id: NetworkInsightsAccessScopeId,
        client_token: String,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> StartNetworkInsightsAccessScopeAnalysisResult:
        raise NotImplementedError

    @handler("StartNetworkInsightsAnalysis")
    def start_network_insights_analysis(
        self,
        context: RequestContext,
        network_insights_path_id: NetworkInsightsPathId,
        client_token: String,
        additional_accounts: ValueStringList | None = None,
        filter_in_arns: ArnList | None = None,
        filter_out_arns: ArnList | None = None,
        dry_run: Boolean | None = None,
        tag_specifications: TagSpecificationList | None = None,
        **kwargs,
    ) -> StartNetworkInsightsAnalysisResult:
        raise NotImplementedError

    @handler("StartVpcEndpointServicePrivateDnsVerification")
    def start_vpc_endpoint_service_private_dns_verification(
        self,
        context: RequestContext,
        service_id: VpcEndpointServiceId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> StartVpcEndpointServicePrivateDnsVerificationResult:
        raise NotImplementedError

    @handler("StopInstances")
    def stop_instances(
        self,
        context: RequestContext,
        instance_ids: InstanceIdStringList,
        hibernate: Boolean | None = None,
        skip_os_shutdown: Boolean | None = None,
        dry_run: Boolean | None = None,
        force: Boolean | None = None,
        **kwargs,
    ) -> StopInstancesResult:
        raise NotImplementedError

    @handler("TerminateClientVpnConnections")
    def terminate_client_vpn_connections(
        self,
        context: RequestContext,
        client_vpn_endpoint_id: ClientVpnEndpointId,
        connection_id: String | None = None,
        username: String | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> TerminateClientVpnConnectionsResult:
        raise NotImplementedError

    @handler("TerminateInstances")
    def terminate_instances(
        self,
        context: RequestContext,
        instance_ids: InstanceIdStringList,
        force: Boolean | None = None,
        skip_os_shutdown: Boolean | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> TerminateInstancesResult:
        raise NotImplementedError

    @handler("UnassignIpv6Addresses")
    def unassign_ipv6_addresses(
        self,
        context: RequestContext,
        network_interface_id: NetworkInterfaceId,
        ipv6_prefixes: IpPrefixList | None = None,
        ipv6_addresses: Ipv6AddressList | None = None,
        **kwargs,
    ) -> UnassignIpv6AddressesResult:
        raise NotImplementedError

    @handler("UnassignPrivateIpAddresses")
    def unassign_private_ip_addresses(
        self,
        context: RequestContext,
        network_interface_id: NetworkInterfaceId,
        ipv4_prefixes: IpPrefixList | None = None,
        private_ip_addresses: PrivateIpAddressStringList | None = None,
        **kwargs,
    ) -> None:
        raise NotImplementedError

    @handler("UnassignPrivateNatGatewayAddress")
    def unassign_private_nat_gateway_address(
        self,
        context: RequestContext,
        nat_gateway_id: NatGatewayId,
        private_ip_addresses: IpList,
        max_drain_duration_seconds: DrainSeconds | None = None,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> UnassignPrivateNatGatewayAddressResult:
        raise NotImplementedError

    @handler("UnlockSnapshot")
    def unlock_snapshot(
        self,
        context: RequestContext,
        snapshot_id: SnapshotId,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> UnlockSnapshotResult:
        raise NotImplementedError

    @handler("UnmonitorInstances")
    def unmonitor_instances(
        self,
        context: RequestContext,
        instance_ids: InstanceIdStringList,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> UnmonitorInstancesResult:
        raise NotImplementedError

    @handler("UpdateCapacityManagerOrganizationsAccess")
    def update_capacity_manager_organizations_access(
        self,
        context: RequestContext,
        organizations_access: BoxedBoolean,
        dry_run: Boolean | None = None,
        client_token: String | None = None,
        **kwargs,
    ) -> UpdateCapacityManagerOrganizationsAccessResult:
        raise NotImplementedError

    @handler("UpdateInterruptibleCapacityReservationAllocation")
    def update_interruptible_capacity_reservation_allocation(
        self,
        context: RequestContext,
        capacity_reservation_id: CapacityReservationId,
        target_instance_count: Integer,
        dry_run: Boolean | None = None,
        **kwargs,
    ) -> UpdateInterruptibleCapacityReservationAllocationResult:
        raise NotImplementedError

    @handler("UpdateSecurityGroupRuleDescriptionsEgress")
    def update_security_group_rule_descriptions_egress(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        group_id: SecurityGroupId | None = None,
        group_name: SecurityGroupName | None = None,
        ip_permissions: IpPermissionList | None = None,
        security_group_rule_descriptions: SecurityGroupRuleDescriptionList | None = None,
        **kwargs,
    ) -> UpdateSecurityGroupRuleDescriptionsEgressResult:
        raise NotImplementedError

    @handler("UpdateSecurityGroupRuleDescriptionsIngress")
    def update_security_group_rule_descriptions_ingress(
        self,
        context: RequestContext,
        dry_run: Boolean | None = None,
        group_id: SecurityGroupId | None = None,
        group_name: SecurityGroupName | None = None,
        ip_permissions: IpPermissionList | None = None,
        security_group_rule_descriptions: SecurityGroupRuleDescriptionList | None = None,
        **kwargs,
    ) -> UpdateSecurityGroupRuleDescriptionsIngressResult:
        raise NotImplementedError

    @handler("WithdrawByoipCidr")
    def withdraw_byoip_cidr(
        self, context: RequestContext, cidr: String, dry_run: Boolean | None = None, **kwargs
    ) -> WithdrawByoipCidrResult:
        raise NotImplementedError
