import {
  AccessScopeAnalysisFinding,
  AddressTransfer,
  AllowedPrincipal,
  AssociationStatus,
  CapacityReservationState,
  CurrencyCodeValues,
  IamInstanceProfileAssociation,
  InstanceEventWindow,
  IpamPoolAllocation,
  IpamResourceDiscoveryAssociation,
  NatGatewayAddress,
  SubnetAssociation,
  SubnetIpv6CidrBlockAssociation,
  Tag,
  TagSpecification,
  TargetConfigurationRequest,
  TransitGatewayAssociation,
  TransitGatewayAssociationState,
  TransitGatewayAttachmentResourceType,
  TransitGatewayMulticastDomainAssociations,
  TransitGatewayPolicyTableAssociation,
  VerifiedAccessInstance,
  VerifiedAccessTrustProvider,
  VpcCidrBlockAssociation,
  VpcIpv6CidrBlockAssociation,
  VpcPeeringConnection,
} from "./models_0";
import {
  DiskImageFormat,
  InstanceRequirementsRequest,
  IpamResourceTag,
  NetworkInsightsAccessScopeContent,
  RequestIpamResourceTag,
  ResponseLaunchTemplateData,
  TargetCapacityUnitType,
  VolumeType,
  Vpc,
} from "./models_1";
import {
  ConnectionNotification,
  DnsEntry,
  DnsNameState,
  IpAddressType,
  PayerResponsibility,
  ServiceConfiguration,
  ServiceConnectivityType,
  ServiceTypeDetail,
  SSEType,
  State,
  SubnetCidrReservation,
  TransitGatewayPrefixListReference,
  Volume,
  VpcEndpoint,
  VpnConnection,
  VpnGateway,
} from "./models_2";
import {
  AttributeBooleanValue,
  ExportTaskS3Location,
  FastLaunchLaunchTemplateSpecificationResponse,
  FastLaunchResourceType,
  FastLaunchSnapshotConfigurationResponse,
  FastLaunchStateCode,
  FastSnapshotRestoreStateCode,
  Filter,
  IpamPoolCidr,
  MetricType,
  PaymentOption,
  PeriodType,
  ProductCode,
  StatisticType,
  VirtualizationType,
} from "./models_3";
import {
  AnalysisStatus,
  ArchitectureType,
  VerifiedAccessLogDeliveryStatusCode,
} from "./models_4";
export interface VerifiedAccessLogDeliveryStatus {
  Code?: VerifiedAccessLogDeliveryStatusCode | string;
  Message?: string;
}
export interface VerifiedAccessLogCloudWatchLogsDestination {
  Enabled?: boolean;
  DeliveryStatus?: VerifiedAccessLogDeliveryStatus;
  LogGroup?: string;
}
export interface VerifiedAccessLogKinesisDataFirehoseDestination {
  Enabled?: boolean;
  DeliveryStatus?: VerifiedAccessLogDeliveryStatus;
  DeliveryStream?: string;
}
export interface VerifiedAccessLogS3Destination {
  Enabled?: boolean;
  DeliveryStatus?: VerifiedAccessLogDeliveryStatus;
  BucketName?: string;
  Prefix?: string;
  BucketOwner?: string;
}
export interface VerifiedAccessLogs {
  S3?: VerifiedAccessLogS3Destination;
  CloudWatchLogs?: VerifiedAccessLogCloudWatchLogsDestination;
  KinesisDataFirehose?: VerifiedAccessLogKinesisDataFirehoseDestination;
  LogVersion?: string;
  IncludeTrustContext?: boolean;
}
export interface VerifiedAccessInstanceLoggingConfiguration {
  VerifiedAccessInstanceId?: string;
  AccessLogs?: VerifiedAccessLogs;
}
export interface DescribeVerifiedAccessInstanceLoggingConfigurationsResult {
  LoggingConfigurations?: VerifiedAccessInstanceLoggingConfiguration[];
  NextToken?: string;
}
export interface DescribeVerifiedAccessInstancesRequest {
  VerifiedAccessInstanceIds?: string[];
  MaxResults?: number;
  NextToken?: string;
  Filters?: Filter[];
  DryRun?: boolean;
}
export interface DescribeVerifiedAccessInstancesResult {
  VerifiedAccessInstances?: VerifiedAccessInstance[];
  NextToken?: string;
}
export interface DescribeVerifiedAccessTrustProvidersRequest {
  VerifiedAccessTrustProviderIds?: string[];
  MaxResults?: number;
  NextToken?: string;
  Filters?: Filter[];
  DryRun?: boolean;
}
export interface DescribeVerifiedAccessTrustProvidersResult {
  VerifiedAccessTrustProviders?: VerifiedAccessTrustProvider[];
  NextToken?: string;
}
export declare const VolumeAttributeName: {
  readonly autoEnableIO: "autoEnableIO";
  readonly productCodes: "productCodes";
};
export type VolumeAttributeName =
  (typeof VolumeAttributeName)[keyof typeof VolumeAttributeName];
export interface DescribeVolumeAttributeRequest {
  Attribute: VolumeAttributeName | string | undefined;
  VolumeId: string | undefined;
  DryRun?: boolean;
}
export interface DescribeVolumeAttributeResult {
  AutoEnableIO?: AttributeBooleanValue;
  ProductCodes?: ProductCode[];
  VolumeId?: string;
}
export interface DescribeVolumesRequest {
  Filters?: Filter[];
  VolumeIds?: string[];
  DryRun?: boolean;
  MaxResults?: number;
  NextToken?: string;
}
export interface DescribeVolumesResult {
  Volumes?: Volume[];
  NextToken?: string;
}
export interface DescribeVolumesModificationsRequest {
  DryRun?: boolean;
  VolumeIds?: string[];
  Filters?: Filter[];
  NextToken?: string;
  MaxResults?: number;
}
export declare const VolumeModificationState: {
  readonly completed: "completed";
  readonly failed: "failed";
  readonly modifying: "modifying";
  readonly optimizing: "optimizing";
};
export type VolumeModificationState =
  (typeof VolumeModificationState)[keyof typeof VolumeModificationState];
export interface VolumeModification {
  VolumeId?: string;
  ModificationState?: VolumeModificationState | string;
  StatusMessage?: string;
  TargetSize?: number;
  TargetIops?: number;
  TargetVolumeType?: VolumeType | string;
  TargetThroughput?: number;
  TargetMultiAttachEnabled?: boolean;
  OriginalSize?: number;
  OriginalIops?: number;
  OriginalVolumeType?: VolumeType | string;
  OriginalThroughput?: number;
  OriginalMultiAttachEnabled?: boolean;
  Progress?: number;
  StartTime?: Date;
  EndTime?: Date;
}
export interface DescribeVolumesModificationsResult {
  VolumesModifications?: VolumeModification[];
  NextToken?: string;
}
export interface DescribeVolumeStatusRequest {
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
  VolumeIds?: string[];
  DryRun?: boolean;
}
export interface VolumeStatusAction {
  Code?: string;
  Description?: string;
  EventId?: string;
  EventType?: string;
}
export interface VolumeStatusAttachmentStatus {
  IoPerformance?: string;
  InstanceId?: string;
}
export interface VolumeStatusEvent {
  Description?: string;
  EventId?: string;
  EventType?: string;
  NotAfter?: Date;
  NotBefore?: Date;
  InstanceId?: string;
}
export declare const VolumeStatusName: {
  readonly io_enabled: "io-enabled";
  readonly io_performance: "io-performance";
};
export type VolumeStatusName =
  (typeof VolumeStatusName)[keyof typeof VolumeStatusName];
