import {
  _InstanceType,
  AddressAttributeName,
  AmdSevSnpSpecification,
  ApplianceModeSupportValue,
  ArchitectureValues,
  AutoAcceptSharedAttachmentsValue,
  BootModeValues,
  CapacityReservationInstancePlatform,
  CurrencyCodeValues,
  DefaultRouteTableAssociationValue,
  DefaultRouteTablePropagationValue,
  DnsSupportValue,
  EncryptionSupportOptionValue,
  ExcessCapacityTerminationPolicy,
  HostnameType,
  HttpTokensState,
  ImdsSupportValues,
  InstanceAttributeName,
  InstanceAutoRecoveryState,
  InstanceBandwidthWeighting,
  InstanceInterruptionBehavior,
  InstanceMetadataEndpointState,
  InstanceMetadataProtocolState,
  InstanceMetadataTagsState,
  InternetGatewayBlockMode,
  InternetGatewayExclusionMode,
  IpAddressType,
  Ipv6SupportValue,
  ManagedResourceDefaultVisibility,
  MarketType,
  MembershipType,
  NestedVirtualizationSpecification,
  OperationType,
  PayerResponsibility,
  PayerResponsibilityScope,
  PayerResponsibilityType,
  PublicIpDnsOption,
  ReportInstanceReasonCodes,
  ReportStatusType,
  ResetFpgaImageAttributeName,
  ResetImageAttributeName,
  RouteServerPersistRoutesAction,
  RuleAction,
  SecondaryInterfaceType,
  SecurityGroupReferencingSupportValue,
  ShutdownBehavior,
  SnapshotAttributeName,
  SnapshotState,
  SpotInstanceType,
  SSEType,
  Status,
  TargetStorageTier,
  TpmSupportValues,
  TrafficDirection,
  TrafficMirrorFilterRuleField,
  TrafficMirrorNetworkService,
  TrafficMirrorRuleAction,
  TrafficMirrorSessionField,
  TransitGatewayAttachmentResourceType,
  VerificationMethod,
  VerifiedAccessEndpointProtocol,
  VolumeType,
  VpcEncryptionControlExclusionStateInput,
  VpcEncryptionControlMode,
  VpcTenancy,
  VpnEcmpSupportValue,
  VpnTunnelBandwidth,
} from "./enums";
import {
  AddedPrincipal,
  AddIpamOperatingRegion,
  AddIpamOrganizationalUnitExclusion,
  AddPrefixListEntry,
  AddressAttribute,
  ByoipCidr,
  CapacityReservation,
  ClientVpnAuthorizationRuleStatus,
  EnaSrdSpecification,
  IamInstanceProfileAssociation,
  IamInstanceProfileSpecification,
  IpamPoolAllocation,
  IpPermission,
  NatGatewayAddress,
  PortRange,
  RouteTableAssociationState,
  TagSpecification,
  TransitGatewayClientVpnAttachment,
  TransitGatewayMulticastDomainAssociations,
  TransitGatewayPeeringAttachment,
  TransitGatewayVpcAttachment,
  UnsuccessfulItem,
  VerifiedAccessInstance,
  VerifiedAccessSseSpecificationResponse,
  VerifiedAccessTrustProvider,
} from "./models_0";
import {
  AttributeValue,
  BlockDeviceMapping,
  ConnectionTrackingSpecificationRequest,
  CreditSpecificationRequest,
  ElasticGpuSpecification,
  ExternalAuthorityConfiguration,
  IcmpTypeCode,
  InstanceIpv6Address,
  IpamPrefixListResolver,
  IpamPrefixListResolverRuleRequest,
  IpamPrefixListResolverTarget,
  IpamResourceDiscovery,
  IpamScope,
  LaunchTemplate,
  LocalGatewayRoute,
  ManagedPrefixList,
  OperatorRequest,
  Placement,
  RouteServer,
  VpcEncryptionControl,
} from "./models_1";
import {
  DnsOptionsSpecification,
  IKEVersionsRequestListValue,
  PayerResponsibilityEntry,
  Phase1DHGroupNumbersRequestListValue,
  Phase1EncryptionAlgorithmsRequestListValue,
  Phase1IntegrityAlgorithmsRequestListValue,
  Phase2DHGroupNumbersRequestListValue,
  Phase2EncryptionAlgorithmsRequestListValue,
  Phase2IntegrityAlgorithmsRequestListValue,
  SubnetConfiguration,
  TrafficMirrorFilter,
  TrafficMirrorFilterRule,
  TrafficMirrorPortRangeRequest,
  TrafficMirrorSession,
  TransitGateway,
  TransitGatewayMeteringPolicy,
  TransitGatewayPrefixListReference,
  TransitGatewayRoute,
  VerifiedAccessEndpoint,
  VerifiedAccessGroup,
  VerifiedAccessSseSpecificationRequest,
  VpcBlockPublicAccessExclusion,
  VpnConnection,
  VpnTunnelLogOptionsSpecification,
} from "./models_2";
import {
  Byoasn,
  CapacityBlock,
  CapacityBlockExtension,
  ClientVpnConnectionStatus,
  Filter,
  InstanceTagNotificationAttribute,
  IpamPoolCidr,
} from "./models_3";
import {
  AttributeBooleanValue,
  CreateVolumePermission,
  InstanceNetworkInterfaceSpecification,
  InstanceState,
  LaunchTemplateConfig,
  Monitoring,
  NetworkInsightsAccessScopeAnalysis,
  NetworkInsightsAnalysis,
  PublicIpv4PoolRange,
  ReservedInstancesConfiguration,
  ScheduledInstance,
  SpotPlacement,
} from "./models_4";
import {
  RunInstancesMonitoringEnabled,
  SpotFleetRequestConfigData,
  SpotInstanceRequest,
  VerifiedAccessInstanceLoggingConfiguration,
  VolumeModification,
  VpcBlockPublicAccessOptions,
} from "./models_5";
import {
  CapacityManagerMonitoredTagKey,
  CapacityReservationSpecification,
  EnclaveOptionsRequest,
  IpamResourceCidr,
  ManagedResourceVisibilitySettings,
  Purchase,
  RemoveIpamOperatingRegion,
} from "./models_6";
export interface ModifyIpamPoolAllocationRequest {
  DryRun?: boolean | undefined;
  IpamPoolAllocationId: string | undefined;
  Description?: string | undefined;
}
export interface ModifyIpamPoolAllocationResult {
  IpamPoolAllocation?: IpamPoolAllocation | undefined;
}
export interface ModifyIpamPrefixListResolverRequest {
  DryRun?: boolean | undefined;
  IpamPrefixListResolverId: string | undefined;
  Description?: string | undefined;
  Rules?: IpamPrefixListResolverRuleRequest[] | undefined;
}
export interface ModifyIpamPrefixListResolverResult {
  IpamPrefixListResolver?: IpamPrefixListResolver | undefined;
}
export interface ModifyIpamPrefixListResolverTargetRequest {
  DryRun?: boolean | undefined;
  IpamPrefixListResolverTargetId: string | undefined;
  DesiredVersion?: number | undefined;
  TrackLatestVersion?: boolean | undefined;
  ClientToken?: string | undefined;
}
export interface ModifyIpamPrefixListResolverTargetResult {
  IpamPrefixListResolverTarget?: IpamPrefixListResolverTarget | undefined;
}
export interface ModifyIpamResourceCidrRequest {
  DryRun?: boolean | undefined;
  ResourceId: string | undefined;
  ResourceCidr: string | undefined;
  ResourceRegion: string | undefined;
  CurrentIpamScopeId: string | undefined;
  DestinationIpamScopeId?: string | undefined;
  Monitored: boolean | undefined;
}
export interface ModifyIpamResourceCidrResult {
  IpamResourceCidr?: IpamResourceCidr | undefined;
}
export interface RemoveIpamOrganizationalUnitExclusion {
  OrganizationsEntityPath?: string | undefined;
}
export interface ModifyIpamResourceDiscoveryRequest {
  DryRun?: boolean | undefined;
  IpamResourceDiscoveryId: string | undefined;
  Description?: string | undefined;
  AddOperatingRegions?: AddIpamOperatingRegion[] | undefined;
  RemoveOperatingRegions?: RemoveIpamOperatingRegion[] | undefined;
  AddOrganizationalUnitExclusions?:
    | AddIpamOrganizationalUnitExclusion[]
    | undefined;
  RemoveOrganizationalUnitExclusions?:
    | RemoveIpamOrganizationalUnitExclusion[]
    | undefined;
}
export interface ModifyIpamResourceDiscoveryResult {
  IpamResourceDiscovery?: IpamResourceDiscovery | undefined;
}
export interface ModifyIpamScopeRequest {
  DryRun?: boolean | undefined;
  IpamScopeId: string | undefined;
  Description?: string | undefined;
  ExternalAuthorityConfiguration?: ExternalAuthorityConfiguration | undefined;
  RemoveExternalAuthorityConfiguration?: boolean | undefined;
}
export interface ModifyIpamScopeResult {
  IpamScope?: IpamScope | undefined;
}
export interface ModifyLaunchTemplateRequest {
  DryRun?: boolean | undefined;
  ClientToken?: string | undefined;
  LaunchTemplateId?: string | undefined;
  LaunchTemplateName?: string | undefined;
  DefaultVersion?: string | undefined;
}
export interface ModifyLaunchTemplateResult {
  LaunchTemplate?: LaunchTemplate | undefined;
}
export interface ModifyLocalGatewayRouteRequest {
  DestinationCidrBlock?: string | undefined;
  LocalGatewayRouteTableId: string | undefined;
  LocalGatewayVirtualInterfaceGroupId?: string | undefined;
  NetworkInterfaceId?: string | undefined;
  DryRun?: boolean | undefined;
  DestinationPrefixListId?: string | undefined;
}
export interface ModifyLocalGatewayRouteResult {
  Route?: LocalGatewayRoute | undefined;
}
export interface RemovePrefixListEntry {
  Cidr: string | undefined;
}
export interface ModifyManagedPrefixListRequest {
  DryRun?: boolean | undefined;
  PrefixListId: string | undefined;
  CurrentVersion?: number | undefined;
  PrefixListName?: string | undefined;
  AddEntries?: AddPrefixListEntry[] | undefined;
  RemoveEntries?: RemovePrefixListEntry[] | undefined;
  MaxEntries?: number | undefined;
  IpamPrefixListResolverSyncEnabled?: boolean | undefined;
}
export interface ModifyManagedPrefixListResult {
  PrefixList?: ManagedPrefixList | undefined;
}
export interface ModifyManagedResourceVisibilityRequest {
  DryRun?: boolean | undefined;
  DefaultVisibility: ManagedResourceDefaultVisibility | undefined;
}
export interface ModifyManagedResourceVisibilityResult {
  Visibility?: ManagedResourceVisibilitySettings | undefined;
}
export interface NetworkInterfaceAttachmentChanges {
  DefaultEnaQueueCount?: boolean | undefined;
  EnaQueueCount?: number | undefined;
  AttachmentId?: string | undefined;
  DeleteOnTermination?: boolean | undefined;
}
export interface ModifyNetworkInterfaceAttributeRequest {
  EnaSrdSpecification?: EnaSrdSpecification | undefined;
  EnablePrimaryIpv6?: boolean | undefined;
  ConnectionTrackingSpecification?:
    | ConnectionTrackingSpecificationRequest
    | undefined;
  AssociatePublicIpAddress?: boolean | undefined;
  AssociatedSubnetIds?: string[] | undefined;
  DryRun?: boolean | undefined;
  NetworkInterfaceId: string | undefined;
  Description?: AttributeValue | undefined;
  SourceDestCheck?: AttributeBooleanValue | undefined;
  Groups?: string[] | undefined;
  Attachment?: NetworkInterfaceAttachmentChanges | undefined;
}
export interface ModifyPrivateDnsNameOptionsRequest {
  DryRun?: boolean | undefined;
  InstanceId: string | undefined;
  PrivateDnsHostnameType?: HostnameType | undefined;
  EnableResourceNameDnsARecord?: boolean | undefined;
  EnableResourceNameDnsAAAARecord?: boolean | undefined;
}
export interface ModifyPrivateDnsNameOptionsResult {
  Return?: boolean | undefined;
}
export interface ModifyPublicIpDnsNameOptionsRequest {
  NetworkInterfaceId: string | undefined;
  HostnameType: PublicIpDnsOption | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifyPublicIpDnsNameOptionsResult {
  Successful?: boolean | undefined;
}
export interface ModifyReservedInstancesRequest {
  ReservedInstancesIds: string[] | undefined;
  ClientToken?: string | undefined;
  TargetConfigurations: ReservedInstancesConfiguration[] | undefined;
}
export interface ModifyReservedInstancesResult {
  ReservedInstancesModificationId?: string | undefined;
}
export interface ModifyRouteServerRequest {
  RouteServerId: string | undefined;
  PersistRoutes?: RouteServerPersistRoutesAction | undefined;
  PersistRoutesDuration?: number | undefined;
  SnsNotificationsEnabled?: boolean | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifyRouteServerResult {
  RouteServer?: RouteServer | undefined;
}
export interface SecurityGroupRuleRequest {
  IpProtocol?: string | undefined;
  FromPort?: number | undefined;
  ToPort?: number | undefined;
  CidrIpv4?: string | undefined;
  CidrIpv6?: string | undefined;
  PrefixListId?: string | undefined;
  ReferencedGroupId?: string | undefined;
  Description?: string | undefined;
}
export interface SecurityGroupRuleUpdate {
  SecurityGroupRuleId: string | undefined;
  SecurityGroupRule?: SecurityGroupRuleRequest | undefined;
}
export interface ModifySecurityGroupRulesRequest {
  GroupId: string | undefined;
  SecurityGroupRules: SecurityGroupRuleUpdate[] | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifySecurityGroupRulesResult {
  Return?: boolean | undefined;
}
export interface CreateVolumePermissionModifications {
  Add?: CreateVolumePermission[] | undefined;
  Remove?: CreateVolumePermission[] | undefined;
}
export interface ModifySnapshotAttributeRequest {
  Attribute?: SnapshotAttributeName | undefined;
  CreateVolumePermission?: CreateVolumePermissionModifications | undefined;
  GroupNames?: string[] | undefined;
  OperationType?: OperationType | undefined;
  SnapshotId: string | undefined;
  UserIds?: string[] | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifySnapshotTierRequest {
  SnapshotId: string | undefined;
  StorageTier?: TargetStorageTier | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifySnapshotTierResult {
  SnapshotId?: string | undefined;
  TieringStartTime?: Date | undefined;
}
export interface ModifySpotFleetRequestRequest {
  LaunchTemplateConfigs?: LaunchTemplateConfig[] | undefined;
  OnDemandTargetCapacity?: number | undefined;
  Context?: string | undefined;
  SpotFleetRequestId: string | undefined;
  TargetCapacity?: number | undefined;
  ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy | undefined;
}
export interface ModifySpotFleetRequestResponse {
  Return?: boolean | undefined;
}
export interface ModifySubnetAttributeRequest {
  AssignIpv6AddressOnCreation?: AttributeBooleanValue | undefined;
  MapPublicIpOnLaunch?: AttributeBooleanValue | undefined;
  SubnetId: string | undefined;
  MapCustomerOwnedIpOnLaunch?: AttributeBooleanValue | undefined;
  CustomerOwnedIpv4Pool?: string | undefined;
  EnableDns64?: AttributeBooleanValue | undefined;
  PrivateDnsHostnameTypeOnLaunch?: HostnameType | undefined;
  EnableResourceNameDnsARecordOnLaunch?: AttributeBooleanValue | undefined;
  EnableResourceNameDnsAAAARecordOnLaunch?: AttributeBooleanValue | undefined;
  EnableLniAtDeviceIndex?: number | undefined;
  DisableLniAtDeviceIndex?: AttributeBooleanValue | undefined;
}
export interface ModifyTrafficMirrorFilterNetworkServicesRequest {
  TrafficMirrorFilterId: string | undefined;
  AddNetworkServices?: TrafficMirrorNetworkService[] | undefined;
  RemoveNetworkServices?: TrafficMirrorNetworkService[] | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifyTrafficMirrorFilterNetworkServicesResult {
  TrafficMirrorFilter?: TrafficMirrorFilter | undefined;
}
export interface ModifyTrafficMirrorFilterRuleRequest {
  TrafficMirrorFilterRuleId: string | undefined;
  TrafficDirection?: TrafficDirection | undefined;
  RuleNumber?: number | undefined;
  RuleAction?: TrafficMirrorRuleAction | undefined;
  DestinationPortRange?: TrafficMirrorPortRangeRequest | undefined;
  SourcePortRange?: TrafficMirrorPortRangeRequest | undefined;
  Protocol?: number | undefined;
  DestinationCidrBlock?: string | undefined;
  SourceCidrBlock?: string | undefined;
  Description?: string | undefined;
  RemoveFields?: TrafficMirrorFilterRuleField[] | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifyTrafficMirrorFilterRuleResult {
  TrafficMirrorFilterRule?: TrafficMirrorFilterRule | undefined;
}
export interface ModifyTrafficMirrorSessionRequest {
  TrafficMirrorSessionId: string | undefined;
  TrafficMirrorTargetId?: string | undefined;
  TrafficMirrorFilterId?: string | undefined;
  PacketLength?: number | undefined;
  SessionNumber?: number | undefined;
  VirtualNetworkId?: number | undefined;
  Description?: string | undefined;
  RemoveFields?: TrafficMirrorSessionField[] | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifyTrafficMirrorSessionResult {
  TrafficMirrorSession?: TrafficMirrorSession | undefined;
}
export interface ModifyTransitGatewayOptions {
  AddTransitGatewayCidrBlocks?: string[] | undefined;
  RemoveTransitGatewayCidrBlocks?: string[] | undefined;
  VpnEcmpSupport?: VpnEcmpSupportValue | undefined;
  DnsSupport?: DnsSupportValue | undefined;
  SecurityGroupReferencingSupport?:
    | SecurityGroupReferencingSupportValue
    | undefined;
  AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue | undefined;
  DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue | undefined;
  AssociationDefaultRouteTableId?: string | undefined;
  DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue | undefined;
  PropagationDefaultRouteTableId?: string | undefined;
  AmazonSideAsn?: number | undefined;
  EncryptionSupport?: EncryptionSupportOptionValue | undefined;
}
export interface ModifyTransitGatewayRequest {
  TransitGatewayId: string | undefined;
  Description?: string | undefined;
  Options?: ModifyTransitGatewayOptions | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifyTransitGatewayResult {
  TransitGateway?: TransitGateway | undefined;
}
export interface ModifyTransitGatewayMeteringPolicyRequest {
  TransitGatewayMeteringPolicyId: string | undefined;
  AddMiddleboxAttachmentIds?: string[] | undefined;
  RemoveMiddleboxAttachmentIds?: string[] | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifyTransitGatewayMeteringPolicyResult {
  TransitGatewayMeteringPolicy?: TransitGatewayMeteringPolicy | undefined;
}
export interface ModifyTransitGatewayPrefixListReferenceRequest {
  TransitGatewayRouteTableId: string | undefined;
  PrefixListId: string | undefined;
  TransitGatewayAttachmentId?: string | undefined;
  Blackhole?: boolean | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifyTransitGatewayPrefixListReferenceResult {
  TransitGatewayPrefixListReference?:
    | TransitGatewayPrefixListReference
    | undefined;
}
export interface ModifyTransitGatewayVpcAttachmentRequestOptions {
  DnsSupport?: DnsSupportValue | undefined;
  SecurityGroupReferencingSupport?:
    | SecurityGroupReferencingSupportValue
    | undefined;
  Ipv6Support?: Ipv6SupportValue | undefined;
  ApplianceModeSupport?: ApplianceModeSupportValue | undefined;
}
export interface ModifyTransitGatewayVpcAttachmentRequest {
  TransitGatewayAttachmentId: string | undefined;
  AddSubnetIds?: string[] | undefined;
  RemoveSubnetIds?: string[] | undefined;
  Options?: ModifyTransitGatewayVpcAttachmentRequestOptions | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifyTransitGatewayVpcAttachmentResult {
  TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment | undefined;
}
export interface ModifyVerifiedAccessEndpointPortRange {
  FromPort?: number | undefined;
  ToPort?: number | undefined;
}
export interface ModifyVerifiedAccessEndpointCidrOptions {
  PortRanges?: ModifyVerifiedAccessEndpointPortRange[] | undefined;
}
export interface ModifyVerifiedAccessEndpointLoadBalancerOptions {
  SubnetIds?: string[] | undefined;
  Protocol?: VerifiedAccessEndpointProtocol | undefined;
  Port?: number | undefined;
  PortRanges?: ModifyVerifiedAccessEndpointPortRange[] | undefined;
}
export interface ModifyVerifiedAccessEndpointEniOptions {
  Protocol?: VerifiedAccessEndpointProtocol | undefined;
  Port?: number | undefined;
  PortRanges?: ModifyVerifiedAccessEndpointPortRange[] | undefined;
}
export interface ModifyVerifiedAccessEndpointRdsOptions {
  SubnetIds?: string[] | undefined;
  Port?: number | undefined;
  RdsEndpoint?: string | undefined;
}
export interface ModifyVerifiedAccessEndpointRequest {
  VerifiedAccessEndpointId: string | undefined;
  VerifiedAccessGroupId?: string | undefined;
  LoadBalancerOptions?:
    | ModifyVerifiedAccessEndpointLoadBalancerOptions
    | undefined;
  NetworkInterfaceOptions?: ModifyVerifiedAccessEndpointEniOptions | undefined;
  Description?: string | undefined;
  ClientToken?: string | undefined;
  DryRun?: boolean | undefined;
  RdsOptions?: ModifyVerifiedAccessEndpointRdsOptions | undefined;
  CidrOptions?: ModifyVerifiedAccessEndpointCidrOptions | undefined;
}
export interface ModifyVerifiedAccessEndpointResult {
  VerifiedAccessEndpoint?: VerifiedAccessEndpoint | undefined;
}
export interface ModifyVerifiedAccessEndpointPolicyRequest {
  VerifiedAccessEndpointId: string | undefined;
  PolicyEnabled?: boolean | undefined;
  PolicyDocument?: string | undefined;
  ClientToken?: string | undefined;
  DryRun?: boolean | undefined;
  SseSpecification?: VerifiedAccessSseSpecificationRequest | undefined;
}
export interface ModifyVerifiedAccessEndpointPolicyResult {
  PolicyEnabled?: boolean | undefined;
  PolicyDocument?: string | undefined;
  SseSpecification?: VerifiedAccessSseSpecificationResponse | undefined;
}
export interface ModifyVerifiedAccessGroupRequest {
  VerifiedAccessGroupId: string | undefined;
  VerifiedAccessInstanceId?: string | undefined;
  Description?: string | undefined;
  ClientToken?: string | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifyVerifiedAccessGroupResult {
  VerifiedAccessGroup?: VerifiedAccessGroup | undefined;
}
export interface ModifyVerifiedAccessGroupPolicyRequest {
  VerifiedAccessGroupId: string | undefined;
  PolicyEnabled?: boolean | undefined;
  PolicyDocument?: string | undefined;
  ClientToken?: string | undefined;
  DryRun?: boolean | undefined;
  SseSpecification?: VerifiedAccessSseSpecificationRequest | undefined;
}
export interface ModifyVerifiedAccessGroupPolicyResult {
  PolicyEnabled?: boolean | undefined;
  PolicyDocument?: string | undefined;
  SseSpecification?: VerifiedAccessSseSpecificationResponse | undefined;
}
export interface ModifyVerifiedAccessInstanceRequest {
  VerifiedAccessInstanceId: string | undefined;
  Description?: string | undefined;
  DryRun?: boolean | undefined;
  ClientToken?: string | undefined;
  CidrEndpointsCustomSubDomain?: string | undefined;
}
export interface ModifyVerifiedAccessInstanceResult {
  VerifiedAccessInstance?: VerifiedAccessInstance | undefined;
}
export interface VerifiedAccessLogCloudWatchLogsDestinationOptions {
  Enabled: boolean | undefined;
  LogGroup?: string | undefined;
}
export interface VerifiedAccessLogKinesisDataFirehoseDestinationOptions {
  Enabled: boolean | undefined;
  DeliveryStream?: string | undefined;
}
export interface VerifiedAccessLogS3DestinationOptions {
  Enabled: boolean | undefined;
  BucketName?: string | undefined;
  Prefix?: string | undefined;
  BucketOwner?: string | undefined;
}
export interface VerifiedAccessLogOptions {
  S3?: VerifiedAccessLogS3DestinationOptions | undefined;
  CloudWatchLogs?:
    | VerifiedAccessLogCloudWatchLogsDestinationOptions
    | undefined;
  KinesisDataFirehose?:
    | VerifiedAccessLogKinesisDataFirehoseDestinationOptions
    | undefined;
  LogVersion?: string | undefined;
  IncludeTrustContext?: boolean | undefined;
}
export interface ModifyVerifiedAccessInstanceLoggingConfigurationRequest {
  VerifiedAccessInstanceId: string | undefined;
  AccessLogs: VerifiedAccessLogOptions | undefined;
  DryRun?: boolean | undefined;
  ClientToken?: string | undefined;
}
export interface ModifyVerifiedAccessInstanceLoggingConfigurationResult {
  LoggingConfiguration?: VerifiedAccessInstanceLoggingConfiguration | undefined;
}
export interface ModifyVerifiedAccessTrustProviderDeviceOptions {
  PublicSigningKeyUrl?: string | undefined;
}
export interface ModifyVerifiedAccessNativeApplicationOidcOptions {
  PublicSigningKeyEndpoint?: string | undefined;
  Issuer?: string | undefined;
  AuthorizationEndpoint?: string | undefined;
  TokenEndpoint?: string | undefined;
  UserInfoEndpoint?: string | undefined;
  ClientId?: string | undefined;
  ClientSecret?: string | undefined;
  Scope?: string | undefined;
}
export interface ModifyVerifiedAccessTrustProviderOidcOptions {
  Issuer?: string | undefined;
  AuthorizationEndpoint?: string | undefined;
  TokenEndpoint?: string | undefined;
  UserInfoEndpoint?: string | undefined;
  ClientId?: string | undefined;
  ClientSecret?: string | undefined;
  Scope?: string | undefined;
}
export interface ModifyVerifiedAccessTrustProviderRequest {
  VerifiedAccessTrustProviderId: string | undefined;
  OidcOptions?: ModifyVerifiedAccessTrustProviderOidcOptions | undefined;
  DeviceOptions?: ModifyVerifiedAccessTrustProviderDeviceOptions | undefined;
  Description?: string | undefined;
  DryRun?: boolean | undefined;
  ClientToken?: string | undefined;
  SseSpecification?: VerifiedAccessSseSpecificationRequest | undefined;
  NativeApplicationOidcOptions?:
    | ModifyVerifiedAccessNativeApplicationOidcOptions
    | undefined;
}
export interface ModifyVerifiedAccessTrustProviderResult {
  VerifiedAccessTrustProvider?: VerifiedAccessTrustProvider | undefined;
}
export interface ModifyVolumeRequest {
  DryRun?: boolean | undefined;
  VolumeId: string | undefined;
  Size?: number | undefined;
  VolumeType?: VolumeType | undefined;
  Iops?: number | undefined;
  Throughput?: number | undefined;
  MultiAttachEnabled?: boolean | undefined;
}
export interface ModifyVolumeResult {
  VolumeModification?: VolumeModification | undefined;
}
export interface ModifyVolumeAttributeRequest {
  AutoEnableIO?: AttributeBooleanValue | undefined;
  VolumeId: string | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifyVpcAttributeRequest {
  EnableDnsHostnames?: AttributeBooleanValue | undefined;
  EnableDnsSupport?: AttributeBooleanValue | undefined;
  VpcId: string | undefined;
  EnableNetworkAddressUsageMetrics?: AttributeBooleanValue | undefined;
}
export interface ModifyVpcBlockPublicAccessExclusionRequest {
  DryRun?: boolean | undefined;
  ExclusionId: string | undefined;
  InternetGatewayExclusionMode: InternetGatewayExclusionMode | undefined;
}
export interface ModifyVpcBlockPublicAccessExclusionResult {
  VpcBlockPublicAccessExclusion?: VpcBlockPublicAccessExclusion | undefined;
}
export interface ModifyVpcBlockPublicAccessOptionsRequest {
  DryRun?: boolean | undefined;
  InternetGatewayBlockMode: InternetGatewayBlockMode | undefined;
}
export interface ModifyVpcBlockPublicAccessOptionsResult {
  VpcBlockPublicAccessOptions?: VpcBlockPublicAccessOptions | undefined;
}
export interface ModifyVpcEncryptionControlRequest {
  DryRun?: boolean | undefined;
  VpcEncryptionControlId: string | undefined;
  Mode?: VpcEncryptionControlMode | undefined;
  InternetGatewayExclusion?:
    | VpcEncryptionControlExclusionStateInput
    | undefined;
  EgressOnlyInternetGatewayExclusion?:
    | VpcEncryptionControlExclusionStateInput
    | undefined;
  NatGatewayExclusion?: VpcEncryptionControlExclusionStateInput | undefined;
  VirtualPrivateGatewayExclusion?:
    | VpcEncryptionControlExclusionStateInput
    | undefined;
  VpcPeeringExclusion?: VpcEncryptionControlExclusionStateInput | undefined;
  LambdaExclusion?: VpcEncryptionControlExclusionStateInput | undefined;
  VpcLatticeExclusion?: VpcEncryptionControlExclusionStateInput | undefined;
  ElasticFileSystemExclusion?:
    | VpcEncryptionControlExclusionStateInput
    | undefined;
}
export interface ModifyVpcEncryptionControlResult {
  VpcEncryptionControl?: VpcEncryptionControl | undefined;
}
export interface ModifyVpcEndpointRequest {
  DryRun?: boolean | undefined;
  VpcEndpointId: string | undefined;
  ResetPolicy?: boolean | undefined;
  PolicyDocument?: string | undefined;
  AddRouteTableIds?: string[] | undefined;
  RemoveRouteTableIds?: string[] | undefined;
  AddSubnetIds?: string[] | undefined;
  RemoveSubnetIds?: string[] | undefined;
  AddSecurityGroupIds?: string[] | undefined;
  RemoveSecurityGroupIds?: string[] | undefined;
  IpAddressType?: IpAddressType | undefined;
  DnsOptions?: DnsOptionsSpecification | undefined;
  PrivateDnsEnabled?: boolean | undefined;
  SubnetConfigurations?: SubnetConfiguration[] | undefined;
}
export interface ModifyVpcEndpointResult {
  Return?: boolean | undefined;
}
export interface ModifyVpcEndpointConnectionNotificationRequest {
  DryRun?: boolean | undefined;
  ConnectionNotificationId: string | undefined;
  ConnectionNotificationArn?: string | undefined;
  ConnectionEvents?: string[] | undefined;
}
export interface ModifyVpcEndpointConnectionNotificationResult {
  ReturnValue?: boolean | undefined;
}
export interface ModifyVpcEndpointPayerResponsibilityRequest {
  DryRun?: boolean | undefined;
  ServiceId?: string | undefined;
  VpcEndpointId: string | undefined;
  PayerResponsibility: PayerResponsibilityType | undefined;
  Scope: PayerResponsibilityScope | undefined;
}
export interface ModifyVpcEndpointPayerResponsibilityResult {
  VpcEndpointId?: string | undefined;
  PayerResponsibilities?: PayerResponsibilityEntry[] | undefined;
}
export interface ModifyVpcEndpointServiceConfigurationRequest {
  DryRun?: boolean | undefined;
  ServiceId: string | undefined;
  PrivateDnsName?: string | undefined;
  RemovePrivateDnsName?: boolean | undefined;
  AcceptanceRequired?: boolean | undefined;
  AddNetworkLoadBalancerArns?: string[] | undefined;
  RemoveNetworkLoadBalancerArns?: string[] | undefined;
  AddGatewayLoadBalancerArns?: string[] | undefined;
  RemoveGatewayLoadBalancerArns?: string[] | undefined;
  AddSupportedIpAddressTypes?: string[] | undefined;
  RemoveSupportedIpAddressTypes?: string[] | undefined;
  AddSupportedRegions?: string[] | undefined;
  RemoveSupportedRegions?: string[] | undefined;
}
export interface ModifyVpcEndpointServiceConfigurationResult {
  Return?: boolean | undefined;
}
export interface ModifyVpcEndpointServicePayerResponsibilityRequest {
  DryRun?: boolean | undefined;
  ServiceId: string | undefined;
  PayerResponsibility: PayerResponsibility | undefined;
}
export interface ModifyVpcEndpointServicePayerResponsibilityResult {
  ReturnValue?: boolean | undefined;
}
export interface ModifyVpcEndpointServicePermissionsRequest {
  DryRun?: boolean | undefined;
  ServiceId: string | undefined;
  AddAllowedPrincipals?: string[] | undefined;
  RemoveAllowedPrincipals?: string[] | undefined;
}
export interface ModifyVpcEndpointServicePermissionsResult {
  AddedPrincipals?: AddedPrincipal[] | undefined;
  ReturnValue?: boolean | undefined;
}
export interface PeeringConnectionOptionsRequest {
  AllowDnsResolutionFromRemoteVpc?: boolean | undefined;
  AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean | undefined;
  AllowEgressFromLocalVpcToRemoteClassicLink?: boolean | undefined;
}
export interface ModifyVpcPeeringConnectionOptionsRequest {
  AccepterPeeringConnectionOptions?:
    | PeeringConnectionOptionsRequest
    | undefined;
  DryRun?: boolean | undefined;
  RequesterPeeringConnectionOptions?:
    | PeeringConnectionOptionsRequest
    | undefined;
  VpcPeeringConnectionId: string | undefined;
}
export interface PeeringConnectionOptions {
  AllowDnsResolutionFromRemoteVpc?: boolean | undefined;
  AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean | undefined;
  AllowEgressFromLocalVpcToRemoteClassicLink?: boolean | undefined;
}
export interface ModifyVpcPeeringConnectionOptionsResult {
  AccepterPeeringConnectionOptions?: PeeringConnectionOptions | undefined;
  RequesterPeeringConnectionOptions?: PeeringConnectionOptions | undefined;
}
export interface ModifyVpcTenancyRequest {
  VpcId: string | undefined;
  InstanceTenancy: VpcTenancy | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifyVpcTenancyResult {
  ReturnValue?: boolean | undefined;
}
export interface ModifyVpnConnectionRequest {
  VpnConnectionId: string | undefined;
  TransitGatewayId?: string | undefined;
  CustomerGatewayId?: string | undefined;
  VpnGatewayId?: string | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifyVpnConnectionResult {
  VpnConnection?: VpnConnection | undefined;
}
export interface ModifyVpnConnectionOptionsRequest {
  VpnConnectionId: string | undefined;
  LocalIpv4NetworkCidr?: string | undefined;
  RemoteIpv4NetworkCidr?: string | undefined;
  LocalIpv6NetworkCidr?: string | undefined;
  RemoteIpv6NetworkCidr?: string | undefined;
  TunnelBandwidth?: VpnTunnelBandwidth | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifyVpnConnectionOptionsResult {
  VpnConnection?: VpnConnection | undefined;
}
export interface ModifyVpnTunnelCertificateRequest {
  VpnConnectionId: string | undefined;
  VpnTunnelOutsideIpAddress: string | undefined;
  DryRun?: boolean | undefined;
}
export interface ModifyVpnTunnelCertificateResult {
  VpnConnection?: VpnConnection | undefined;
}
export interface ModifyVpnTunnelOptionsSpecification {
  TunnelInsideCidr?: string | undefined;
  TunnelInsideIpv6Cidr?: string | undefined;
  PreSharedKey?: string | undefined;
  Phase1LifetimeSeconds?: number | undefined;
  Phase2LifetimeSeconds?: number | undefined;
  RekeyMarginTimeSeconds?: number | undefined;
  RekeyFuzzPercentage?: number | undefined;
  ReplayWindowSize?: number | undefined;
  DPDTimeoutSeconds?: number | undefined;
  DPDTimeoutAction?: string | undefined;
  Phase1EncryptionAlgorithms?:
    | Phase1EncryptionAlgorithmsRequestListValue[]
    | undefined;
  Phase2EncryptionAlgorithms?:
    | Phase2EncryptionAlgorithmsRequestListValue[]
    | undefined;
  Phase1IntegrityAlgorithms?:
    | Phase1IntegrityAlgorithmsRequestListValue[]
    | undefined;
  Phase2IntegrityAlgorithms?:
    | Phase2IntegrityAlgorithmsRequestListValue[]
    | undefined;
  Phase1DHGroupNumbers?: Phase1DHGroupNumbersRequestListValue[] | undefined;
  Phase2DHGroupNumbers?: Phase2DHGroupNumbersRequestListValue[] | undefined;
  IKEVersions?: IKEVersionsRequestListValue[] | undefined;
  StartupAction?: string | undefined;
  LogOptions?: VpnTunnelLogOptionsSpecification | undefined;
  EnableTunnelLifecycleControl?: boolean | undefined;
}
export interface ModifyVpnTunnelOptionsRequest {
  VpnConnectionId: string | undefined;
  VpnTunnelOutsideIpAddress: string | undefined;
  TunnelOptions: ModifyVpnTunnelOptionsSpecification | undefined;
  DryRun?: boolean | undefined;
  SkipTunnelReplacement?: boolean | undefined;
  PreSharedKeyStorage?: string | undefined;
}
export interface ModifyVpnTunnelOptionsResult {
  VpnConnection?: VpnConnection | undefined;
}
export interface MonitorInstancesRequest {
  InstanceIds: string[] | undefined;
  DryRun?: boolean | undefined;
}
export interface InstanceMonitoring {
  InstanceId?: string | undefined;
  Monitoring?: Monitoring | undefined;
}
export interface MonitorInstancesResult {
  InstanceMonitorings?: InstanceMonitoring[] | undefined;
}
export interface MoveAddressToVpcRequest {
  DryRun?: boolean | undefined;
  PublicIp: string | undefined;
}
export interface MoveAddressToVpcResult {
  AllocationId?: string | undefined;
  Status?: Status | undefined;
}
export interface MoveByoipCidrToIpamRequest {
  DryRun?: boolean | undefined;
  Cidr: string | undefined;
  IpamPoolId: string | undefined;
  IpamPoolOwner: string | undefined;
}
export interface MoveByoipCidrToIpamResult {
  ByoipCidr?: ByoipCidr | undefined;
}
export interface MoveCapacityReservationInstancesRequest {
  DryRun?: boolean | undefined;
  ClientToken?: string | undefined;
  SourceCapacityReservationId: string | undefined;
  DestinationCapacityReservationId: string | undefined;
  InstanceCount: number | undefined;
}
export interface MoveCapacityReservationInstancesResult {
  SourceCapacityReservation?: CapacityReservation | undefined;
  DestinationCapacityReservation?: CapacityReservation | undefined;
  InstanceCount?: number | undefined;
}
export interface CidrAuthorizationContext {
  Message: string | undefined;
  Signature: string | undefined;
}
export interface ProvisionByoipCidrRequest {
  Cidr: string | undefined;
  CidrAuthorizationContext?: CidrAuthorizationContext | undefined;
  PubliclyAdvertisable?: boolean | undefined;
  Description?: string | undefined;
  DryRun?: boolean | undefined;
  PoolTagSpecifications?: TagSpecification[] | undefined;
  MultiRegion?: boolean | undefined;
  NetworkBorderGroup?: string | undefined;
}
export interface ProvisionByoipCidrResult {
  ByoipCidr?: ByoipCidr | undefined;
}
export interface AsnAuthorizationContext {
  Message: string | undefined;
  Signature: string | undefined;
}
export interface ProvisionIpamByoasnRequest {
  DryRun?: boolean | undefined;
  IpamId: string | undefined;
  Asn: string | undefined;
  AsnAuthorizationContext: AsnAuthorizationContext | undefined;
}
export interface ProvisionIpamByoasnResult {
  Byoasn?: Byoasn | undefined;
}
export interface IpamCidrAuthorizationContext {
  Message?: string | undefined;
  Signature?: string | undefined;
}
export interface ProvisionIpamPoolCidrRequest {
  DryRun?: boolean | undefined;
  IpamPoolId: string | undefined;
  Cidr?: string | undefined;
  CidrAuthorizationContext?: IpamCidrAuthorizationContext | undefined;
  NetmaskLength?: number | undefined;
  ClientToken?: string | undefined;
  VerificationMethod?: VerificationMethod | undefined;
  IpamExternalResourceVerificationTokenId?: string | undefined;
}
export interface ProvisionIpamPoolCidrResult {
  IpamPoolCidr?: IpamPoolCidr | undefined;
}
export interface ProvisionPublicIpv4PoolCidrRequest {
  DryRun?: boolean | undefined;
  IpamPoolId: string | undefined;
  PoolId: string | undefined;
  NetmaskLength: number | undefined;
  NetworkBorderGroup?: string | undefined;
}
export interface ProvisionPublicIpv4PoolCidrResult {
  PoolId?: string | undefined;
  PoolAddressRange?: PublicIpv4PoolRange | undefined;
}
export interface PurchaseCapacityBlockRequest {
  DryRun?: boolean | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
  CapacityBlockOfferingId: string | undefined;
  InstancePlatform: CapacityReservationInstancePlatform | undefined;
}
export interface PurchaseCapacityBlockResult {
  CapacityReservation?: CapacityReservation | undefined;
  CapacityBlocks?: CapacityBlock[] | undefined;
}
export interface PurchaseCapacityBlockExtensionRequest {
  CapacityBlockExtensionOfferingId: string | undefined;
  CapacityReservationId: string | undefined;
  DryRun?: boolean | undefined;
}
export interface PurchaseCapacityBlockExtensionResult {
  CapacityBlockExtensions?: CapacityBlockExtension[] | undefined;
}
export interface PurchaseHostReservationRequest {
  ClientToken?: string | undefined;
  CurrencyCode?: CurrencyCodeValues | undefined;
  HostIdSet: string[] | undefined;
  LimitPrice?: string | undefined;
  OfferingId: string | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
}
export interface PurchaseHostReservationResult {
  ClientToken?: string | undefined;
  CurrencyCode?: CurrencyCodeValues | undefined;
  Purchase?: Purchase[] | undefined;
  TotalHourlyPrice?: string | undefined;
  TotalUpfrontPrice?: string | undefined;
}
export interface ReservedInstanceLimitPrice {
  Amount?: number | undefined;
  CurrencyCode?: CurrencyCodeValues | undefined;
}
export interface PurchaseReservedInstancesOfferingRequest {
  InstanceCount: number | undefined;
  ReservedInstancesOfferingId: string | undefined;
  PurchaseTime?: Date | undefined;
  DryRun?: boolean | undefined;
  LimitPrice?: ReservedInstanceLimitPrice | undefined;
}
export interface PurchaseReservedInstancesOfferingResult {
  ReservedInstancesId?: string | undefined;
}
export interface PurchaseRequest {
  InstanceCount: number | undefined;
  PurchaseToken: string | undefined;
}
export interface PurchaseScheduledInstancesRequest {
  ClientToken?: string | undefined;
  DryRun?: boolean | undefined;
  PurchaseRequests: PurchaseRequest[] | undefined;
}
export interface PurchaseScheduledInstancesResult {
  ScheduledInstanceSet?: ScheduledInstance[] | undefined;
}
export interface RebootInstancesRequest {
  InstanceIds: string[] | undefined;
  DryRun?: boolean | undefined;
}
export interface RegisterImageRequest {
  ImageLocation?: string | undefined;
  BillingProducts?: string[] | undefined;
  BootMode?: BootModeValues | undefined;
  TpmSupport?: TpmSupportValues | undefined;
  UefiData?: string | undefined;
  ImdsSupport?: ImdsSupportValues | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
  DryRun?: boolean | undefined;
  Name: string | undefined;
  Description?: string | undefined;
  Architecture?: ArchitectureValues | undefined;
  KernelId?: string | undefined;
  RamdiskId?: string | undefined;
  RootDeviceName?: string | undefined;
  BlockDeviceMappings?: BlockDeviceMapping[] | undefined;
  VirtualizationType?: string | undefined;
  SriovNetSupport?: string | undefined;
  EnaSupport?: boolean | undefined;
}
export interface RegisterImageResult {
  ImageId?: string | undefined;
}
export interface RegisterInstanceTagAttributeRequest {
  IncludeAllTagsOfInstance?: boolean | undefined;
  InstanceTagKeys?: string[] | undefined;
}
export interface RegisterInstanceEventNotificationAttributesRequest {
  DryRun?: boolean | undefined;
  InstanceTagAttribute: RegisterInstanceTagAttributeRequest | undefined;
}
export interface RegisterInstanceEventNotificationAttributesResult {
  InstanceTagAttribute?: InstanceTagNotificationAttribute | undefined;
}
export interface RegisterTransitGatewayMulticastGroupMembersRequest {
  TransitGatewayMulticastDomainId: string | undefined;
  GroupIpAddress?: string | undefined;
  NetworkInterfaceIds: string[] | undefined;
  DryRun?: boolean | undefined;
}
export interface TransitGatewayMulticastRegisteredGroupMembers {
  TransitGatewayMulticastDomainId?: string | undefined;
  RegisteredNetworkInterfaceIds?: string[] | undefined;
  GroupIpAddress?: string | undefined;
}
export interface RegisterTransitGatewayMulticastGroupMembersResult {
  RegisteredMulticastGroupMembers?:
    | TransitGatewayMulticastRegisteredGroupMembers
    | undefined;
}
export interface RegisterTransitGatewayMulticastGroupSourcesRequest {
  TransitGatewayMulticastDomainId: string | undefined;
  GroupIpAddress?: string | undefined;
  NetworkInterfaceIds: string[] | undefined;
  DryRun?: boolean | undefined;
}
export interface TransitGatewayMulticastRegisteredGroupSources {
  TransitGatewayMulticastDomainId?: string | undefined;
  RegisteredNetworkInterfaceIds?: string[] | undefined;
  GroupIpAddress?: string | undefined;
}
export interface RegisterTransitGatewayMulticastGroupSourcesResult {
  RegisteredMulticastGroupSources?:
    | TransitGatewayMulticastRegisteredGroupSources
    | undefined;
}
export interface RejectCapacityReservationBillingOwnershipRequest {
  DryRun?: boolean | undefined;
  CapacityReservationId: string | undefined;
}
export interface RejectCapacityReservationBillingOwnershipResult {
  Return?: boolean | undefined;
}
export interface RejectTransitGatewayClientVpnAttachmentRequest {
  TransitGatewayAttachmentId: string | undefined;
  DryRun?: boolean | undefined;
}
export interface RejectTransitGatewayClientVpnAttachmentResult {
  TransitGatewayClientVpnAttachment?:
    | TransitGatewayClientVpnAttachment
    | undefined;
}
export interface RejectTransitGatewayMulticastDomainAssociationsRequest {
  TransitGatewayMulticastDomainId?: string | undefined;
  TransitGatewayAttachmentId?: string | undefined;
  SubnetIds?: string[] | undefined;
  DryRun?: boolean | undefined;
}
export interface RejectTransitGatewayMulticastDomainAssociationsResult {
  Associations?: TransitGatewayMulticastDomainAssociations | undefined;
}
export interface RejectTransitGatewayPeeringAttachmentRequest {
  TransitGatewayAttachmentId: string | undefined;
  DryRun?: boolean | undefined;
}
export interface RejectTransitGatewayPeeringAttachmentResult {
  TransitGatewayPeeringAttachment?: TransitGatewayPeeringAttachment | undefined;
}
export interface RejectTransitGatewayVpcAttachmentRequest {
  TransitGatewayAttachmentId: string | undefined;
  DryRun?: boolean | undefined;
}
export interface RejectTransitGatewayVpcAttachmentResult {
  TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment | undefined;
}
export interface RejectVpcEndpointConnectionsRequest {
  DryRun?: boolean | undefined;
  ServiceId: string | undefined;
  VpcEndpointIds: string[] | undefined;
}
export interface RejectVpcEndpointConnectionsResult {
  Unsuccessful?: UnsuccessfulItem[] | undefined;
}
export interface RejectVpcPeeringConnectionRequest {
  DryRun?: boolean | undefined;
  VpcPeeringConnectionId: string | undefined;
}
export interface RejectVpcPeeringConnectionResult {
  Return?: boolean | undefined;
}
export interface ReleaseAddressRequest {
  AllocationId?: string | undefined;
  PublicIp?: string | undefined;
  NetworkBorderGroup?: string | undefined;
  DryRun?: boolean | undefined;
}
export interface ReleaseHostsRequest {
  HostIds: string[] | undefined;
}
export interface ReleaseHostsResult {
  Successful?: string[] | undefined;
  Unsuccessful?: UnsuccessfulItem[] | undefined;
}
export interface ReleaseIpamPoolAllocationRequest {
  DryRun?: boolean | undefined;
  IpamPoolId: string | undefined;
  Cidr: string | undefined;
  IpamPoolAllocationId: string | undefined;
}
export interface ReleaseIpamPoolAllocationResult {
  Success?: boolean | undefined;
}
export interface ReplaceIamInstanceProfileAssociationRequest {
  IamInstanceProfile: IamInstanceProfileSpecification | undefined;
  AssociationId: string | undefined;
}
export interface ReplaceIamInstanceProfileAssociationResult {
  IamInstanceProfileAssociation?: IamInstanceProfileAssociation | undefined;
}
export interface CreationDateConditionRequest {
  MaximumDaysSinceCreated?: number | undefined;
}
export interface DeprecationTimeConditionRequest {
  MaximumDaysSinceDeprecated?: number | undefined;
}
export interface ImageWatermarkFilterRequest {
  WatermarkKey?: string | undefined;
  SourceImageRegion?: string | undefined;
  MaximumDaysSinceSourceImageCreated?: number | undefined;
  MaximumDaysSinceWatermarkCreated?: number | undefined;
}
export interface ImageCriterionRequest {
  ImageProviders?: string[] | undefined;
  MarketplaceProductCodes?: string[] | undefined;
  ImageNames?: string[] | undefined;
  DeprecationTimeCondition?: DeprecationTimeConditionRequest | undefined;
  CreationDateCondition?: CreationDateConditionRequest | undefined;
  ImageWatermarks?: ImageWatermarkFilterRequest[] | undefined;
}
export interface ReplaceImageCriteriaInAllowedImagesSettingsRequest {
  ImageCriteria?: ImageCriterionRequest[] | undefined;
  DryRun?: boolean | undefined;
}
export interface ReplaceImageCriteriaInAllowedImagesSettingsResult {
  ReturnValue?: boolean | undefined;
}
export interface ReplaceNetworkAclAssociationRequest {
  DryRun?: boolean | undefined;
  AssociationId: string | undefined;
  NetworkAclId: string | undefined;
}
export interface ReplaceNetworkAclAssociationResult {
  NewAssociationId?: string | undefined;
}
export interface ReplaceNetworkAclEntryRequest {
  DryRun?: boolean | undefined;
  NetworkAclId: string | undefined;
  RuleNumber: number | undefined;
  Protocol: string | undefined;
  RuleAction: RuleAction | undefined;
  Egress: boolean | undefined;
  CidrBlock?: string | undefined;
  Ipv6CidrBlock?: string | undefined;
  IcmpTypeCode?: IcmpTypeCode | undefined;
  PortRange?: PortRange | undefined;
}
export interface ReplaceRouteRequest {
  DestinationPrefixListId?: string | undefined;
  VpcEndpointId?: string | undefined;
  LocalTarget?: boolean | undefined;
  TransitGatewayId?: string | undefined;
  LocalGatewayId?: string | undefined;
  CarrierGatewayId?: string | undefined;
  CoreNetworkArn?: string | undefined;
  OdbNetworkArn?: string | undefined;
  DryRun?: boolean | undefined;
  RouteTableId: string | undefined;
  DestinationCidrBlock?: string | undefined;
  GatewayId?: string | undefined;
  DestinationIpv6CidrBlock?: string | undefined;
  EgressOnlyInternetGatewayId?: string | undefined;
  InstanceId?: string | undefined;
  NetworkInterfaceId?: string | undefined;
  VpcPeeringConnectionId?: string | undefined;
  NatGatewayId?: string | undefined;
}
export interface ReplaceRouteTableAssociationRequest {
  DryRun?: boolean | undefined;
  AssociationId: string | undefined;
  RouteTableId: string | undefined;
}
export interface ReplaceRouteTableAssociationResult {
  NewAssociationId?: string | undefined;
  AssociationState?: RouteTableAssociationState | undefined;
}
export interface ReplaceTransitGatewayRouteRequest {
  DestinationCidrBlock: string | undefined;
  TransitGatewayRouteTableId: string | undefined;
  TransitGatewayAttachmentId?: string | undefined;
  Blackhole?: boolean | undefined;
  DryRun?: boolean | undefined;
}
export interface ReplaceTransitGatewayRouteResult {
  Route?: TransitGatewayRoute | undefined;
}
export interface ReplaceVpnTunnelRequest {
  VpnConnectionId: string | undefined;
  VpnTunnelOutsideIpAddress: string | undefined;
  ApplyPendingMaintenance?: boolean | undefined;
  DryRun?: boolean | undefined;
}
export interface ReplaceVpnTunnelResult {
  Return?: boolean | undefined;
}
export interface ReportInstanceStatusRequest {
  DryRun?: boolean | undefined;
  Instances: string[] | undefined;
  Status: ReportStatusType | undefined;
  StartTime?: Date | undefined;
  EndTime?: Date | undefined;
  ReasonCodes: ReportInstanceReasonCodes[] | undefined;
  Description?: string | undefined;
}
export interface RequestSpotFleetRequest {
  DryRun?: boolean | undefined;
  SpotFleetRequestConfig: SpotFleetRequestConfigData | undefined;
}
export interface RequestSpotFleetResponse {
  SpotFleetRequestId?: string | undefined;
}
export interface RequestSpotLaunchSpecification {
  SecurityGroupIds?: string[] | undefined;
  SecurityGroups?: string[] | undefined;
  AddressingType?: string | undefined;
  BlockDeviceMappings?: BlockDeviceMapping[] | undefined;
  EbsOptimized?: boolean | undefined;
  IamInstanceProfile?: IamInstanceProfileSpecification | undefined;
  ImageId?: string | undefined;
  InstanceType?: _InstanceType | undefined;
  KernelId?: string | undefined;
  KeyName?: string | undefined;
  Monitoring?: RunInstancesMonitoringEnabled | undefined;
  NetworkInterfaces?: InstanceNetworkInterfaceSpecification[] | undefined;
  Placement?: SpotPlacement | undefined;
  RamdiskId?: string | undefined;
  SubnetId?: string | undefined;
  UserData?: string | undefined;
}
export interface RequestSpotInstancesRequest {
  LaunchSpecification?: RequestSpotLaunchSpecification | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
  InstanceInterruptionBehavior?: InstanceInterruptionBehavior | undefined;
  DryRun?: boolean | undefined;
  SpotPrice?: string | undefined;
  ClientToken?: string | undefined;
  InstanceCount?: number | undefined;
  Type?: SpotInstanceType | undefined;
  ValidFrom?: Date | undefined;
  ValidUntil?: Date | undefined;
  LaunchGroup?: string | undefined;
  AvailabilityZoneGroup?: string | undefined;
  BlockDurationMinutes?: number | undefined;
}
export interface RequestSpotInstancesResult {
  SpotInstanceRequests?: SpotInstanceRequest[] | undefined;
}
export interface ResetAddressAttributeRequest {
  AllocationId: string | undefined;
  Attribute: AddressAttributeName | undefined;
  DryRun?: boolean | undefined;
}
export interface ResetAddressAttributeResult {
  Address?: AddressAttribute | undefined;
}
export interface ResetEbsDefaultKmsKeyIdRequest {
  DryRun?: boolean | undefined;
}
export interface ResetEbsDefaultKmsKeyIdResult {
  KmsKeyId?: string | undefined;
}
export interface ResetFpgaImageAttributeRequest {
  DryRun?: boolean | undefined;
  FpgaImageId: string | undefined;
  Attribute?: ResetFpgaImageAttributeName | undefined;
}
export interface ResetFpgaImageAttributeResult {
  Return?: boolean | undefined;
}
export interface ResetImageAttributeRequest {
  Attribute: ResetImageAttributeName | undefined;
  ImageId: string | undefined;
  DryRun?: boolean | undefined;
}
export interface ResetInstanceAttributeRequest {
  DryRun?: boolean | undefined;
  InstanceId: string | undefined;
  Attribute: InstanceAttributeName | undefined;
}
export interface ResetNetworkInterfaceAttributeRequest {
  DryRun?: boolean | undefined;
  NetworkInterfaceId: string | undefined;
  SourceDestCheck?: string | undefined;
}
export interface ResetSnapshotAttributeRequest {
  Attribute: SnapshotAttributeName | undefined;
  SnapshotId: string | undefined;
  DryRun?: boolean | undefined;
}
export interface RestoreAddressToClassicRequest {
  DryRun?: boolean | undefined;
  PublicIp: string | undefined;
}
export interface RestoreAddressToClassicResult {
  PublicIp?: string | undefined;
  Status?: Status | undefined;
}
export interface RestoreImageFromRecycleBinRequest {
  ImageId: string | undefined;
  DryRun?: boolean | undefined;
}
export interface RestoreImageFromRecycleBinResult {
  Return?: boolean | undefined;
}
export interface RestoreManagedPrefixListVersionRequest {
  DryRun?: boolean | undefined;
  PrefixListId: string | undefined;
  PreviousVersion: number | undefined;
  CurrentVersion: number | undefined;
}
export interface RestoreManagedPrefixListVersionResult {
  PrefixList?: ManagedPrefixList | undefined;
}
export interface RestoreSnapshotFromRecycleBinRequest {
  SnapshotId: string | undefined;
  DryRun?: boolean | undefined;
}
export interface RestoreSnapshotFromRecycleBinResult {
  SnapshotId?: string | undefined;
  OutpostArn?: string | undefined;
  Description?: string | undefined;
  Encrypted?: boolean | undefined;
  OwnerId?: string | undefined;
  Progress?: string | undefined;
  StartTime?: Date | undefined;
  State?: SnapshotState | undefined;
  VolumeId?: string | undefined;
  VolumeSize?: number | undefined;
  SseType?: SSEType | undefined;
}
export interface RestoreSnapshotTierRequest {
  SnapshotId: string | undefined;
  TemporaryRestoreDays?: number | undefined;
  PermanentRestore?: boolean | undefined;
  DryRun?: boolean | undefined;
}
export interface RestoreSnapshotTierResult {
  SnapshotId?: string | undefined;
  RestoreStartTime?: Date | undefined;
  RestoreDuration?: number | undefined;
  IsPermanentRestore?: boolean | undefined;
}
export interface RestoreVolumeFromRecycleBinRequest {
  VolumeId: string | undefined;
  DryRun?: boolean | undefined;
}
export interface RestoreVolumeFromRecycleBinResult {
  Return?: boolean | undefined;
}
export interface RevokeClientVpnIngressRequest {
  ClientVpnEndpointId: string | undefined;
  TargetNetworkCidr: string | undefined;
  AccessGroupId?: string | undefined;
  RevokeAllGroups?: boolean | undefined;
  DryRun?: boolean | undefined;
}
export interface RevokeClientVpnIngressResult {
  Status?: ClientVpnAuthorizationRuleStatus | undefined;
}
export interface RevokeSecurityGroupEgressRequest {
  SecurityGroupRuleIds?: string[] | undefined;
  DryRun?: boolean | undefined;
  GroupId: string | undefined;
  SourceSecurityGroupName?: string | undefined;
  SourceSecurityGroupOwnerId?: string | undefined;
  IpProtocol?: string | undefined;
  FromPort?: number | undefined;
  ToPort?: number | undefined;
  CidrIp?: string | undefined;
  IpPermissions?: IpPermission[] | undefined;
}
export interface RevokedSecurityGroupRule {
  SecurityGroupRuleId?: string | undefined;
  GroupId?: string | undefined;
  IsEgress?: boolean | undefined;
  IpProtocol?: string | undefined;
  FromPort?: number | undefined;
  ToPort?: number | undefined;
  CidrIpv4?: string | undefined;
  CidrIpv6?: string | undefined;
  PrefixListId?: string | undefined;
  ReferencedGroupId?: string | undefined;
  Description?: string | undefined;
}
export interface RevokeSecurityGroupEgressResult {
  Return?: boolean | undefined;
  UnknownIpPermissions?: IpPermission[] | undefined;
  RevokedSecurityGroupRules?: RevokedSecurityGroupRule[] | undefined;
}
export interface RevokeSecurityGroupIngressRequest {
  CidrIp?: string | undefined;
  FromPort?: number | undefined;
  GroupId?: string | undefined;
  GroupName?: string | undefined;
  IpPermissions?: IpPermission[] | undefined;
  IpProtocol?: string | undefined;
  SourceSecurityGroupName?: string | undefined;
  SourceSecurityGroupOwnerId?: string | undefined;
  ToPort?: number | undefined;
  SecurityGroupRuleIds?: string[] | undefined;
  DryRun?: boolean | undefined;
}
export interface RevokeSecurityGroupIngressResult {
  Return?: boolean | undefined;
  UnknownIpPermissions?: IpPermission[] | undefined;
  RevokedSecurityGroupRules?: RevokedSecurityGroupRule[] | undefined;
}
export interface CpuOptionsRequest {
  CoreCount?: number | undefined;
  ThreadsPerCore?: number | undefined;
  AmdSevSnp?: AmdSevSnpSpecification | undefined;
  NestedVirtualization?: NestedVirtualizationSpecification | undefined;
}
export interface ElasticInferenceAccelerator {
  Type: string | undefined;
  Count?: number | undefined;
}
export interface HibernationOptionsRequest {
  Configured?: boolean | undefined;
}
export interface SpotMarketOptions {
  MaxPrice?: string | undefined;
  SpotInstanceType?: SpotInstanceType | undefined;
  BlockDurationMinutes?: number | undefined;
  ValidUntil?: Date | undefined;
  InstanceInterruptionBehavior?: InstanceInterruptionBehavior | undefined;
}
export interface InstanceMarketOptionsRequest {
  MarketType?: MarketType | undefined;
  SpotOptions?: SpotMarketOptions | undefined;
}
export interface LaunchTemplateSpecification {
  LaunchTemplateId?: string | undefined;
  LaunchTemplateName?: string | undefined;
  Version?: string | undefined;
}
export interface LicenseConfigurationRequest {
  LicenseConfigurationArn?: string | undefined;
}
export interface InstanceMaintenanceOptionsRequest {
  AutoRecovery?: InstanceAutoRecoveryState | undefined;
}
export interface InstanceMetadataOptionsRequest {
  HttpTokens?: HttpTokensState | undefined;
  HttpPutResponseHopLimit?: number | undefined;
  HttpEndpoint?: InstanceMetadataEndpointState | undefined;
  HttpProtocolIpv6?: InstanceMetadataProtocolState | undefined;
  InstanceMetadataTags?: InstanceMetadataTagsState | undefined;
}
export interface InstanceNetworkPerformanceOptionsRequest {
  BandwidthWeighting?: InstanceBandwidthWeighting | undefined;
}
export interface PrivateDnsNameOptionsRequest {
  HostnameType?: HostnameType | undefined;
  EnableResourceNameDnsARecord?: boolean | undefined;
  EnableResourceNameDnsAAAARecord?: boolean | undefined;
}
export interface InstanceSecondaryInterfacePrivateIpAddressRequest {
  PrivateIpAddress: string | undefined;
}
export interface InstanceSecondaryInterfaceSpecificationRequest {
  DeleteOnTermination?: boolean | undefined;
  DeviceIndex?: number | undefined;
  PrivateIpAddresses?:
    | InstanceSecondaryInterfacePrivateIpAddressRequest[]
    | undefined;
  PrivateIpAddressCount?: number | undefined;
  SecondarySubnetId?: string | undefined;
  InterfaceType?: SecondaryInterfaceType | undefined;
  NetworkCardIndex?: number | undefined;
}
export interface RunInstancesRequest {
  BlockDeviceMappings?: BlockDeviceMapping[] | undefined;
  ImageId?: string | undefined;
  InstanceType?: _InstanceType | undefined;
  Ipv6AddressCount?: number | undefined;
  Ipv6Addresses?: InstanceIpv6Address[] | undefined;
  KernelId?: string | undefined;
  KeyName?: string | undefined;
  MaxCount: number | undefined;
  MinCount: number | undefined;
  Monitoring?: RunInstancesMonitoringEnabled | undefined;
  Placement?: Placement | undefined;
  RamdiskId?: string | undefined;
  SecurityGroupIds?: string[] | undefined;
  SecurityGroups?: string[] | undefined;
  SubnetId?: string | undefined;
  UserData?: string | undefined;
  ElasticGpuSpecification?: ElasticGpuSpecification[] | undefined;
  ElasticInferenceAccelerators?: ElasticInferenceAccelerator[] | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
  LaunchTemplate?: LaunchTemplateSpecification | undefined;
  InstanceMarketOptions?: InstanceMarketOptionsRequest | undefined;
  CreditSpecification?: CreditSpecificationRequest | undefined;
  CpuOptions?: CpuOptionsRequest | undefined;
  CapacityReservationSpecification?:
    | CapacityReservationSpecification
    | undefined;
  HibernationOptions?: HibernationOptionsRequest | undefined;
  LicenseSpecifications?: LicenseConfigurationRequest[] | undefined;
  MetadataOptions?: InstanceMetadataOptionsRequest | undefined;
  EnclaveOptions?: EnclaveOptionsRequest | undefined;
  PrivateDnsNameOptions?: PrivateDnsNameOptionsRequest | undefined;
  MaintenanceOptions?: InstanceMaintenanceOptionsRequest | undefined;
  DisableApiStop?: boolean | undefined;
  EnablePrimaryIpv6?: boolean | undefined;
  NetworkPerformanceOptions?:
    | InstanceNetworkPerformanceOptionsRequest
    | undefined;
  Operator?: OperatorRequest | undefined;
  SecondaryInterfaces?:
    | InstanceSecondaryInterfaceSpecificationRequest[]
    | undefined;
  DryRun?: boolean | undefined;
  DisableApiTermination?: boolean | undefined;
  InstanceInitiatedShutdownBehavior?: ShutdownBehavior | undefined;
  PrivateIpAddress?: string | undefined;
  ClientToken?: string | undefined;
  AdditionalInfo?: string | undefined;
  NetworkInterfaces?: InstanceNetworkInterfaceSpecification[] | undefined;
  IamInstanceProfile?: IamInstanceProfileSpecification | undefined;
  EbsOptimized?: boolean | undefined;
}
export interface ScheduledInstancesEbs {
  DeleteOnTermination?: boolean | undefined;
  Encrypted?: boolean | undefined;
  Iops?: number | undefined;
  SnapshotId?: string | undefined;
  VolumeSize?: number | undefined;
  VolumeType?: string | undefined;
}
export interface ScheduledInstancesBlockDeviceMapping {
  DeviceName?: string | undefined;
  Ebs?: ScheduledInstancesEbs | undefined;
  NoDevice?: string | undefined;
  VirtualName?: string | undefined;
}
export interface ScheduledInstancesIamInstanceProfile {
  Arn?: string | undefined;
  Name?: string | undefined;
}
export interface ScheduledInstancesMonitoring {
  Enabled?: boolean | undefined;
}
export interface ScheduledInstancesIpv6Address {
  Ipv6Address?: string | undefined;
}
export interface ScheduledInstancesPrivateIpAddressConfig {
  Primary?: boolean | undefined;
  PrivateIpAddress?: string | undefined;
}
export interface ScheduledInstancesNetworkInterface {
  AssociatePublicIpAddress?: boolean | undefined;
  DeleteOnTermination?: boolean | undefined;
  Description?: string | undefined;
  DeviceIndex?: number | undefined;
  Groups?: string[] | undefined;
  Ipv6AddressCount?: number | undefined;
  Ipv6Addresses?: ScheduledInstancesIpv6Address[] | undefined;
  NetworkInterfaceId?: string | undefined;
  PrivateIpAddress?: string | undefined;
  PrivateIpAddressConfigs?:
    | ScheduledInstancesPrivateIpAddressConfig[]
    | undefined;
  SecondaryPrivateIpAddressCount?: number | undefined;
  SubnetId?: string | undefined;
}
export interface ScheduledInstancesPlacement {
  AvailabilityZone?: string | undefined;
  GroupName?: string | undefined;
}
export interface ScheduledInstancesLaunchSpecification {
  BlockDeviceMappings?: ScheduledInstancesBlockDeviceMapping[] | undefined;
  EbsOptimized?: boolean | undefined;
  IamInstanceProfile?: ScheduledInstancesIamInstanceProfile | undefined;
  ImageId: string | undefined;
  InstanceType?: string | undefined;
  KernelId?: string | undefined;
  KeyName?: string | undefined;
  Monitoring?: ScheduledInstancesMonitoring | undefined;
  NetworkInterfaces?: ScheduledInstancesNetworkInterface[] | undefined;
  Placement?: ScheduledInstancesPlacement | undefined;
  RamdiskId?: string | undefined;
  SecurityGroupIds?: string[] | undefined;
  SubnetId?: string | undefined;
  UserData?: string | undefined;
}
export interface RunScheduledInstancesRequest {
  ClientToken?: string | undefined;
  DryRun?: boolean | undefined;
  InstanceCount?: number | undefined;
  LaunchSpecification: ScheduledInstancesLaunchSpecification | undefined;
  ScheduledInstanceId: string | undefined;
}
export interface RunScheduledInstancesResult {
  InstanceIdSet?: string[] | undefined;
}
export interface SearchLocalGatewayRoutesRequest {
  LocalGatewayRouteTableId: string | undefined;
  Filters?: Filter[] | undefined;
  MaxResults?: number | undefined;
  NextToken?: string | undefined;
  DryRun?: boolean | undefined;
}
export interface SearchLocalGatewayRoutesResult {
  Routes?: LocalGatewayRoute[] | undefined;
  NextToken?: string | undefined;
}
export interface SearchTransitGatewayMulticastGroupsRequest {
  TransitGatewayMulticastDomainId: string | undefined;
  Filters?: Filter[] | undefined;
  MaxResults?: number | undefined;
  NextToken?: string | undefined;
  DryRun?: boolean | undefined;
}
export interface TransitGatewayMulticastGroup {
  GroupIpAddress?: string | undefined;
  TransitGatewayAttachmentId?: string | undefined;
  SubnetId?: string | undefined;
  ResourceId?: string | undefined;
  ResourceType?: TransitGatewayAttachmentResourceType | undefined;
  ResourceOwnerId?: string | undefined;
  NetworkInterfaceId?: string | undefined;
  GroupMember?: boolean | undefined;
  GroupSource?: boolean | undefined;
  MemberType?: MembershipType | undefined;
  SourceType?: MembershipType | undefined;
}
export interface SearchTransitGatewayMulticastGroupsResult {
  MulticastGroups?: TransitGatewayMulticastGroup[] | undefined;
  NextToken?: string | undefined;
}
export interface SearchTransitGatewayRoutesRequest {
  TransitGatewayRouteTableId: string | undefined;
  Filters: Filter[] | undefined;
  MaxResults?: number | undefined;
  DryRun?: boolean | undefined;
  NextToken?: string | undefined;
}
export interface SearchTransitGatewayRoutesResult {
  Routes?: TransitGatewayRoute[] | undefined;
  AdditionalRoutesAvailable?: boolean | undefined;
  NextToken?: string | undefined;
}
export interface SendDiagnosticInterruptRequest {
  InstanceId: string | undefined;
  DryRun?: boolean | undefined;
}
export interface StartDeclarativePoliciesReportRequest {
  DryRun?: boolean | undefined;
  S3Bucket: string | undefined;
  S3Prefix?: string | undefined;
  TargetId: string | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
}
export interface StartDeclarativePoliciesReportResult {
  ReportId?: string | undefined;
}
export interface StartInstancesRequest {
  InstanceIds: string[] | undefined;
  AdditionalInfo?: string | undefined;
  DryRun?: boolean | undefined;
}
export interface InstanceStateChange {
  InstanceId?: string | undefined;
  CurrentState?: InstanceState | undefined;
  PreviousState?: InstanceState | undefined;
}
export interface StartInstancesResult {
  StartingInstances?: InstanceStateChange[] | undefined;
}
export interface StartNetworkInsightsAccessScopeAnalysisRequest {
  NetworkInsightsAccessScopeId: string | undefined;
  DryRun?: boolean | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
  ClientToken?: string | undefined;
}
export interface StartNetworkInsightsAccessScopeAnalysisResult {
  NetworkInsightsAccessScopeAnalysis?:
    | NetworkInsightsAccessScopeAnalysis
    | undefined;
}
export interface StartNetworkInsightsAnalysisRequest {
  NetworkInsightsPathId: string | undefined;
  AdditionalAccounts?: string[] | undefined;
  FilterInArns?: string[] | undefined;
  FilterOutArns?: string[] | undefined;
  DryRun?: boolean | undefined;
  TagSpecifications?: TagSpecification[] | undefined;
  ClientToken?: string | undefined;
}
export interface StartNetworkInsightsAnalysisResult {
  NetworkInsightsAnalysis?: NetworkInsightsAnalysis | undefined;
}
export interface StartVpcEndpointServicePrivateDnsVerificationRequest {
  DryRun?: boolean | undefined;
  ServiceId: string | undefined;
}
export interface StartVpcEndpointServicePrivateDnsVerificationResult {
  ReturnValue?: boolean | undefined;
}
export interface StopInstancesRequest {
  InstanceIds: string[] | undefined;
  Hibernate?: boolean | undefined;
  SkipOsShutdown?: boolean | undefined;
  DryRun?: boolean | undefined;
  Force?: boolean | undefined;
}
export interface StopInstancesResult {
  StoppingInstances?: InstanceStateChange[] | undefined;
}
export interface TerminateClientVpnConnectionsRequest {
  ClientVpnEndpointId: string | undefined;
  ConnectionId?: string | undefined;
  Username?: string | undefined;
  DryRun?: boolean | undefined;
}
export interface TerminateConnectionStatus {
  ConnectionId?: string | undefined;
  PreviousStatus?: ClientVpnConnectionStatus | undefined;
  CurrentStatus?: ClientVpnConnectionStatus | undefined;
}
export interface TerminateClientVpnConnectionsResult {
  ClientVpnEndpointId?: string | undefined;
  Username?: string | undefined;
  ConnectionStatuses?: TerminateConnectionStatus[] | undefined;
}
export interface TerminateInstancesRequest {
  InstanceIds: string[] | undefined;
  Force?: boolean | undefined;
  SkipOsShutdown?: boolean | undefined;
  DryRun?: boolean | undefined;
}
export interface TerminateInstancesResult {
  TerminatingInstances?: InstanceStateChange[] | undefined;
}
export interface UnassignIpv6AddressesRequest {
  Ipv6Prefixes?: string[] | undefined;
  NetworkInterfaceId: string | undefined;
  Ipv6Addresses?: string[] | undefined;
}
export interface UnassignIpv6AddressesResult {
  NetworkInterfaceId?: string | undefined;
  UnassignedIpv6Addresses?: string[] | undefined;
  UnassignedIpv6Prefixes?: string[] | undefined;
}
export interface UnassignPrivateIpAddressesRequest {
  Ipv4Prefixes?: string[] | undefined;
  NetworkInterfaceId: string | undefined;
  PrivateIpAddresses?: string[] | undefined;
}
export interface UnassignPrivateNatGatewayAddressRequest {
  NatGatewayId: string | undefined;
  PrivateIpAddresses: string[] | undefined;
  MaxDrainDurationSeconds?: number | undefined;
  DryRun?: boolean | undefined;
}
export interface UnassignPrivateNatGatewayAddressResult {
  NatGatewayId?: string | undefined;
  NatGatewayAddresses?: NatGatewayAddress[] | undefined;
}
export interface UnlockSnapshotRequest {
  SnapshotId: string | undefined;
  DryRun?: boolean | undefined;
}
export interface UnlockSnapshotResult {
  SnapshotId?: string | undefined;
}
export interface UnmonitorInstancesRequest {
  InstanceIds: string[] | undefined;
  DryRun?: boolean | undefined;
}
export interface UnmonitorInstancesResult {
  InstanceMonitorings?: InstanceMonitoring[] | undefined;
}
export interface UpdateCapacityManagerMonitoredTagKeysRequest {
  ActivateTagKeys?: string[] | undefined;
  DeactivateTagKeys?: string[] | undefined;
  DryRun?: boolean | undefined;
  ClientToken?: string | undefined;
}
export interface UpdateCapacityManagerMonitoredTagKeysResult {
  CapacityManagerTagKeys?: CapacityManagerMonitoredTagKey[] | undefined;
}