export interface VolumeStatusDetails {
  Name?: VolumeStatusName | string;
  Status?: string;
}
export declare const VolumeStatusInfoStatus: {
  readonly impaired: "impaired";
  readonly insufficient_data: "insufficient-data";
  readonly ok: "ok";
};
export type VolumeStatusInfoStatus =
  (typeof VolumeStatusInfoStatus)[keyof typeof VolumeStatusInfoStatus];
export interface VolumeStatusInfo {
  Details?: VolumeStatusDetails[];
  Status?: VolumeStatusInfoStatus | string;
}
export interface VolumeStatusItem {
  Actions?: VolumeStatusAction[];
  AvailabilityZone?: string;
  OutpostArn?: string;
  Events?: VolumeStatusEvent[];
  VolumeId?: string;
  VolumeStatus?: VolumeStatusInfo;
  AttachmentStatuses?: VolumeStatusAttachmentStatus[];
}
export interface DescribeVolumeStatusResult {
  NextToken?: string;
  VolumeStatuses?: VolumeStatusItem[];
}
export declare const VpcAttributeName: {
  readonly enableDnsHostnames: "enableDnsHostnames";
  readonly enableDnsSupport: "enableDnsSupport";
  readonly enableNetworkAddressUsageMetrics: "enableNetworkAddressUsageMetrics";
};
export type VpcAttributeName =
  (typeof VpcAttributeName)[keyof typeof VpcAttributeName];
export interface DescribeVpcAttributeRequest {
  Attribute: VpcAttributeName | string | undefined;
  VpcId: string | undefined;
  DryRun?: boolean;
}
export interface DescribeVpcAttributeResult {
  VpcId?: string;
  EnableDnsHostnames?: AttributeBooleanValue;
  EnableDnsSupport?: AttributeBooleanValue;
  EnableNetworkAddressUsageMetrics?: AttributeBooleanValue;
}
export interface DescribeVpcClassicLinkRequest {
  Filters?: Filter[];
  DryRun?: boolean;
  VpcIds?: string[];
}
export interface VpcClassicLink {
  ClassicLinkEnabled?: boolean;
  Tags?: Tag[];
  VpcId?: string;
}
export interface DescribeVpcClassicLinkResult {
  Vpcs?: VpcClassicLink[];
}
export interface DescribeVpcClassicLinkDnsSupportRequest {
  MaxResults?: number;
  NextToken?: string;
  VpcIds?: string[];
}
export interface ClassicLinkDnsSupport {
  ClassicLinkDnsSupported?: boolean;
  VpcId?: string;
}
export interface DescribeVpcClassicLinkDnsSupportResult {
  NextToken?: string;
  Vpcs?: ClassicLinkDnsSupport[];
}
export interface DescribeVpcEndpointConnectionNotificationsRequest {
  DryRun?: boolean;
  ConnectionNotificationId?: string;
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
}
export interface DescribeVpcEndpointConnectionNotificationsResult {
  ConnectionNotificationSet?: ConnectionNotification[];
  NextToken?: string;
}
export interface DescribeVpcEndpointConnectionsRequest {
  DryRun?: boolean;
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
}
export interface VpcEndpointConnection {
  ServiceId?: string;
  VpcEndpointId?: string;
  VpcEndpointOwner?: string;
  VpcEndpointState?: State | string;
  CreationTimestamp?: Date;
  DnsEntries?: DnsEntry[];
  NetworkLoadBalancerArns?: string[];
  GatewayLoadBalancerArns?: string[];
  IpAddressType?: IpAddressType | string;
  VpcEndpointConnectionId?: string;
  Tags?: Tag[];
}
export interface DescribeVpcEndpointConnectionsResult {
  VpcEndpointConnections?: VpcEndpointConnection[];
  NextToken?: string;
}
export interface DescribeVpcEndpointsRequest {
  DryRun?: boolean;
  VpcEndpointIds?: string[];
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
}
export interface DescribeVpcEndpointsResult {
  VpcEndpoints?: VpcEndpoint[];
  NextToken?: string;
}
export interface DescribeVpcEndpointServiceConfigurationsRequest {
  DryRun?: boolean;
  ServiceIds?: string[];
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
}
export interface DescribeVpcEndpointServiceConfigurationsResult {
  ServiceConfigurations?: ServiceConfiguration[];
  NextToken?: string;
}
export interface DescribeVpcEndpointServicePermissionsRequest {
  DryRun?: boolean;
  ServiceId: string | undefined;
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
}
export interface DescribeVpcEndpointServicePermissionsResult {
  AllowedPrincipals?: AllowedPrincipal[];
  NextToken?: string;
}
export interface DescribeVpcEndpointServicesRequest {
  DryRun?: boolean;
  ServiceNames?: string[];
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
}
export interface PrivateDnsDetails {
  PrivateDnsName?: string;
}
export interface ServiceDetail {
  ServiceName?: string;
  ServiceId?: string;
  ServiceType?: ServiceTypeDetail[];
  AvailabilityZones?: string[];
  Owner?: string;
  BaseEndpointDnsNames?: string[];
  PrivateDnsName?: string;
  PrivateDnsNames?: PrivateDnsDetails[];
  VpcEndpointPolicySupported?: boolean;
  AcceptanceRequired?: boolean;
  ManagesVpcEndpoints?: boolean;
  PayerResponsibility?: PayerResponsibility | string;
  Tags?: Tag[];
  PrivateDnsNameVerificationState?: DnsNameState | string;
  SupportedIpAddressTypes?: (ServiceConnectivityType | string)[];
}
export interface DescribeVpcEndpointServicesResult {
  ServiceNames?: string[];
  ServiceDetails?: ServiceDetail[];
  NextToken?: string;
}
export interface DescribeVpcPeeringConnectionsRequest {
  Filters?: Filter[];
  DryRun?: boolean;
  VpcPeeringConnectionIds?: string[];
  NextToken?: string;
  MaxResults?: number;
}
export interface DescribeVpcPeeringConnectionsResult {
  VpcPeeringConnections?: VpcPeeringConnection[];
  NextToken?: string;
}
export interface DescribeVpcsRequest {
  Filters?: Filter[];
  VpcIds?: string[];
  DryRun?: boolean;
  NextToken?: string;
  MaxResults?: number;
}
export interface DescribeVpcsResult {
  Vpcs?: Vpc[];
  NextToken?: string;
}
export interface DescribeVpnConnectionsRequest {
  Filters?: Filter[];
  VpnConnectionIds?: string[];
  DryRun?: boolean;
}
export interface DescribeVpnConnectionsResult {
  VpnConnections?: VpnConnection[];
}
export interface DescribeVpnGatewaysRequest {
  Filters?: Filter[];
  VpnGatewayIds?: string[];
  DryRun?: boolean;
}
export interface DescribeVpnGatewaysResult {
  VpnGateways?: VpnGateway[];
}
export interface DetachClassicLinkVpcRequest {
  DryRun?: boolean;
  InstanceId: string | undefined;
  VpcId: string | undefined;
}
export interface DetachClassicLinkVpcResult {
  Return?: boolean;
}
export interface DetachInternetGatewayRequest {
  DryRun?: boolean;
  InternetGatewayId: string | undefined;
  VpcId: string | undefined;
}
export interface DetachNetworkInterfaceRequest {
  AttachmentId: string | undefined;
  DryRun?: boolean;
  Force?: boolean;
}
export interface DetachVerifiedAccessTrustProviderRequest {
  VerifiedAccessInstanceId: string | undefined;
  VerifiedAccessTrustProviderId: string | undefined;
  ClientToken?: string;
  DryRun?: boolean;
}
export interface DetachVerifiedAccessTrustProviderResult {
  VerifiedAccessTrustProvider?: VerifiedAccessTrustProvider;
  VerifiedAccessInstance?: VerifiedAccessInstance;
}
export interface DetachVolumeRequest {
  Device?: string;
  Force?: boolean;
  InstanceId?: string;
  VolumeId: string | undefined;
  DryRun?: boolean;
}
export interface DetachVpnGatewayRequest {
  VpcId: string | undefined;
  VpnGatewayId: string | undefined;
  DryRun?: boolean;
}
export interface DisableAddressTransferRequest {
  AllocationId: string | undefined;
  DryRun?: boolean;
}
export interface DisableAddressTransferResult {
  AddressTransfer?: AddressTransfer;
}
export interface DisableAwsNetworkPerformanceMetricSubscriptionRequest {
  Source?: string;
  Destination?: string;
  Metric?: MetricType | string;
  Statistic?: StatisticType | string;
  DryRun?: boolean;
}
export interface DisableAwsNetworkPerformanceMetricSubscriptionResult {
  Output?: boolean;
}
export interface DisableEbsEncryptionByDefaultRequest {
  DryRun?: boolean;
}
export interface DisableEbsEncryptionByDefaultResult {
  EbsEncryptionByDefault?: boolean;
}
export interface DisableFastLaunchRequest {
  ImageId: string | undefined;
  Force?: boolean;
  DryRun?: boolean;
}
export interface DisableFastLaunchResult {
  ImageId?: string;
  ResourceType?: FastLaunchResourceType | string;
  SnapshotConfiguration?: FastLaunchSnapshotConfigurationResponse;
  LaunchTemplate?: FastLaunchLaunchTemplateSpecificationResponse;
  MaxParallelLaunches?: number;
  OwnerId?: string;
  State?: FastLaunchStateCode | string;
  StateTransitionReason?: string;
  StateTransitionTime?: Date;
}
export interface DisableFastSnapshotRestoresRequest {
  AvailabilityZones: string[] | undefined;
  SourceSnapshotIds: string[] | undefined;
  DryRun?: boolean;
}
export interface DisableFastSnapshotRestoreSuccessItem {
  SnapshotId?: string;
  AvailabilityZone?: string;
  State?: FastSnapshotRestoreStateCode | string;
  StateTransitionReason?: string;
  OwnerId?: string;
  OwnerAlias?: string;
  EnablingTime?: Date;
  OptimizingTime?: Date;
  EnabledTime?: Date;
  DisablingTime?: Date;
  DisabledTime?: Date;
}
export interface DisableFastSnapshotRestoreStateError {
  Code?: string;
  Message?: string;
}
export interface DisableFastSnapshotRestoreStateErrorItem {
  AvailabilityZone?: string;
  Error?: DisableFastSnapshotRestoreStateError;
}
export interface DisableFastSnapshotRestoreErrorItem {
  SnapshotId?: string;
  FastSnapshotRestoreStateErrors?: DisableFastSnapshotRestoreStateErrorItem[];
}
export interface DisableFastSnapshotRestoresResult {
  Successful?: DisableFastSnapshotRestoreSuccessItem[];
  Unsuccessful?: DisableFastSnapshotRestoreErrorItem[];
}
export interface DisableImageDeprecationRequest {
  ImageId: string | undefined;
  DryRun?: boolean;
}
export interface DisableImageDeprecationResult {
  Return?: boolean;
}
export interface DisableIpamOrganizationAdminAccountRequest {
  DryRun?: boolean;
  DelegatedAdminAccountId: string | undefined;
}
export interface DisableIpamOrganizationAdminAccountResult {
  Success?: boolean;
}
export interface DisableSerialConsoleAccessRequest {
  DryRun?: boolean;
}
export interface DisableSerialConsoleAccessResult {
  SerialConsoleAccessEnabled?: boolean;
}
export interface DisableTransitGatewayRouteTablePropagationRequest {
  TransitGatewayRouteTableId: string | undefined;
  TransitGatewayAttachmentId?: string;
  DryRun?: boolean;
  TransitGatewayRouteTableAnnouncementId?: string;
}
export declare const TransitGatewayPropagationState: {
  readonly disabled: "disabled";
  readonly disabling: "disabling";
  readonly enabled: "enabled";
  readonly enabling: "enabling";
};
export type TransitGatewayPropagationState =
  (typeof TransitGatewayPropagationState)[keyof typeof TransitGatewayPropagationState];
export interface TransitGatewayPropagation {
  TransitGatewayAttachmentId?: string;
  ResourceId?: string;
  ResourceType?: TransitGatewayAttachmentResourceType | string;
  TransitGatewayRouteTableId?: string;
  State?: TransitGatewayPropagationState | string;
  TransitGatewayRouteTableAnnouncementId?: string;
}
export interface DisableTransitGatewayRouteTablePropagationResult {
  Propagation?: TransitGatewayPropagation;
}
export interface DisableVgwRoutePropagationRequest {
  GatewayId: string | undefined;
  RouteTableId: string | undefined;
  DryRun?: boolean;
}
export interface DisableVpcClassicLinkRequest {
  DryRun?: boolean;
  VpcId: string | undefined;
}
export interface DisableVpcClassicLinkResult {
  Return?: boolean;
}
export interface DisableVpcClassicLinkDnsSupportRequest {
  VpcId?: string;
}
export interface DisableVpcClassicLinkDnsSupportResult {
  Return?: boolean;
}
export interface DisassociateAddressRequest {
  AssociationId?: string;
  PublicIp?: string;
  DryRun?: boolean;
}
export interface DisassociateClientVpnTargetNetworkRequest {
  ClientVpnEndpointId: string | undefined;
  AssociationId: string | undefined;
  DryRun?: boolean;
}
export interface DisassociateClientVpnTargetNetworkResult {
  AssociationId?: string;
  Status?: AssociationStatus;
}
export interface DisassociateEnclaveCertificateIamRoleRequest {
  CertificateArn: string | undefined;
  RoleArn: string | undefined;
  DryRun?: boolean;
}
export interface DisassociateEnclaveCertificateIamRoleResult {
  Return?: boolean;
}
export interface DisassociateIamInstanceProfileRequest {
  AssociationId: string | undefined;
}
export interface DisassociateIamInstanceProfileResult {
  IamInstanceProfileAssociation?: IamInstanceProfileAssociation;
}
export interface InstanceEventWindowDisassociationRequest {
  InstanceIds?: string[];
  InstanceTags?: Tag[];
  DedicatedHostIds?: string[];
}
export interface DisassociateInstanceEventWindowRequest {
  DryRun?: boolean;
  InstanceEventWindowId: string | undefined;
  AssociationTarget: InstanceEventWindowDisassociationRequest | undefined;
}
export interface DisassociateInstanceEventWindowResult {
  InstanceEventWindow?: InstanceEventWindow;
}
export interface DisassociateIpamResourceDiscoveryRequest {
  DryRun?: boolean;
  IpamResourceDiscoveryAssociationId: string | undefined;
}
export interface DisassociateIpamResourceDiscoveryResult {
  IpamResourceDiscoveryAssociation?: IpamResourceDiscoveryAssociation;
}
export interface DisassociateNatGatewayAddressRequest {
  NatGatewayId: string | undefined;
  AssociationIds: string[] | undefined;
  MaxDrainDurationSeconds?: number;
  DryRun?: boolean;
}
export interface DisassociateNatGatewayAddressResult {
  NatGatewayId?: string;
  NatGatewayAddresses?: NatGatewayAddress[];
}
export interface DisassociateRouteTableRequest {
  AssociationId: string | undefined;
  DryRun?: boolean;
}
export interface DisassociateSubnetCidrBlockRequest {
  AssociationId: string | undefined;
}
export interface DisassociateSubnetCidrBlockResult {
  Ipv6CidrBlockAssociation?: SubnetIpv6CidrBlockAssociation;
  SubnetId?: string;
}
export interface DisassociateTransitGatewayMulticastDomainRequest {
  TransitGatewayMulticastDomainId: string | undefined;
  TransitGatewayAttachmentId: string | undefined;
  SubnetIds: string[] | undefined;
  DryRun?: boolean;
}
export interface DisassociateTransitGatewayMulticastDomainResult {
  Associations?: TransitGatewayMulticastDomainAssociations;
}
export interface DisassociateTransitGatewayPolicyTableRequest {
  TransitGatewayPolicyTableId: string | undefined;
  TransitGatewayAttachmentId: string | undefined;
  DryRun?: boolean;
}
export interface DisassociateTransitGatewayPolicyTableResult {
  Association?: TransitGatewayPolicyTableAssociation;
}
export interface DisassociateTransitGatewayRouteTableRequest {
  TransitGatewayRouteTableId: string | undefined;
  TransitGatewayAttachmentId: string | undefined;
  DryRun?: boolean;
}
export interface DisassociateTransitGatewayRouteTableResult {
  Association?: TransitGatewayAssociation;
}
export interface DisassociateTrunkInterfaceRequest {
  AssociationId: string | undefined;
  ClientToken?: string;
  DryRun?: boolean;
}
export interface DisassociateTrunkInterfaceResult {
  Return?: boolean;
  ClientToken?: string;
}
export interface DisassociateVpcCidrBlockRequest {
  AssociationId: string | undefined;
}
export interface DisassociateVpcCidrBlockResult {
  Ipv6CidrBlockAssociation?: VpcIpv6CidrBlockAssociation;
  CidrBlockAssociation?: VpcCidrBlockAssociation;
  VpcId?: string;
}
export interface EnableAddressTransferRequest {
  AllocationId: string | undefined;
  TransferAccountId: string | undefined;
  DryRun?: boolean;
}
export interface EnableAddressTransferResult {
  AddressTransfer?: AddressTransfer;
}
export interface EnableAwsNetworkPerformanceMetricSubscriptionRequest {
  Source?: string;
  Destination?: string;
  Metric?: MetricType | string;
  Statistic?: StatisticType | string;
  DryRun?: boolean;
}
export interface EnableAwsNetworkPerformanceMetricSubscriptionResult {
  Output?: boolean;
}
export interface EnableEbsEncryptionByDefaultRequest {
  DryRun?: boolean;
}
export interface EnableEbsEncryptionByDefaultResult {
  EbsEncryptionByDefault?: boolean;
}
export interface FastLaunchLaunchTemplateSpecificationRequest {
  LaunchTemplateId?: string;
  LaunchTemplateName?: string;
  Version: string | undefined;
}
export interface FastLaunchSnapshotConfigurationRequest {
  TargetResourceCount?: number;
}
export interface EnableFastLaunchRequest {
  ImageId: string | undefined;
  ResourceType?: string;
  SnapshotConfiguration?: FastLaunchSnapshotConfigurationRequest;
  LaunchTemplate?: FastLaunchLaunchTemplateSpecificationRequest;
  MaxParallelLaunches?: number;
  DryRun?: boolean;
}
export interface EnableFastLaunchResult {
  ImageId?: string;
  ResourceType?: FastLaunchResourceType | string;
  SnapshotConfiguration?: FastLaunchSnapshotConfigurationResponse;
  LaunchTemplate?: FastLaunchLaunchTemplateSpecificationResponse;
  MaxParallelLaunches?: number;
  OwnerId?: string;
  State?: FastLaunchStateCode | string;
  StateTransitionReason?: string;
  StateTransitionTime?: Date;
}
export interface EnableFastSnapshotRestoresRequest {
  AvailabilityZones: string[] | undefined;
  SourceSnapshotIds: string[] | undefined;
  DryRun?: boolean;
}
export interface EnableFastSnapshotRestoreSuccessItem {
  SnapshotId?: string;
  AvailabilityZone?: string;
  State?: FastSnapshotRestoreStateCode | string;
  StateTransitionReason?: string;
  OwnerId?: string;
  OwnerAlias?: string;
  EnablingTime?: Date;
  OptimizingTime?: Date;
  EnabledTime?: Date;
  DisablingTime?: Date;
  DisabledTime?: Date;
}
export interface EnableFastSnapshotRestoreStateError {
  Code?: string;
  Message?: string;
}
export interface EnableFastSnapshotRestoreStateErrorItem {
  AvailabilityZone?: string;
  Error?: EnableFastSnapshotRestoreStateError;
}
export interface EnableFastSnapshotRestoreErrorItem {
  SnapshotId?: string;
  FastSnapshotRestoreStateErrors?: EnableFastSnapshotRestoreStateErrorItem[];
}
export interface EnableFastSnapshotRestoresResult {
  Successful?: EnableFastSnapshotRestoreSuccessItem[];
  Unsuccessful?: EnableFastSnapshotRestoreErrorItem[];
}
export interface EnableImageDeprecationRequest {
  ImageId: string | undefined;
  DeprecateAt: Date | undefined;
  DryRun?: boolean;
}
export interface EnableImageDeprecationResult {
  Return?: boolean;
}
export interface EnableIpamOrganizationAdminAccountRequest {
  DryRun?: boolean;
  DelegatedAdminAccountId: string | undefined;
}
export interface EnableIpamOrganizationAdminAccountResult {
  Success?: boolean;
}
export interface EnableReachabilityAnalyzerOrganizationSharingRequest {
  DryRun?: boolean;
}
export interface EnableReachabilityAnalyzerOrganizationSharingResult {
  ReturnValue?: boolean;
}
export interface EnableSerialConsoleAccessRequest {
  DryRun?: boolean;
}
export interface EnableSerialConsoleAccessResult {
  SerialConsoleAccessEnabled?: boolean;
}
export interface EnableTransitGatewayRouteTablePropagationRequest {
  TransitGatewayRouteTableId: string | undefined;
  TransitGatewayAttachmentId?: string;
  DryRun?: boolean;
  TransitGatewayRouteTableAnnouncementId?: string;
}
export interface EnableTransitGatewayRouteTablePropagationResult {
  Propagation?: TransitGatewayPropagation;
}
export interface EnableVgwRoutePropagationRequest {
  GatewayId: string | undefined;
  RouteTableId: string | undefined;
  DryRun?: boolean;
}
export interface EnableVolumeIORequest {
  DryRun?: boolean;
  VolumeId: string | undefined;
}
export interface EnableVpcClassicLinkRequest {
  DryRun?: boolean;
  VpcId: string | undefined;
}
export interface EnableVpcClassicLinkResult {
  Return?: boolean;
}
export interface EnableVpcClassicLinkDnsSupportRequest {
  VpcId?: string;
}
export interface EnableVpcClassicLinkDnsSupportResult {
  Return?: boolean;
}
export interface ExportClientVpnClientCertificateRevocationListRequest {
  ClientVpnEndpointId: string | undefined;
  DryRun?: boolean;
}
export declare const ClientCertificateRevocationListStatusCode: {
  readonly active: "active";
  readonly pending: "pending";
};
export type ClientCertificateRevocationListStatusCode =
  (typeof ClientCertificateRevocationListStatusCode)[keyof typeof ClientCertificateRevocationListStatusCode];
export interface ClientCertificateRevocationListStatus {
  Code?: ClientCertificateRevocationListStatusCode | string;
  Message?: string;
}
export interface ExportClientVpnClientCertificateRevocationListResult {
  CertificateRevocationList?: string;
  Status?: ClientCertificateRevocationListStatus;
}
export interface ExportClientVpnClientConfigurationRequest {
  ClientVpnEndpointId: string | undefined;
  DryRun?: boolean;
}
export interface ExportClientVpnClientConfigurationResult {
  ClientConfiguration?: string;
}
export interface ExportTaskS3LocationRequest {
  S3Bucket: string | undefined;
  S3Prefix?: string;
}
export interface ExportImageRequest {
  ClientToken?: string;
  Description?: string;
  DiskImageFormat: DiskImageFormat | string | undefined;
  DryRun?: boolean;
  ImageId: string | undefined;
  S3ExportLocation: ExportTaskS3LocationRequest | undefined;
  RoleName?: string;
  TagSpecifications?: TagSpecification[];
}
export interface ExportImageResult {
  Description?: string;
  DiskImageFormat?: DiskImageFormat | string;
  ExportImageTaskId?: string;
  ImageId?: string;
  RoleName?: string;
  Progress?: string;
  S3ExportLocation?: ExportTaskS3Location;
  Status?: string;
  StatusMessage?: string;
  Tags?: Tag[];
}
export interface ExportTransitGatewayRoutesRequest {
  TransitGatewayRouteTableId: string | undefined;
  Filters?: Filter[];
  S3Bucket: string | undefined;
  DryRun?: boolean;
}
export interface ExportTransitGatewayRoutesResult {
  S3Location?: string;
}
export interface GetAssociatedEnclaveCertificateIamRolesRequest {
  CertificateArn: string | undefined;
  DryRun?: boolean;
}
export interface AssociatedRole {
  AssociatedRoleArn?: string;
  CertificateS3BucketName?: string;
  CertificateS3ObjectKey?: string;
  EncryptionKmsKeyId?: string;
}
export interface GetAssociatedEnclaveCertificateIamRolesResult {
  AssociatedRoles?: AssociatedRole[];
}
export interface GetAssociatedIpv6PoolCidrsRequest {
  PoolId: string | undefined;
  NextToken?: string;
  MaxResults?: number;
  DryRun?: boolean;
}
export interface Ipv6CidrAssociation {
  Ipv6Cidr?: string;
  AssociatedResource?: string;
}
export interface GetAssociatedIpv6PoolCidrsResult {
  Ipv6CidrAssociations?: Ipv6CidrAssociation[];
  NextToken?: string;
}
export interface DataQuery {
  Id?: string;
  Source?: string;
  Destination?: string;
  Metric?: MetricType | string;
  Statistic?: StatisticType | string;
  Period?: PeriodType | string;
}
export interface GetAwsNetworkPerformanceDataRequest {
  DataQueries?: DataQuery[];
  StartTime?: Date;
  EndTime?: Date;
  MaxResults?: number;
  NextToken?: string;
  DryRun?: boolean;
}
export interface MetricPoint {
  StartDate?: Date;
  EndDate?: Date;
  Value?: number;
  Status?: string;
}
export interface DataResponse {
  Id?: string;
  Source?: string;
  Destination?: string;
  Metric?: MetricType | string;
  Statistic?: StatisticType | string;
  Period?: PeriodType | string;
  MetricPoints?: MetricPoint[];
}
export interface GetAwsNetworkPerformanceDataResult {
  DataResponses?: DataResponse[];
  NextToken?: string;
}
export interface GetCapacityReservationUsageRequest {
  CapacityReservationId: string | undefined;
  NextToken?: string;
  MaxResults?: number;
  DryRun?: boolean;
}
export interface InstanceUsage {
  AccountId?: string;
  UsedInstanceCount?: number;
}
export interface GetCapacityReservationUsageResult {
  NextToken?: string;
  CapacityReservationId?: string;
  InstanceType?: string;
  TotalInstanceCount?: number;
  AvailableInstanceCount?: number;
  State?: CapacityReservationState | string;
  InstanceUsages?: InstanceUsage[];
}
export interface GetCoipPoolUsageRequest {
  PoolId: string | undefined;
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
  DryRun?: boolean;
}
export interface CoipAddressUsage {
  AllocationId?: string;
  AwsAccountId?: string;
  AwsService?: string;
  CoIp?: string;
}
export interface GetCoipPoolUsageResult {
  CoipPoolId?: string;
  CoipAddressUsages?: CoipAddressUsage[];
  LocalGatewayRouteTableId?: string;
}
export interface GetConsoleOutputRequest {
  InstanceId: string | undefined;
  DryRun?: boolean;
  Latest?: boolean;
}
export interface GetConsoleOutputResult {
  InstanceId?: string;
  Output?: string;
  Timestamp?: Date;
}
export interface GetConsoleScreenshotRequest {
  DryRun?: boolean;
  InstanceId: string | undefined;
  WakeUp?: boolean;
}
export interface GetConsoleScreenshotResult {
  ImageData?: string;
  InstanceId?: string;
}
export declare const UnlimitedSupportedInstanceFamily: {
  readonly t2: "t2";
  readonly t3: "t3";
  readonly t3a: "t3a";
  readonly t4g: "t4g";
};
export type UnlimitedSupportedInstanceFamily =
  (typeof UnlimitedSupportedInstanceFamily)[keyof typeof UnlimitedSupportedInstanceFamily];
export interface GetDefaultCreditSpecificationRequest {
  DryRun?: boolean;
  InstanceFamily: UnlimitedSupportedInstanceFamily | string | undefined;
}
export interface InstanceFamilyCreditSpecification {
  InstanceFamily?: UnlimitedSupportedInstanceFamily | string;
  CpuCredits?: string;
}
export interface GetDefaultCreditSpecificationResult {
  InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification;
}
export interface GetEbsDefaultKmsKeyIdRequest {
  DryRun?: boolean;
}
export interface GetEbsDefaultKmsKeyIdResult {
  KmsKeyId?: string;
}
export interface GetEbsEncryptionByDefaultRequest {
  DryRun?: boolean;
}
export interface GetEbsEncryptionByDefaultResult {
  EbsEncryptionByDefault?: boolean;
  SseType?: SSEType | string;
}
export declare const PartitionLoadFrequency: {
  readonly DAILY: "daily";
  readonly MONTHLY: "monthly";
  readonly NONE: "none";
  readonly WEEKLY: "weekly";
};
export type PartitionLoadFrequency =
  (typeof PartitionLoadFrequency)[keyof typeof PartitionLoadFrequency];
export interface AthenaIntegration {
  IntegrationResultS3DestinationArn: string | undefined;
  PartitionLoadFrequency: PartitionLoadFrequency | string | undefined;
  PartitionStartDate?: Date;
  PartitionEndDate?: Date;
}
export interface IntegrateServices {
  AthenaIntegrations?: AthenaIntegration[];
}
export interface GetFlowLogsIntegrationTemplateRequest {
  DryRun?: boolean;
  FlowLogId: string | undefined;
  ConfigDeliveryS3DestinationArn: string | undefined;
  IntegrateServices: IntegrateServices | undefined;
}
export interface GetFlowLogsIntegrationTemplateResult {
  Result?: string;
}
export interface GetGroupsForCapacityReservationRequest {
  CapacityReservationId: string | undefined;
  NextToken?: string;
  MaxResults?: number;
  DryRun?: boolean;
}
export interface CapacityReservationGroup {
  GroupArn?: string;
  OwnerId?: string;
}
export interface GetGroupsForCapacityReservationResult {
  NextToken?: string;
  CapacityReservationGroups?: CapacityReservationGroup[];
}
export interface GetHostReservationPurchasePreviewRequest {
  HostIdSet: string[] | undefined;
  OfferingId: string | undefined;
}
export interface Purchase {
  CurrencyCode?: CurrencyCodeValues | string;
  Duration?: number;
  HostIdSet?: string[];
  HostReservationId?: string;
  HourlyPrice?: string;
  InstanceFamily?: string;
  PaymentOption?: PaymentOption | string;
  UpfrontPrice?: string;
}
export interface GetHostReservationPurchasePreviewResult {
  CurrencyCode?: CurrencyCodeValues | string;
  Purchase?: Purchase[];
  TotalHourlyPrice?: string;
  TotalUpfrontPrice?: string;
}
export interface GetInstanceTypesFromInstanceRequirementsRequest {
  DryRun?: boolean;
  ArchitectureTypes: (ArchitectureType | string)[] | undefined;
  VirtualizationTypes: (VirtualizationType | string)[] | undefined;
  InstanceRequirements: InstanceRequirementsRequest | undefined;
  MaxResults?: number;
  NextToken?: string;
}
export interface InstanceTypeInfoFromInstanceRequirements {
  InstanceType?: string;
}
export interface GetInstanceTypesFromInstanceRequirementsResult {
  InstanceTypes?: InstanceTypeInfoFromInstanceRequirements[];
  NextToken?: string;
}
export interface GetInstanceUefiDataRequest {
  InstanceId: string | undefined;
  DryRun?: boolean;
}
export interface GetInstanceUefiDataResult {
  InstanceId?: string;
  UefiData?: string;
}
export interface GetIpamAddressHistoryRequest {
  DryRun?: boolean;
  Cidr: string | undefined;
  IpamScopeId: string | undefined;
  VpcId?: string;
  StartTime?: Date;
  EndTime?: Date;
  MaxResults?: number;
  NextToken?: string;
}
export declare const IpamComplianceStatus: {
  readonly compliant: "compliant";
  readonly ignored: "ignored";
  readonly noncompliant: "noncompliant";
  readonly unmanaged: "unmanaged";
};
export type IpamComplianceStatus =
  (typeof IpamComplianceStatus)[keyof typeof IpamComplianceStatus];
export declare const IpamOverlapStatus: {
  readonly ignored: "ignored";
  readonly nonoverlapping: "nonoverlapping";
  readonly overlapping: "overlapping";
};
export type IpamOverlapStatus =
  (typeof IpamOverlapStatus)[keyof typeof IpamOverlapStatus];
export declare const IpamAddressHistoryResourceType: {
  readonly eip: "eip";
  readonly instance: "instance";
  readonly network_interface: "network-interface";
  readonly subnet: "subnet";
  readonly vpc: "vpc";
};
export type IpamAddressHistoryResourceType =
  (typeof IpamAddressHistoryResourceType)[keyof typeof IpamAddressHistoryResourceType];
export interface IpamAddressHistoryRecord {
  ResourceOwnerId?: string;
  ResourceRegion?: string;
  ResourceType?: IpamAddressHistoryResourceType | string;
  ResourceId?: string;
  ResourceCidr?: string;
  ResourceName?: string;
  ResourceComplianceStatus?: IpamComplianceStatus | string;
  ResourceOverlapStatus?: IpamOverlapStatus | string;
  VpcId?: string;
  SampledStartTime?: Date;
  SampledEndTime?: Date;
}
export interface GetIpamAddressHistoryResult {
  HistoryRecords?: IpamAddressHistoryRecord[];
  NextToken?: string;
}
export interface GetIpamDiscoveredAccountsRequest {
  DryRun?: boolean;
  IpamResourceDiscoveryId: string | undefined;
  DiscoveryRegion: string | undefined;
  Filters?: Filter[];
  NextToken?: string;
  MaxResults?: number;
}
export declare const IpamDiscoveryFailureCode: {
  readonly assume_role_failure: "assume-role-failure";
  readonly throttling_failure: "throttling-failure";
  readonly unauthorized_failure: "unauthorized-failure";
};
export type IpamDiscoveryFailureCode =
  (typeof IpamDiscoveryFailureCode)[keyof typeof IpamDiscoveryFailureCode];
export interface IpamDiscoveryFailureReason {
  Code?: IpamDiscoveryFailureCode | string;
  Message?: string;
}
export interface IpamDiscoveredAccount {
  AccountId?: string;
  DiscoveryRegion?: string;
  FailureReason?: IpamDiscoveryFailureReason;
  LastAttemptedDiscoveryTime?: Date;
  LastSuccessfulDiscoveryTime?: Date;
}
export interface GetIpamDiscoveredAccountsResult {
  IpamDiscoveredAccounts?: IpamDiscoveredAccount[];
  NextToken?: string;
}
export interface GetIpamDiscoveredResourceCidrsRequest {
  DryRun?: boolean;
  IpamResourceDiscoveryId: string | undefined;
  ResourceRegion: string | undefined;
  Filters?: Filter[];
  NextToken?: string;
  MaxResults?: number;
}
export declare const IpamResourceType: {
  readonly eip: "eip";
  readonly ipv6_pool: "ipv6-pool";
  readonly public_ipv4_pool: "public-ipv4-pool";
  readonly subnet: "subnet";
  readonly vpc: "vpc";
};
export type IpamResourceType =
  (typeof IpamResourceType)[keyof typeof IpamResourceType];
export interface IpamDiscoveredResourceCidr {
  IpamResourceDiscoveryId?: string;
  ResourceRegion?: string;
  ResourceId?: string;
  ResourceOwnerId?: string;
  ResourceCidr?: string;
  ResourceType?: IpamResourceType | string;
  ResourceTags?: IpamResourceTag[];
  IpUsage?: number;
  VpcId?: string;
  SampleTime?: Date;
}
export interface GetIpamDiscoveredResourceCidrsResult {
  IpamDiscoveredResourceCidrs?: IpamDiscoveredResourceCidr[];
  NextToken?: string;
}
export interface GetIpamPoolAllocationsRequest {
  DryRun?: boolean;
  IpamPoolId: string | undefined;
  IpamPoolAllocationId?: string;
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
}
export interface GetIpamPoolAllocationsResult {
  IpamPoolAllocations?: IpamPoolAllocation[];
  NextToken?: string;
}
export interface GetIpamPoolCidrsRequest {
  DryRun?: boolean;
  IpamPoolId: string | undefined;
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
}
export interface GetIpamPoolCidrsResult {
  IpamPoolCidrs?: IpamPoolCidr[];
  NextToken?: string;
}
export interface GetIpamResourceCidrsRequest {
  DryRun?: boolean;
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
  IpamScopeId: string | undefined;
  IpamPoolId?: string;
  ResourceId?: string;
  ResourceType?: IpamResourceType | string;
  ResourceTag?: RequestIpamResourceTag;
  ResourceOwner?: string;
}
export declare const IpamManagementState: {
  readonly ignored: "ignored";
  readonly managed: "managed";
  readonly unmanaged: "unmanaged";
};
export type IpamManagementState =
  (typeof IpamManagementState)[keyof typeof IpamManagementState];
export interface IpamResourceCidr {
  IpamId?: string;
  IpamScopeId?: string;
  IpamPoolId?: string;
  ResourceRegion?: string;
  ResourceOwnerId?: string;
  ResourceId?: string;
  ResourceName?: string;
  ResourceCidr?: string;
  ResourceType?: IpamResourceType | string;
  ResourceTags?: IpamResourceTag[];
  IpUsage?: number;
  ComplianceStatus?: IpamComplianceStatus | string;
  ManagementState?: IpamManagementState | string;
  OverlapStatus?: IpamOverlapStatus | string;
  VpcId?: string;
}
export interface GetIpamResourceCidrsResult {
  NextToken?: string;
  IpamResourceCidrs?: IpamResourceCidr[];
}
export interface GetLaunchTemplateDataRequest {
  DryRun?: boolean;
  InstanceId: string | undefined;
}
export interface GetLaunchTemplateDataResult {
  LaunchTemplateData?: ResponseLaunchTemplateData;
}
export interface GetManagedPrefixListAssociationsRequest {
  DryRun?: boolean;
  PrefixListId: string | undefined;
  MaxResults?: number;
  NextToken?: string;
}
export interface PrefixListAssociation {
  ResourceId?: string;
  ResourceOwner?: string;
}
export interface GetManagedPrefixListAssociationsResult {
  PrefixListAssociations?: PrefixListAssociation[];
  NextToken?: string;
}
export interface GetManagedPrefixListEntriesRequest {
  DryRun?: boolean;
  PrefixListId: string | undefined;
  TargetVersion?: number;
  MaxResults?: number;
  NextToken?: string;
}
export interface PrefixListEntry {
  Cidr?: string;
  Description?: string;
}
export interface GetManagedPrefixListEntriesResult {
  Entries?: PrefixListEntry[];
  NextToken?: string;
}
export interface GetNetworkInsightsAccessScopeAnalysisFindingsRequest {
  NetworkInsightsAccessScopeAnalysisId: string | undefined;
  MaxResults?: number;
  NextToken?: string;
  DryRun?: boolean;
}
export interface GetNetworkInsightsAccessScopeAnalysisFindingsResult {
  NetworkInsightsAccessScopeAnalysisId?: string;
  AnalysisStatus?: AnalysisStatus | string;
  AnalysisFindings?: AccessScopeAnalysisFinding[];
  NextToken?: string;
}
export interface GetNetworkInsightsAccessScopeContentRequest {
  NetworkInsightsAccessScopeId: string | undefined;
  DryRun?: boolean;
}
export interface GetNetworkInsightsAccessScopeContentResult {
  NetworkInsightsAccessScopeContent?: NetworkInsightsAccessScopeContent;
}
export interface GetPasswordDataRequest {
  InstanceId: string | undefined;
  DryRun?: boolean;
}
export interface GetPasswordDataResult {
  InstanceId?: string;
  PasswordData?: string;
  Timestamp?: Date;
}
export interface GetReservedInstancesExchangeQuoteRequest {
  DryRun?: boolean;
  ReservedInstanceIds: string[] | undefined;
  TargetConfigurations?: TargetConfigurationRequest[];
}
export interface ReservationValue {
  HourlyPrice?: string;
  RemainingTotalValue?: string;
  RemainingUpfrontValue?: string;
}
export interface ReservedInstanceReservationValue {
  ReservationValue?: ReservationValue;
  ReservedInstanceId?: string;
}
export interface TargetConfiguration {
  InstanceCount?: number;
  OfferingId?: string;
}
export interface TargetReservationValue {
  ReservationValue?: ReservationValue;
  TargetConfiguration?: TargetConfiguration;
}
export interface GetReservedInstancesExchangeQuoteResult {
  CurrencyCode?: string;
  IsValidExchange?: boolean;
  OutputReservedInstancesWillExpireAt?: Date;
  PaymentDue?: string;
  ReservedInstanceValueRollup?: ReservationValue;
  ReservedInstanceValueSet?: ReservedInstanceReservationValue[];
  TargetConfigurationValueRollup?: ReservationValue;
  TargetConfigurationValueSet?: TargetReservationValue[];
  ValidationFailureReason?: string;
}
export interface GetSerialConsoleAccessStatusRequest {
  DryRun?: boolean;
}
export interface GetSerialConsoleAccessStatusResult {
  SerialConsoleAccessEnabled?: boolean;
}
export interface InstanceRequirementsWithMetadataRequest {
  ArchitectureTypes?: (ArchitectureType | string)[];
  VirtualizationTypes?: (VirtualizationType | string)[];
  InstanceRequirements?: InstanceRequirementsRequest;
}
export interface GetSpotPlacementScoresRequest {
  InstanceTypes?: string[];
  TargetCapacity: number | undefined;
  TargetCapacityUnitType?: TargetCapacityUnitType | string;
  SingleAvailabilityZone?: boolean;
  RegionNames?: string[];
  InstanceRequirementsWithMetadata?: InstanceRequirementsWithMetadataRequest;
  DryRun?: boolean;
  MaxResults?: number;
  NextToken?: string;
}
export interface SpotPlacementScore {
  Region?: string;
  AvailabilityZoneId?: string;
  Score?: number;
}
export interface GetSpotPlacementScoresResult {
  SpotPlacementScores?: SpotPlacementScore[];
  NextToken?: string;
}
export interface GetSubnetCidrReservationsRequest {
  Filters?: Filter[];
  SubnetId: string | undefined;
  DryRun?: boolean;
  NextToken?: string;
  MaxResults?: number;
}
export interface GetSubnetCidrReservationsResult {
  SubnetIpv4CidrReservations?: SubnetCidrReservation[];
  SubnetIpv6CidrReservations?: SubnetCidrReservation[];
  NextToken?: string;
}
export interface GetTransitGatewayAttachmentPropagationsRequest {
  TransitGatewayAttachmentId: string | undefined;
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
  DryRun?: boolean;
}
export interface TransitGatewayAttachmentPropagation {
  TransitGatewayRouteTableId?: string;
  State?: TransitGatewayPropagationState | string;
}
export interface GetTransitGatewayAttachmentPropagationsResult {
  TransitGatewayAttachmentPropagations?: TransitGatewayAttachmentPropagation[];
  NextToken?: string;
}
export interface GetTransitGatewayMulticastDomainAssociationsRequest {
  TransitGatewayMulticastDomainId: string | undefined;
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
  DryRun?: boolean;
}
export interface TransitGatewayMulticastDomainAssociation {
  TransitGatewayAttachmentId?: string;
  ResourceId?: string;
  ResourceType?: TransitGatewayAttachmentResourceType | string;
  ResourceOwnerId?: string;
  Subnet?: SubnetAssociation;
}
export interface GetTransitGatewayMulticastDomainAssociationsResult {
  MulticastDomainAssociations?: TransitGatewayMulticastDomainAssociation[];
  NextToken?: string;
}
export interface GetTransitGatewayPolicyTableAssociationsRequest {
  TransitGatewayPolicyTableId: string | undefined;
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
  DryRun?: boolean;
}
export interface GetTransitGatewayPolicyTableAssociationsResult {
  Associations?: TransitGatewayPolicyTableAssociation[];
  NextToken?: string;
}
export interface GetTransitGatewayPolicyTableEntriesRequest {
  TransitGatewayPolicyTableId: string | undefined;
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
  DryRun?: boolean;
}
export interface TransitGatewayPolicyRuleMetaData {
  MetaDataKey?: string;
  MetaDataValue?: string;
}
export interface TransitGatewayPolicyRule {
  SourceCidrBlock?: string;
  SourcePortRange?: string;
  DestinationCidrBlock?: string;
  DestinationPortRange?: string;
  Protocol?: string;
  MetaData?: TransitGatewayPolicyRuleMetaData;
}
export interface TransitGatewayPolicyTableEntry {
  PolicyRuleNumber?: string;
  PolicyRule?: TransitGatewayPolicyRule;
  TargetRouteTableId?: string;
}
export interface GetTransitGatewayPolicyTableEntriesResult {
  TransitGatewayPolicyTableEntries?: TransitGatewayPolicyTableEntry[];
}
export interface GetTransitGatewayPrefixListReferencesRequest {
  TransitGatewayRouteTableId: string | undefined;
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
  DryRun?: boolean;
}
export interface GetTransitGatewayPrefixListReferencesResult {
  TransitGatewayPrefixListReferences?: TransitGatewayPrefixListReference[];
  NextToken?: string;
}
export interface GetTransitGatewayRouteTableAssociationsRequest {
  TransitGatewayRouteTableId: string | undefined;
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
  DryRun?: boolean;
}
export interface TransitGatewayRouteTableAssociation {
  TransitGatewayAttachmentId?: string;
  ResourceId?: string;
  ResourceType?: TransitGatewayAttachmentResourceType | string;
  State?: TransitGatewayAssociationState | string;
}
export interface GetTransitGatewayRouteTableAssociationsResult {
  Associations?: TransitGatewayRouteTableAssociation[];
  NextToken?: string;
}
export interface GetTransitGatewayRouteTablePropagationsRequest {
  TransitGatewayRouteTableId: string | undefined;
  Filters?: Filter[];
  MaxResults?: number;
  NextToken?: string;
  DryRun?: boolean;
}
export interface TransitGatewayRouteTablePropagation {
  TransitGatewayAttachmentId?: string;
  ResourceId?: string;
  ResourceType?: TransitGatewayAttachmentResourceType | string;
  State?: TransitGatewayPropagationState | string;
  TransitGatewayRouteTableAnnouncementId?: string;
}
export interface GetTransitGatewayRouteTablePropagationsResult {
  TransitGatewayRouteTablePropagations?: TransitGatewayRouteTablePropagation[];
  NextToken?: string;
}
export interface GetVerifiedAccessEndpointPolicyRequest {
  VerifiedAccessEndpointId: string | undefined;
  DryRun?: boolean;
}
export interface GetVerifiedAccessEndpointPolicyResult {
  PolicyEnabled?: boolean;
  PolicyDocument?: string;
}
export interface GetVerifiedAccessGroupPolicyRequest {
  VerifiedAccessGroupId: string | undefined;
  DryRun?: boolean;
}
export interface GetVerifiedAccessGroupPolicyResult {
  PolicyEnabled?: boolean;
  PolicyDocument?: string;
}
export interface GetVpnConnectionDeviceSampleConfigurationRequest {
  VpnConnectionId: string | undefined;
  VpnConnectionDeviceTypeId: string | undefined;
  InternetKeyExchangeVersion?: string;
  DryRun?: boolean;
}
export interface GetVpnConnectionDeviceSampleConfigurationResult {
  VpnConnectionDeviceSampleConfiguration?: string;
}
export interface GetVpnConnectionDeviceTypesRequest {
  MaxResults?: number;
  NextToken?: string;
  DryRun?: boolean;
}
export interface VpnConnectionDeviceType {
  VpnConnectionDeviceTypeId?: string;
  Vendor?: string;
  Platform?: string;
  Software?: string;
}
export interface GetVpnConnectionDeviceTypesResult {
  VpnConnectionDeviceTypes?: VpnConnectionDeviceType[];
  NextToken?: string;
}
export interface GetVpnTunnelReplacementStatusRequest {
  VpnConnectionId: string | undefined;
  VpnTunnelOutsideIpAddress: string | undefined;
  DryRun?: boolean;
}
export interface MaintenanceDetails {
  PendingMaintenance?: string;
  MaintenanceAutoAppliedAfter?: Date;
  LastMaintenanceApplied?: Date;
}
export interface GetVpnTunnelReplacementStatusResult {
  VpnConnectionId?: string;
  TransitGatewayId?: string;
  CustomerGatewayId?: string;
  VpnGatewayId?: string;
  VpnTunnelOutsideIpAddress?: string;
  MaintenanceDetails?: MaintenanceDetails;
}
export interface ImportClientVpnClientCertificateRevocationListRequest {
  ClientVpnEndpointId: string | undefined;
  CertificateRevocationList: string | undefined;
  DryRun?: boolean;
}
export interface ImportClientVpnClientCertificateRevocationListResult {
  Return?: boolean;
}
export declare const DescribeVerifiedAccessTrustProvidersResultFilterSensitiveLog: (
  obj: DescribeVerifiedAccessTrustProvidersResult
) => any;
export declare const DescribeVpnConnectionsResultFilterSensitiveLog: (
  obj: DescribeVpnConnectionsResult
) => any;
export declare const DetachVerifiedAccessTrustProviderResultFilterSensitiveLog: (
  obj: DetachVerifiedAccessTrustProviderResult
) => any;
export declare const GetLaunchTemplateDataResultFilterSensitiveLog: (
  obj: GetLaunchTemplateDataResult
) => any;
export declare const GetVpnConnectionDeviceSampleConfigurationResultFilterSensitiveLog: (
  obj: GetVpnConnectionDeviceSampleConfigurationResult
) => any;
