import {
  _InstanceType,
  AccessScopeAnalysisFinding,
  AddedPrincipal,
  AddIpamOperatingRegion,
  AddPrefixListEntry,
  AddressAttribute,
  Affinity,
  ApplianceModeSupportValue,
  AutoPlacement,
  DnsSupportValue,
  EnaSrdSpecification,
  EndDateType,
  HostMaintenance,
  HostRecovery,
  InstanceEventWindow,
  InstanceMatchCriteria,
  IpamPoolAllocation,
  Ipv6SupportValue,
  SecurityGroupReferencingSupportValue,
  SubnetAssociation,
  Tag,
  TagSpecification,
  TargetConfigurationRequest,
  TransitGatewayAssociationState,
  TransitGatewayAttachmentResourceType,
  TransitGatewayPolicyTableAssociation,
  TransitGatewayVpcAttachment,
  UnsuccessfulItem,
  VerifiedAccessInstance,
  VerifiedAccessSseSpecificationResponse,
  VerifiedAccessTrustProvider,
} from "./models_0";
import {
  AttributeValue,
  CapacityReservationPreference,
  CapacityReservationTarget,
  ClientConnectOptions,
  ClientLoginBannerOptions,
  ConnectionLogOptions,
  ConnectionTrackingSpecificationRequest,
  DiskImageFormat,
  FleetExcessCapacityTerminationPolicy,
  FleetLaunchTemplateConfigRequest,
  HostnameType,
  InstanceEventWindowTimeRangeRequest,
  InstanceRequirementsRequest,
  Ipam,
  IpamPool,
  IpamResourceDiscovery,
  IpamResourceTag,
  IpamScope,
  IpamTier,
  LaunchTemplate,
  LocalGatewayRoute,
  ManagedPrefixList,
  NetworkInsightsAccessScopeContent,
  Placement,
  PlatformValues,
  RequestIpamResourceTag,
  ResponseLaunchTemplateData,
  SelfServicePortal,
  ShutdownBehavior,
  TargetCapacitySpecificationRequest,
  TargetCapacityUnitType,
  VolumeType,
} from "./models_1";
import {
  AutoAcceptSharedAttachmentsValue,
  DefaultRouteTableAssociationValue,
  DefaultRouteTablePropagationValue,
  DnsOptionsSpecification,
  IpAddressType,
  PayerResponsibility,
  SubnetCidrReservation,
  SubnetConfiguration,
  TrafficDirection,
  TrafficMirrorFilter,
  TrafficMirrorFilterRule,
  TrafficMirrorNetworkService,
  TrafficMirrorPortRangeRequest,
  TrafficMirrorRuleAction,
  TrafficMirrorSession,
  TransitGateway,
  TransitGatewayPrefixListReference,
  VerifiedAccessEndpoint,
  VerifiedAccessEndpointProtocol,
  VerifiedAccessGroup,
  VerifiedAccessSseSpecificationRequest,
  VpnEcmpSupportValue,
} from "./models_2";
import {
  ArchitectureValues,
  BootModeValues,
  ConversionTask,
  Filter,
  FpgaImageAttribute,
  FpgaImageAttributeName,
  IpamPoolCidr,
  LaunchPermission,
  PermissionGroup,
} from "./models_3";
import {
  AnalysisStatus,
  ArchitectureType,
  AttributeBooleanValue,
  CreateVolumePermission,
  ExcessCapacityTerminationPolicy,
  HttpTokensState,
  ImportImageLicenseConfigurationResponse,
  InstanceAttributeName,
  InstanceAutoRecoveryState,
  InstanceMetadataEndpointState,
  InstanceMetadataOptionsResponse,
  InstanceMetadataProtocolState,
  InstanceMetadataTagsState,
  InstanceStatusEvent,
  LaunchTemplateConfig,
  LockState,
  ReservedInstancesConfiguration,
  SnapshotAttributeName,
  SnapshotDetail,
  SnapshotTaskDetail,
  VirtualizationType,
} from "./models_4";
import {
  InstanceFamilyCreditSpecification,
  SnapshotBlockPublicAccessState,
  TransitGatewayPropagationState,
  UnlimitedSupportedInstanceFamily,
  VerifiedAccessInstanceLoggingConfiguration,
  VolumeModification,
} from "./models_5";
export interface GetInstanceMetadataDefaultsRequest {
  DryRun?: boolean;
}
export interface InstanceMetadataDefaultsResponse {
  HttpTokens?: HttpTokensState;
  HttpPutResponseHopLimit?: number;
  HttpEndpoint?: InstanceMetadataEndpointState;
  InstanceMetadataTags?: InstanceMetadataTagsState;
}
export interface GetInstanceMetadataDefaultsResult {
  AccountLevel?: InstanceMetadataDefaultsResponse;
}
export declare const EkPubKeyFormat: {
  readonly der: "der";
  readonly tpmt: "tpmt";
};
export type EkPubKeyFormat =
  (typeof EkPubKeyFormat)[keyof typeof EkPubKeyFormat];
export declare const EkPubKeyType: {
  readonly ECC_SEC_P384: "ecc-sec-p384";
  readonly RSA_2048: "rsa-2048";
};
export type EkPubKeyType = (typeof EkPubKeyType)[keyof typeof EkPubKeyType];
export interface GetInstanceTpmEkPubRequest {
  InstanceId: string | undefined;
  KeyType: EkPubKeyType | undefined;
  KeyFormat: EkPubKeyFormat | undefined;
  DryRun?: boolean;
}
export interface GetInstanceTpmEkPubResult {
  InstanceId?: string;
  KeyType?: EkPubKeyType;
  KeyFormat?: EkPubKeyFormat;
  KeyValue?: string;
}
export interface GetInstanceTypesFromInstanceRequirementsRequest {
  DryRun?: boolean;
  ArchitectureTypes: ArchitectureType[] | undefined;
  VirtualizationTypes: VirtualizationType[] | 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;
  ResourceId?: string;
  ResourceCidr?: string;
  ResourceName?: string;
  ResourceComplianceStatus?: IpamComplianceStatus;
  ResourceOverlapStatus?: IpamOverlapStatus;
  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;
  Message?: string;
}
export interface IpamDiscoveredAccount {
  AccountId?: string;
  DiscoveryRegion?: string;
  FailureReason?: IpamDiscoveryFailureReason;
  LastAttemptedDiscoveryTime?: Date;
  LastSuccessfulDiscoveryTime?: Date;
}
export interface GetIpamDiscoveredAccountsResult {
  IpamDiscoveredAccounts?: IpamDiscoveredAccount[];
  NextToken?: string;
}
export interface GetIpamDiscoveredPublicAddressesRequest {
  DryRun?: boolean;
  IpamResourceDiscoveryId: string | undefined;
  AddressRegion: string | undefined;
  Filters?: Filter[];
  NextToken?: string;
  MaxResults?: number;
}
export declare const IpamPublicAddressType: {
  readonly AMAZON_OWNED_CONTIG: "amazon-owned-contig";
  readonly AMAZON_OWNED_EIP: "amazon-owned-eip";
  readonly BYOIP: "byoip";
  readonly EC2_PUBLIC_IP: "ec2-public-ip";
  readonly SERVICE_MANAGED_BYOIP: "service-managed-byoip";
  readonly SERVICE_MANAGED_IP: "service-managed-ip";
};
export type IpamPublicAddressType =
  (typeof IpamPublicAddressType)[keyof typeof IpamPublicAddressType];
export declare const IpamPublicAddressAssociationStatus: {
  readonly ASSOCIATED: "associated";
  readonly DISASSOCIATED: "disassociated";
};
export type IpamPublicAddressAssociationStatus =
  (typeof IpamPublicAddressAssociationStatus)[keyof typeof IpamPublicAddressAssociationStatus];
export interface IpamPublicAddressSecurityGroup {
  GroupName?: string;
  GroupId?: string;
}
export declare const IpamPublicAddressAwsService: {
  readonly AGA: "global-accelerator";
  readonly DMS: "database-migration-service";
  readonly EC2_LB: "load-balancer";
  readonly ECS: "elastic-container-service";
  readonly NAT_GATEWAY: "nat-gateway";
  readonly OTHER: "other";
  readonly RDS: "relational-database-service";
  readonly REDSHIFT: "redshift";
  readonly S2S_VPN: "site-to-site-vpn";
};
export type IpamPublicAddressAwsService =
  (typeof IpamPublicAddressAwsService)[keyof typeof IpamPublicAddressAwsService];
export interface IpamPublicAddressTag {
  Key?: string;
  Value?: string;
}
export interface IpamPublicAddressTags {
  EipTags?: IpamPublicAddressTag[];
}
export interface IpamDiscoveredPublicAddress {
  IpamResourceDiscoveryId?: string;
  AddressRegion?: string;
  Address?: string;
  AddressOwnerId?: string;
  AddressAllocationId?: string;
  AssociationStatus?: IpamPublicAddressAssociationStatus;
  AddressType?: IpamPublicAddressType;
  Service?: IpamPublicAddressAwsService;
  ServiceResource?: string;
  VpcId?: string;
  SubnetId?: string;
  PublicIpv4PoolId?: string;
  NetworkInterfaceId?: string;
  NetworkInterfaceDescription?: string;
  InstanceId?: string;
  Tags?: IpamPublicAddressTags;
  NetworkBorderGroup?: string;
  SecurityGroups?: IpamPublicAddressSecurityGroup[];
  SampleTime?: Date;
}
export interface GetIpamDiscoveredPublicAddressesResult {
  IpamDiscoveredPublicAddresses?: IpamDiscoveredPublicAddress[];
  OldestSampleTime?: Date;
  NextToken?: string;
}
export interface GetIpamDiscoveredResourceCidrsRequest {
  DryRun?: boolean;
  IpamResourceDiscoveryId: string | undefined;
  ResourceRegion: string | undefined;
  Filters?: Filter[];
  NextToken?: string;
  MaxResults?: number;
}
export declare const IpamResourceCidrIpSource: {
  readonly amazon: "amazon";
  readonly byoip: "byoip";
  readonly none: "none";
};
export type IpamResourceCidrIpSource =
  (typeof IpamResourceCidrIpSource)[keyof typeof IpamResourceCidrIpSource];
export declare const IpamNetworkInterfaceAttachmentStatus: {
  readonly available: "available";
  readonly in_use: "in-use";
};
export type IpamNetworkInterfaceAttachmentStatus =
  (typeof IpamNetworkInterfaceAttachmentStatus)[keyof typeof IpamNetworkInterfaceAttachmentStatus];
export declare const IpamResourceType: {
  readonly eip: "eip";
  readonly eni: "eni";
  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;
  IpSource?: IpamResourceCidrIpSource;
  ResourceType?: IpamResourceType;
  ResourceTags?: IpamResourceTag[];
  IpUsage?: number;
  VpcId?: string;
  SubnetId?: string;
  NetworkInterfaceAttachmentStatus?: IpamNetworkInterfaceAttachmentStatus;
  SampleTime?: Date;
  AvailabilityZoneId?: string;
}
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;
  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;
  ResourceTags?: IpamResourceTag[];
  IpUsage?: number;
  ComplianceStatus?: IpamComplianceStatus;
  ManagementState?: IpamManagementState;
  OverlapStatus?: IpamOverlapStatus;
  VpcId?: string;
  AvailabilityZoneId?: 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;
  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;
  Timestamp?: Date;
  PasswordData?: string;
}
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 GetSecurityGroupsForVpcRequest {
  VpcId: string | undefined;
  NextToken?: string;
  MaxResults?: number;
  Filters?: Filter[];
  DryRun?: boolean;
}
export interface SecurityGroupForVpc {
  Description?: string;
  GroupName?: string;
  OwnerId?: string;
  GroupId?: string;
  Tags?: Tag[];
  PrimaryVpcId?: string;
}
export interface GetSecurityGroupsForVpcResult {
  NextToken?: string;
  SecurityGroupForVpcs?: SecurityGroupForVpc[];
}
export interface GetSerialConsoleAccessStatusRequest {
  DryRun?: boolean;
}
export interface GetSerialConsoleAccessStatusResult {
  SerialConsoleAccessEnabled?: boolean;
}
export interface GetSnapshotBlockPublicAccessStateRequest {
  DryRun?: boolean;
}
export interface GetSnapshotBlockPublicAccessStateResult {
  State?: SnapshotBlockPublicAccessState;
}
export interface InstanceRequirementsWithMetadataRequest {
  ArchitectureTypes?: ArchitectureType[];
  VirtualizationTypes?: VirtualizationType[];
  InstanceRequirements?: InstanceRequirementsRequest;
}
export interface GetSpotPlacementScoresRequest {
  InstanceTypes?: string[];
  TargetCapacity: number | undefined;
  TargetCapacityUnitType?: TargetCapacityUnitType;
  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;
}
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;
  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;
  State?: TransitGatewayAssociationState;
}
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;
  State?: TransitGatewayPropagationState;
  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 interface ClientData {
  Comment?: string;
  UploadEnd?: Date;
  UploadSize?: number;
  UploadStart?: Date;
}
export interface UserBucket {
  S3Bucket?: string;
  S3Key?: string;
}
export interface ImageDiskContainer {
  Description?: string;
  DeviceName?: string;
  Format?: string;
  SnapshotId?: string;
  Url?: string;
  UserBucket?: UserBucket;
}
export interface ImportImageLicenseConfigurationRequest {
  LicenseConfigurationArn?: string;
}
export interface ImportImageRequest {
  Architecture?: string;
  ClientData?: ClientData;
  ClientToken?: string;
  Description?: string;
  DiskContainers?: ImageDiskContainer[];
  DryRun?: boolean;
  Encrypted?: boolean;
  Hypervisor?: string;
  KmsKeyId?: string;
  LicenseType?: string;
  Platform?: string;
  RoleName?: string;
  LicenseSpecifications?: ImportImageLicenseConfigurationRequest[];
  TagSpecifications?: TagSpecification[];
  UsageOperation?: string;
  BootMode?: BootModeValues;
}
export interface ImportImageResult {
  Architecture?: string;
  Description?: string;
  Encrypted?: boolean;
  Hypervisor?: string;
  ImageId?: string;
  ImportTaskId?: string;
  KmsKeyId?: string;
  LicenseType?: string;
  Platform?: string;
  Progress?: string;
  SnapshotDetails?: SnapshotDetail[];
  Status?: string;
  StatusMessage?: string;
  LicenseSpecifications?: ImportImageLicenseConfigurationResponse[];
  Tags?: Tag[];
  UsageOperation?: string;
}
export interface DiskImageDetail {
  Format: DiskImageFormat | undefined;
  Bytes: number | undefined;
  ImportManifestUrl: string | undefined;
}
export interface VolumeDetail {
  Size: number | undefined;
}
export interface DiskImage {
  Description?: string;
  Image?: DiskImageDetail;
  Volume?: VolumeDetail;
}
export interface UserData {
  Data?: string;
}
export interface ImportInstanceLaunchSpecification {
  Architecture?: ArchitectureValues;
  GroupNames?: string[];
  GroupIds?: string[];
  AdditionalInfo?: string;
  UserData?: UserData;
  InstanceType?: _InstanceType;
  Placement?: Placement;
  Monitoring?: boolean;
  SubnetId?: string;
  InstanceInitiatedShutdownBehavior?: ShutdownBehavior;
  PrivateIpAddress?: string;
}
export interface ImportInstanceRequest {
  DryRun?: boolean;
  Description?: string;
  LaunchSpecification?: ImportInstanceLaunchSpecification;
  DiskImages?: DiskImage[];
  Platform: PlatformValues | undefined;
}
export interface ImportInstanceResult {
  ConversionTask?: ConversionTask;
}
export interface ImportKeyPairRequest {
  TagSpecifications?: TagSpecification[];
  DryRun?: boolean;
  KeyName: string | undefined;
  PublicKeyMaterial: Uint8Array | undefined;
}
export interface ImportKeyPairResult {
  KeyFingerprint?: string;
  KeyName?: string;
  KeyPairId?: string;
  Tags?: Tag[];
}
export interface SnapshotDiskContainer {
  Description?: string;
  Format?: string;
  Url?: string;
  UserBucket?: UserBucket;
}
export interface ImportSnapshotRequest {
  ClientData?: ClientData;
  ClientToken?: string;
  Description?: string;
  DiskContainer?: SnapshotDiskContainer;
  DryRun?: boolean;
  Encrypted?: boolean;
  KmsKeyId?: string;
  RoleName?: string;
  TagSpecifications?: TagSpecification[];
}
export interface ImportSnapshotResult {
  Description?: string;
  ImportTaskId?: string;
  SnapshotTaskDetail?: SnapshotTaskDetail;
  Tags?: Tag[];
}
export interface ImportVolumeRequest {
  DryRun?: boolean;
  AvailabilityZone: string | undefined;
  Image: DiskImageDetail | undefined;
  Description?: string;
  Volume: VolumeDetail | undefined;
}
export interface ImportVolumeResult {
  ConversionTask?: ConversionTask;
}
export interface ListImagesInRecycleBinRequest {
  ImageIds?: string[];
  NextToken?: string;
  MaxResults?: number;
  DryRun?: boolean;
}
export interface ImageRecycleBinInfo {
  ImageId?: string;
  Name?: string;
  Description?: string;
  RecycleBinEnterTime?: Date;
  RecycleBinExitTime?: Date;
}
export interface ListImagesInRecycleBinResult {
  Images?: ImageRecycleBinInfo[];
  NextToken?: string;
}
export interface ListSnapshotsInRecycleBinRequest {
  MaxResults?: number;
  NextToken?: string;
  SnapshotIds?: string[];
  DryRun?: boolean;
}
export interface SnapshotRecycleBinInfo {
  SnapshotId?: string;
  RecycleBinEnterTime?: Date;
  RecycleBinExitTime?: Date;
  Description?: string;
  VolumeId?: string;
}
export interface ListSnapshotsInRecycleBinResult {
  Snapshots?: SnapshotRecycleBinInfo[];
  NextToken?: string;
}
export declare const LockMode: {
  readonly compliance: "compliance";
  readonly governance: "governance";
};
export type LockMode = (typeof LockMode)[keyof typeof LockMode];
export interface LockSnapshotRequest {
  SnapshotId: string | undefined;
  DryRun?: boolean;
  LockMode: LockMode | undefined;
  CoolOffPeriod?: number;
  LockDuration?: number;
  ExpirationDate?: Date;
}
export interface LockSnapshotResult {
  SnapshotId?: string;
  LockState?: LockState;
  LockDuration?: number;
  CoolOffPeriod?: number;
  CoolOffPeriodExpiresOn?: Date;
  LockCreatedOn?: Date;
  LockExpiresOn?: Date;
  LockDurationStartTime?: Date;
}
export interface ModifyAddressAttributeRequest {
  AllocationId: string | undefined;
  DomainName?: string;
  DryRun?: boolean;
}
export interface ModifyAddressAttributeResult {
  Address?: AddressAttribute;
}
export declare const ModifyAvailabilityZoneOptInStatus: {
  readonly not_opted_in: "not-opted-in";
  readonly opted_in: "opted-in";
};
export type ModifyAvailabilityZoneOptInStatus =
  (typeof ModifyAvailabilityZoneOptInStatus)[keyof typeof ModifyAvailabilityZoneOptInStatus];
export interface ModifyAvailabilityZoneGroupRequest {
  GroupName: string | undefined;
  OptInStatus: ModifyAvailabilityZoneOptInStatus | undefined;
  DryRun?: boolean;
}
export interface ModifyAvailabilityZoneGroupResult {
  Return?: boolean;
}
export interface ModifyCapacityReservationRequest {
  CapacityReservationId: string | undefined;
  InstanceCount?: number;
  EndDate?: Date;
  EndDateType?: EndDateType;
  Accept?: boolean;
  DryRun?: boolean;
  AdditionalInfo?: string;
  InstanceMatchCriteria?: InstanceMatchCriteria;
}
export interface ModifyCapacityReservationResult {
  Return?: boolean;
}
export interface ModifyCapacityReservationFleetRequest {
  CapacityReservationFleetId: string | undefined;
  TotalTargetCapacity?: number;
  EndDate?: Date;
  DryRun?: boolean;
  RemoveEndDate?: boolean;
}
export interface ModifyCapacityReservationFleetResult {
  Return?: boolean;
}
export interface DnsServersOptionsModifyStructure {
  CustomDnsServers?: string[];
  Enabled?: boolean;
}
export interface ModifyClientVpnEndpointRequest {
  ClientVpnEndpointId: string | undefined;
  ServerCertificateArn?: string;
  ConnectionLogOptions?: ConnectionLogOptions;
  DnsServers?: DnsServersOptionsModifyStructure;
  VpnPort?: number;
  Description?: string;
  SplitTunnel?: boolean;
  DryRun?: boolean;
  SecurityGroupIds?: string[];
  VpcId?: string;
  SelfServicePortal?: SelfServicePortal;
  ClientConnectOptions?: ClientConnectOptions;
  SessionTimeoutHours?: number;
  ClientLoginBannerOptions?: ClientLoginBannerOptions;
}
export interface ModifyClientVpnEndpointResult {
  Return?: boolean;
}
export interface ModifyDefaultCreditSpecificationRequest {
  DryRun?: boolean;
  InstanceFamily: UnlimitedSupportedInstanceFamily | undefined;
  CpuCredits: string | undefined;
}
export interface ModifyDefaultCreditSpecificationResult {
  InstanceFamilyCreditSpecification?: InstanceFamilyCreditSpecification;
}
export interface ModifyEbsDefaultKmsKeyIdRequest {
  KmsKeyId: string | undefined;
  DryRun?: boolean;
}
export interface ModifyEbsDefaultKmsKeyIdResult {
  KmsKeyId?: string;
}
export interface ModifyFleetRequest {
  DryRun?: boolean;
  ExcessCapacityTerminationPolicy?: FleetExcessCapacityTerminationPolicy;
  LaunchTemplateConfigs?: FleetLaunchTemplateConfigRequest[];
  FleetId: string | undefined;
  TargetCapacitySpecification?: TargetCapacitySpecificationRequest;
  Context?: string;
}
export interface ModifyFleetResult {
  Return?: boolean;
}
export interface LoadPermissionRequest {
  Group?: PermissionGroup;
  UserId?: string;
}
export interface LoadPermissionModifications {
  Add?: LoadPermissionRequest[];
  Remove?: LoadPermissionRequest[];
}
export declare const OperationType: {
  readonly add: "add";
  readonly remove: "remove";
};
export type OperationType = (typeof OperationType)[keyof typeof OperationType];
export interface ModifyFpgaImageAttributeRequest {
  DryRun?: boolean;
  FpgaImageId: string | undefined;
  Attribute?: FpgaImageAttributeName;
  OperationType?: OperationType;
  UserIds?: string[];
  UserGroups?: string[];
  ProductCodes?: string[];
  LoadPermission?: LoadPermissionModifications;
  Description?: string;
  Name?: string;
}
export interface ModifyFpgaImageAttributeResult {
  FpgaImageAttribute?: FpgaImageAttribute;
}
export interface ModifyHostsRequest {
  HostRecovery?: HostRecovery;
  InstanceType?: string;
  InstanceFamily?: string;
  HostMaintenance?: HostMaintenance;
  HostIds: string[] | undefined;
  AutoPlacement?: AutoPlacement;
}
export interface ModifyHostsResult {
  Successful?: string[];
  Unsuccessful?: UnsuccessfulItem[];
}
export interface ModifyIdentityIdFormatRequest {
  Resource: string | undefined;
  UseLongIds: boolean | undefined;
  PrincipalArn: string | undefined;
}
export interface ModifyIdFormatRequest {
  Resource: string | undefined;
  UseLongIds: boolean | undefined;
}
export interface LaunchPermissionModifications {
  Add?: LaunchPermission[];
  Remove?: LaunchPermission[];
}
export interface ModifyImageAttributeRequest {
  Attribute?: string;
  Description?: AttributeValue;
  ImageId: string | undefined;
  LaunchPermission?: LaunchPermissionModifications;
  OperationType?: OperationType;
  ProductCodes?: string[];
  UserGroups?: string[];
  UserIds?: string[];
  Value?: string;
  OrganizationArns?: string[];
  OrganizationalUnitArns?: string[];
  ImdsSupport?: AttributeValue;
  DryRun?: boolean;
}
export interface EbsInstanceBlockDeviceSpecification {
  VolumeId?: string;
  DeleteOnTermination?: boolean;
}
export interface InstanceBlockDeviceMappingSpecification {
  DeviceName?: string;
  Ebs?: EbsInstanceBlockDeviceSpecification;
  VirtualName?: string;
  NoDevice?: string;
}
export interface BlobAttributeValue {
  Value?: Uint8Array;
}
export interface ModifyInstanceAttributeRequest {
  SourceDestCheck?: AttributeBooleanValue;
  DisableApiStop?: AttributeBooleanValue;
  DryRun?: boolean;
  InstanceId: string | undefined;
  Attribute?: InstanceAttributeName;
  Value?: string;
  BlockDeviceMappings?: InstanceBlockDeviceMappingSpecification[];
  DisableApiTermination?: AttributeBooleanValue;
  InstanceType?: AttributeValue;
  Kernel?: AttributeValue;
  Ramdisk?: AttributeValue;
  UserData?: BlobAttributeValue;
  InstanceInitiatedShutdownBehavior?: AttributeValue;
  Groups?: string[];
  EbsOptimized?: AttributeBooleanValue;
  SriovNetSupport?: AttributeValue;
  EnaSupport?: AttributeBooleanValue;
}
export interface CapacityReservationSpecification {
  CapacityReservationPreference?: CapacityReservationPreference;
  CapacityReservationTarget?: CapacityReservationTarget;
}
export interface ModifyInstanceCapacityReservationAttributesRequest {
  InstanceId: string | undefined;
  CapacityReservationSpecification:
    | CapacityReservationSpecification
    | undefined;
  DryRun?: boolean;
}
export interface ModifyInstanceCapacityReservationAttributesResult {
  Return?: boolean;
}
export interface ModifyInstanceCpuOptionsRequest {
  InstanceId: string | undefined;
  CoreCount: number | undefined;
  ThreadsPerCore: number | undefined;
  DryRun?: boolean;
}
export interface ModifyInstanceCpuOptionsResult {
  InstanceId?: string;
  CoreCount?: number;
  ThreadsPerCore?: number;
}
export interface InstanceCreditSpecificationRequest {
  InstanceId: string | undefined;
  CpuCredits?: string;
}
export interface ModifyInstanceCreditSpecificationRequest {
  DryRun?: boolean;
  ClientToken?: string;
  InstanceCreditSpecifications:
    | InstanceCreditSpecificationRequest[]
    | undefined;
}
export interface SuccessfulInstanceCreditSpecificationItem {
  InstanceId?: string;
}
export declare const UnsuccessfulInstanceCreditSpecificationErrorCode: {
  readonly INCORRECT_INSTANCE_STATE: "IncorrectInstanceState";
  readonly INSTANCE_CREDIT_SPECIFICATION_NOT_SUPPORTED: "InstanceCreditSpecification.NotSupported";
  readonly INSTANCE_NOT_FOUND: "InvalidInstanceID.NotFound";
  readonly INVALID_INSTANCE_ID: "InvalidInstanceID.Malformed";
};
export type UnsuccessfulInstanceCreditSpecificationErrorCode =
  (typeof UnsuccessfulInstanceCreditSpecificationErrorCode)[keyof typeof UnsuccessfulInstanceCreditSpecificationErrorCode];
export interface UnsuccessfulInstanceCreditSpecificationItemError {
  Code?: UnsuccessfulInstanceCreditSpecificationErrorCode;
  Message?: string;
}
export interface UnsuccessfulInstanceCreditSpecificationItem {
  InstanceId?: string;
  Error?: UnsuccessfulInstanceCreditSpecificationItemError;
}
export interface ModifyInstanceCreditSpecificationResult {
  SuccessfulInstanceCreditSpecifications?: SuccessfulInstanceCreditSpecificationItem[];
  UnsuccessfulInstanceCreditSpecifications?: UnsuccessfulInstanceCreditSpecificationItem[];
}
export interface ModifyInstanceEventStartTimeRequest {
  DryRun?: boolean;
  InstanceId: string | undefined;
  InstanceEventId: string | undefined;
  NotBefore: Date | undefined;
}
export interface ModifyInstanceEventStartTimeResult {
  Event?: InstanceStatusEvent;
}
export interface ModifyInstanceEventWindowRequest {
  DryRun?: boolean;
  Name?: string;
  InstanceEventWindowId: string | undefined;
  TimeRanges?: InstanceEventWindowTimeRangeRequest[];
  CronExpression?: string;
}
export interface ModifyInstanceEventWindowResult {
  InstanceEventWindow?: InstanceEventWindow;
}
export interface ModifyInstanceMaintenanceOptionsRequest {
  InstanceId: string | undefined;
  AutoRecovery?: InstanceAutoRecoveryState;
  DryRun?: boolean;
}
export interface ModifyInstanceMaintenanceOptionsResult {
  InstanceId?: string;
  AutoRecovery?: InstanceAutoRecoveryState;
}
export declare const DefaultInstanceMetadataEndpointState: {
  readonly disabled: "disabled";
  readonly enabled: "enabled";
  readonly no_preference: "no-preference";
};
export type DefaultInstanceMetadataEndpointState =
  (typeof DefaultInstanceMetadataEndpointState)[keyof typeof DefaultInstanceMetadataEndpointState];
export declare const MetadataDefaultHttpTokensState: {
  readonly no_preference: "no-preference";
  readonly optional: "optional";
  readonly required: "required";
};
export type MetadataDefaultHttpTokensState =
  (typeof MetadataDefaultHttpTokensState)[keyof typeof MetadataDefaultHttpTokensState];
export declare const DefaultInstanceMetadataTagsState: {
  readonly disabled: "disabled";
  readonly enabled: "enabled";
  readonly no_preference: "no-preference";
};
export type DefaultInstanceMetadataTagsState =
  (typeof DefaultInstanceMetadataTagsState)[keyof typeof DefaultInstanceMetadataTagsState];
export interface ModifyInstanceMetadataDefaultsRequest {
  HttpTokens?: MetadataDefaultHttpTokensState;
  HttpPutResponseHopLimit?: number;
  HttpEndpoint?: DefaultInstanceMetadataEndpointState;
  InstanceMetadataTags?: DefaultInstanceMetadataTagsState;
  DryRun?: boolean;
}
export interface ModifyInstanceMetadataDefaultsResult {
  Return?: boolean;
}
export interface ModifyInstanceMetadataOptionsRequest {
  InstanceId: string | undefined;
  HttpTokens?: HttpTokensState;
  HttpPutResponseHopLimit?: number;
  HttpEndpoint?: InstanceMetadataEndpointState;
  DryRun?: boolean;
  HttpProtocolIpv6?: InstanceMetadataProtocolState;
  InstanceMetadataTags?: InstanceMetadataTagsState;
}
export interface ModifyInstanceMetadataOptionsResult {
  InstanceId?: string;
  InstanceMetadataOptions?: InstanceMetadataOptionsResponse;
}
export declare const HostTenancy: {
  readonly dedicated: "dedicated";
  readonly default: "default";
  readonly host: "host";
};
export type HostTenancy = (typeof HostTenancy)[keyof typeof HostTenancy];
export interface ModifyInstancePlacementRequest {
  GroupName?: string;
  PartitionNumber?: number;
  HostResourceGroupArn?: string;
  GroupId?: string;
  InstanceId: string | undefined;
  Tenancy?: HostTenancy;
  Affinity?: Affinity;
  HostId?: string;
}
export interface ModifyInstancePlacementResult {
  Return?: boolean;
}
export interface RemoveIpamOperatingRegion {
  RegionName?: string;
}
export interface ModifyIpamRequest {
  DryRun?: boolean;
  IpamId: string | undefined;
  Description?: string;
  AddOperatingRegions?: AddIpamOperatingRegion[];
  RemoveOperatingRegions?: RemoveIpamOperatingRegion[];
  Tier?: IpamTier;
  EnablePrivateGua?: boolean;
}
export interface ModifyIpamResult {
  Ipam?: Ipam;
}
export interface ModifyIpamPoolRequest {
  DryRun?: boolean;
  IpamPoolId: string | undefined;
  Description?: string;
  AutoImport?: boolean;
  AllocationMinNetmaskLength?: number;
  AllocationMaxNetmaskLength?: number;
  AllocationDefaultNetmaskLength?: number;
  ClearAllocationDefaultNetmaskLength?: boolean;
  AddAllocationResourceTags?: RequestIpamResourceTag[];
  RemoveAllocationResourceTags?: RequestIpamResourceTag[];
}
export interface ModifyIpamPoolResult {
  IpamPool?: IpamPool;
}
export interface ModifyIpamResourceCidrRequest {
  DryRun?: boolean;
  ResourceId: string | undefined;
  ResourceCidr: string | undefined;
  ResourceRegion: string | undefined;
  CurrentIpamScopeId: string | undefined;
  DestinationIpamScopeId?: string;
  Monitored: boolean | undefined;
}
export interface ModifyIpamResourceCidrResult {
  IpamResourceCidr?: IpamResourceCidr;
}
export interface ModifyIpamResourceDiscoveryRequest {
  DryRun?: boolean;
  IpamResourceDiscoveryId: string | undefined;
  Description?: string;
  AddOperatingRegions?: AddIpamOperatingRegion[];
  RemoveOperatingRegions?: RemoveIpamOperatingRegion[];
}
export interface ModifyIpamResourceDiscoveryResult {
  IpamResourceDiscovery?: IpamResourceDiscovery;
}
export interface ModifyIpamScopeRequest {
  DryRun?: boolean;
  IpamScopeId: string | undefined;
  Description?: string;
}
export interface ModifyIpamScopeResult {
  IpamScope?: IpamScope;
}
export interface ModifyLaunchTemplateRequest {
  DryRun?: boolean;
  ClientToken?: string;
  LaunchTemplateId?: string;
  LaunchTemplateName?: string;
  DefaultVersion?: string;
}
export interface ModifyLaunchTemplateResult {
  LaunchTemplate?: LaunchTemplate;
}
export interface ModifyLocalGatewayRouteRequest {
  DestinationCidrBlock?: string;
  LocalGatewayRouteTableId: string | undefined;
  LocalGatewayVirtualInterfaceGroupId?: string;
  NetworkInterfaceId?: string;
  DryRun?: boolean;
  DestinationPrefixListId?: string;
}
export interface ModifyLocalGatewayRouteResult {
  Route?: LocalGatewayRoute;
}
export interface RemovePrefixListEntry {
  Cidr: string | undefined;
}
export interface ModifyManagedPrefixListRequest {
  DryRun?: boolean;
  PrefixListId: string | undefined;
  CurrentVersion?: number;
  PrefixListName?: string;
  AddEntries?: AddPrefixListEntry[];
  RemoveEntries?: RemovePrefixListEntry[];
  MaxEntries?: number;
}
export interface ModifyManagedPrefixListResult {
  PrefixList?: ManagedPrefixList;
}
export interface NetworkInterfaceAttachmentChanges {
  AttachmentId?: string;
  DeleteOnTermination?: boolean;
}
export interface ModifyNetworkInterfaceAttributeRequest {
  EnaSrdSpecification?: EnaSrdSpecification;
  EnablePrimaryIpv6?: boolean;
  ConnectionTrackingSpecification?: ConnectionTrackingSpecificationRequest;
  AssociatePublicIpAddress?: boolean;
  DryRun?: boolean;
  NetworkInterfaceId: string | undefined;
  Description?: AttributeValue;
  SourceDestCheck?: AttributeBooleanValue;
  Groups?: string[];
  Attachment?: NetworkInterfaceAttachmentChanges;
}
export interface ModifyPrivateDnsNameOptionsRequest {
  DryRun?: boolean;
  InstanceId: string | undefined;
  PrivateDnsHostnameType?: HostnameType;
  EnableResourceNameDnsARecord?: boolean;
  EnableResourceNameDnsAAAARecord?: boolean;
}
export interface ModifyPrivateDnsNameOptionsResult {
  Return?: boolean;
}
export interface ModifyReservedInstancesRequest {
  ReservedInstancesIds: string[] | undefined;
  ClientToken?: string;
  TargetConfigurations: ReservedInstancesConfiguration[] | undefined;
}
export interface ModifyReservedInstancesResult {
  ReservedInstancesModificationId?: string;
}
export interface SecurityGroupRuleRequest {
  IpProtocol?: string;
  FromPort?: number;
  ToPort?: number;
  CidrIpv4?: string;
  CidrIpv6?: string;
  PrefixListId?: string;
  ReferencedGroupId?: string;
  Description?: string;
}
export interface SecurityGroupRuleUpdate {
  SecurityGroupRuleId: string | undefined;
  SecurityGroupRule?: SecurityGroupRuleRequest;
}
export interface ModifySecurityGroupRulesRequest {
  GroupId: string | undefined;
  SecurityGroupRules: SecurityGroupRuleUpdate[] | undefined;
  DryRun?: boolean;
}
export interface ModifySecurityGroupRulesResult {
  Return?: boolean;
}
export interface CreateVolumePermissionModifications {
  Add?: CreateVolumePermission[];
  Remove?: CreateVolumePermission[];
}
export interface ModifySnapshotAttributeRequest {
  Attribute?: SnapshotAttributeName;
  CreateVolumePermission?: CreateVolumePermissionModifications;
  GroupNames?: string[];
  OperationType?: OperationType;
  SnapshotId: string | undefined;
  UserIds?: string[];
  DryRun?: boolean;
}
export declare const TargetStorageTier: {
  readonly archive: "archive";
};
export type TargetStorageTier =
  (typeof TargetStorageTier)[keyof typeof TargetStorageTier];
export interface ModifySnapshotTierRequest {
  SnapshotId: string | undefined;
  StorageTier?: TargetStorageTier;
  DryRun?: boolean;
}
export interface ModifySnapshotTierResult {
  SnapshotId?: string;
  TieringStartTime?: Date;
}
export interface ModifySpotFleetRequestRequest {
  LaunchTemplateConfigs?: LaunchTemplateConfig[];
  OnDemandTargetCapacity?: number;
  Context?: string;
  SpotFleetRequestId: string | undefined;
  TargetCapacity?: number;
  ExcessCapacityTerminationPolicy?: ExcessCapacityTerminationPolicy;
}
export interface ModifySpotFleetRequestResponse {
  Return?: boolean;
}
export interface ModifySubnetAttributeRequest {
  AssignIpv6AddressOnCreation?: AttributeBooleanValue;
  MapPublicIpOnLaunch?: AttributeBooleanValue;
  SubnetId: string | undefined;
  MapCustomerOwnedIpOnLaunch?: AttributeBooleanValue;
  CustomerOwnedIpv4Pool?: string;
  EnableDns64?: AttributeBooleanValue;
  PrivateDnsHostnameTypeOnLaunch?: HostnameType;
  EnableResourceNameDnsARecordOnLaunch?: AttributeBooleanValue;
  EnableResourceNameDnsAAAARecordOnLaunch?: AttributeBooleanValue;
  EnableLniAtDeviceIndex?: number;
  DisableLniAtDeviceIndex?: AttributeBooleanValue;
}
export interface ModifyTrafficMirrorFilterNetworkServicesRequest {
  TrafficMirrorFilterId: string | undefined;
  AddNetworkServices?: TrafficMirrorNetworkService[];
  RemoveNetworkServices?: TrafficMirrorNetworkService[];
  DryRun?: boolean;
}
export interface ModifyTrafficMirrorFilterNetworkServicesResult {
  TrafficMirrorFilter?: TrafficMirrorFilter;
}
export declare const TrafficMirrorFilterRuleField: {
  readonly description: "description";
  readonly destination_port_range: "destination-port-range";
  readonly protocol: "protocol";
  readonly source_port_range: "source-port-range";
};
export type TrafficMirrorFilterRuleField =
  (typeof TrafficMirrorFilterRuleField)[keyof typeof TrafficMirrorFilterRuleField];
export interface ModifyTrafficMirrorFilterRuleRequest {
  TrafficMirrorFilterRuleId: string | undefined;
  TrafficDirection?: TrafficDirection;
  RuleNumber?: number;
  RuleAction?: TrafficMirrorRuleAction;
  DestinationPortRange?: TrafficMirrorPortRangeRequest;
  SourcePortRange?: TrafficMirrorPortRangeRequest;
  Protocol?: number;
  DestinationCidrBlock?: string;
  SourceCidrBlock?: string;
  Description?: string;
  RemoveFields?: TrafficMirrorFilterRuleField[];
  DryRun?: boolean;
}
export interface ModifyTrafficMirrorFilterRuleResult {
  TrafficMirrorFilterRule?: TrafficMirrorFilterRule;
}
export declare const TrafficMirrorSessionField: {
  readonly description: "description";
  readonly packet_length: "packet-length";
  readonly virtual_network_id: "virtual-network-id";
};
export type TrafficMirrorSessionField =
  (typeof TrafficMirrorSessionField)[keyof typeof TrafficMirrorSessionField];
export interface ModifyTrafficMirrorSessionRequest {
  TrafficMirrorSessionId: string | undefined;
  TrafficMirrorTargetId?: string;
  TrafficMirrorFilterId?: string;
  PacketLength?: number;
  SessionNumber?: number;
  VirtualNetworkId?: number;
  Description?: string;
  RemoveFields?: TrafficMirrorSessionField[];
  DryRun?: boolean;
}
export interface ModifyTrafficMirrorSessionResult {
  TrafficMirrorSession?: TrafficMirrorSession;
}
export interface ModifyTransitGatewayOptions {
  AddTransitGatewayCidrBlocks?: string[];
  RemoveTransitGatewayCidrBlocks?: string[];
  VpnEcmpSupport?: VpnEcmpSupportValue;
  DnsSupport?: DnsSupportValue;
  SecurityGroupReferencingSupport?: SecurityGroupReferencingSupportValue;
  AutoAcceptSharedAttachments?: AutoAcceptSharedAttachmentsValue;
  DefaultRouteTableAssociation?: DefaultRouteTableAssociationValue;
  AssociationDefaultRouteTableId?: string;
  DefaultRouteTablePropagation?: DefaultRouteTablePropagationValue;
  PropagationDefaultRouteTableId?: string;
  AmazonSideAsn?: number;
}
export interface ModifyTransitGatewayRequest {
  TransitGatewayId: string | undefined;
  Description?: string;
  Options?: ModifyTransitGatewayOptions;
  DryRun?: boolean;
}
export interface ModifyTransitGatewayResult {
  TransitGateway?: TransitGateway;
}
export interface ModifyTransitGatewayPrefixListReferenceRequest {
  TransitGatewayRouteTableId: string | undefined;
  PrefixListId: string | undefined;
  TransitGatewayAttachmentId?: string;
  Blackhole?: boolean;
  DryRun?: boolean;
}
export interface ModifyTransitGatewayPrefixListReferenceResult {
  TransitGatewayPrefixListReference?: TransitGatewayPrefixListReference;
}
export interface ModifyTransitGatewayVpcAttachmentRequestOptions {
  DnsSupport?: DnsSupportValue;
  SecurityGroupReferencingSupport?: SecurityGroupReferencingSupportValue;
  Ipv6Support?: Ipv6SupportValue;
  ApplianceModeSupport?: ApplianceModeSupportValue;
}
export interface ModifyTransitGatewayVpcAttachmentRequest {
  TransitGatewayAttachmentId: string | undefined;
  AddSubnetIds?: string[];
  RemoveSubnetIds?: string[];
  Options?: ModifyTransitGatewayVpcAttachmentRequestOptions;
  DryRun?: boolean;
}
export interface ModifyTransitGatewayVpcAttachmentResult {
  TransitGatewayVpcAttachment?: TransitGatewayVpcAttachment;
}
export interface ModifyVerifiedAccessEndpointLoadBalancerOptions {
  SubnetIds?: string[];
  Protocol?: VerifiedAccessEndpointProtocol;
  Port?: number;
}
export interface ModifyVerifiedAccessEndpointEniOptions {
  Protocol?: VerifiedAccessEndpointProtocol;
  Port?: number;
}
export interface ModifyVerifiedAccessEndpointRequest {
  VerifiedAccessEndpointId: string | undefined;
  VerifiedAccessGroupId?: string;
  LoadBalancerOptions?: ModifyVerifiedAccessEndpointLoadBalancerOptions;
  NetworkInterfaceOptions?: ModifyVerifiedAccessEndpointEniOptions;
  Description?: string;
  ClientToken?: string;
  DryRun?: boolean;
}
export interface ModifyVerifiedAccessEndpointResult {
  VerifiedAccessEndpoint?: VerifiedAccessEndpoint;
}
export interface ModifyVerifiedAccessEndpointPolicyRequest {
  VerifiedAccessEndpointId: string | undefined;
  PolicyEnabled?: boolean;
  PolicyDocument?: string;
  ClientToken?: string;
  DryRun?: boolean;
  SseSpecification?: VerifiedAccessSseSpecificationRequest;
}
export interface ModifyVerifiedAccessEndpointPolicyResult {
  PolicyEnabled?: boolean;
  PolicyDocument?: string;
  SseSpecification?: VerifiedAccessSseSpecificationResponse;
}
export interface ModifyVerifiedAccessGroupRequest {
  VerifiedAccessGroupId: string | undefined;
  VerifiedAccessInstanceId?: string;
  Description?: string;
  ClientToken?: string;
  DryRun?: boolean;
}
export interface ModifyVerifiedAccessGroupResult {
  VerifiedAccessGroup?: VerifiedAccessGroup;
}
export interface ModifyVerifiedAccessGroupPolicyRequest {
  VerifiedAccessGroupId: string | undefined;
  PolicyEnabled?: boolean;
  PolicyDocument?: string;
  ClientToken?: string;
  DryRun?: boolean;
  SseSpecification?: VerifiedAccessSseSpecificationRequest;
}
export interface ModifyVerifiedAccessGroupPolicyResult {
  PolicyEnabled?: boolean;
  PolicyDocument?: string;
  SseSpecification?: VerifiedAccessSseSpecificationResponse;
}
export interface ModifyVerifiedAccessInstanceRequest {
  VerifiedAccessInstanceId: string | undefined;
  Description?: string;
  DryRun?: boolean;
  ClientToken?: string;
}
export interface ModifyVerifiedAccessInstanceResult {
  VerifiedAccessInstance?: VerifiedAccessInstance;
}
export interface VerifiedAccessLogCloudWatchLogsDestinationOptions {
  Enabled: boolean | undefined;
  LogGroup?: string;
}
export interface VerifiedAccessLogKinesisDataFirehoseDestinationOptions {
  Enabled: boolean | undefined;
  DeliveryStream?: string;
}
export interface VerifiedAccessLogS3DestinationOptions {
  Enabled: boolean | undefined;
  BucketName?: string;
  Prefix?: string;
  BucketOwner?: string;
}
export interface VerifiedAccessLogOptions {
  S3?: VerifiedAccessLogS3DestinationOptions;
  CloudWatchLogs?: VerifiedAccessLogCloudWatchLogsDestinationOptions;
  KinesisDataFirehose?: VerifiedAccessLogKinesisDataFirehoseDestinationOptions;
  LogVersion?: string;
  IncludeTrustContext?: boolean;
}
export interface ModifyVerifiedAccessInstanceLoggingConfigurationRequest {
  VerifiedAccessInstanceId: string | undefined;
  AccessLogs: VerifiedAccessLogOptions | undefined;
  DryRun?: boolean;
  ClientToken?: string;
}
export interface ModifyVerifiedAccessInstanceLoggingConfigurationResult {
  LoggingConfiguration?: VerifiedAccessInstanceLoggingConfiguration;
}
export interface ModifyVerifiedAccessTrustProviderDeviceOptions {
  PublicSigningKeyUrl?: string;
}
export interface ModifyVerifiedAccessTrustProviderOidcOptions {
  Issuer?: string;
  AuthorizationEndpoint?: string;
  TokenEndpoint?: string;
  UserInfoEndpoint?: string;
  ClientId?: string;
  ClientSecret?: string;
  Scope?: string;
}
export interface ModifyVerifiedAccessTrustProviderRequest {
  VerifiedAccessTrustProviderId: string | undefined;
  OidcOptions?: ModifyVerifiedAccessTrustProviderOidcOptions;
  DeviceOptions?: ModifyVerifiedAccessTrustProviderDeviceOptions;
  Description?: string;
  DryRun?: boolean;
  ClientToken?: string;
  SseSpecification?: VerifiedAccessSseSpecificationRequest;
}
export interface ModifyVerifiedAccessTrustProviderResult {
  VerifiedAccessTrustProvider?: VerifiedAccessTrustProvider;
}
export interface ModifyVolumeRequest {
  DryRun?: boolean;
  VolumeId: string | undefined;
  Size?: number;
  VolumeType?: VolumeType;
  Iops?: number;
  Throughput?: number;
  MultiAttachEnabled?: boolean;
}
export interface ModifyVolumeResult {
  VolumeModification?: VolumeModification;
}
export interface ModifyVolumeAttributeRequest {
  AutoEnableIO?: AttributeBooleanValue;
  VolumeId: string | undefined;
  DryRun?: boolean;
}
export interface ModifyVpcAttributeRequest {
  EnableDnsHostnames?: AttributeBooleanValue;
  EnableDnsSupport?: AttributeBooleanValue;
  VpcId: string | undefined;
  EnableNetworkAddressUsageMetrics?: AttributeBooleanValue;
}
export interface ModifyVpcEndpointRequest {
  DryRun?: boolean;
  VpcEndpointId: string | undefined;
  ResetPolicy?: boolean;
  PolicyDocument?: string;
  AddRouteTableIds?: string[];
  RemoveRouteTableIds?: string[];
  AddSubnetIds?: string[];
  RemoveSubnetIds?: string[];
  AddSecurityGroupIds?: string[];
  RemoveSecurityGroupIds?: string[];
  IpAddressType?: IpAddressType;
  DnsOptions?: DnsOptionsSpecification;
  PrivateDnsEnabled?: boolean;
  SubnetConfigurations?: SubnetConfiguration[];
}
export interface ModifyVpcEndpointResult {
  Return?: boolean;
}
export interface ModifyVpcEndpointConnectionNotificationRequest {
  DryRun?: boolean;
  ConnectionNotificationId: string | undefined;
  ConnectionNotificationArn?: string;
  ConnectionEvents?: string[];
}
export interface ModifyVpcEndpointConnectionNotificationResult {
  ReturnValue?: boolean;
}
export interface ModifyVpcEndpointServiceConfigurationRequest {
  DryRun?: boolean;
  ServiceId: string | undefined;
  PrivateDnsName?: string;
  RemovePrivateDnsName?: boolean;
  AcceptanceRequired?: boolean;
  AddNetworkLoadBalancerArns?: string[];
  RemoveNetworkLoadBalancerArns?: string[];
  AddGatewayLoadBalancerArns?: string[];
  RemoveGatewayLoadBalancerArns?: string[];
  AddSupportedIpAddressTypes?: string[];
  RemoveSupportedIpAddressTypes?: string[];
}
export interface ModifyVpcEndpointServiceConfigurationResult {
  Return?: boolean;
}
export interface ModifyVpcEndpointServicePayerResponsibilityRequest {
  DryRun?: boolean;
  ServiceId: string | undefined;
  PayerResponsibility: PayerResponsibility | undefined;
}
export interface ModifyVpcEndpointServicePayerResponsibilityResult {
  ReturnValue?: boolean;
}
export interface ModifyVpcEndpointServicePermissionsRequest {
  DryRun?: boolean;
  ServiceId: string | undefined;
  AddAllowedPrincipals?: string[];
  RemoveAllowedPrincipals?: string[];
}
export interface ModifyVpcEndpointServicePermissionsResult {
  AddedPrincipals?: AddedPrincipal[];
  ReturnValue?: boolean;
}
export interface PeeringConnectionOptionsRequest {
  AllowDnsResolutionFromRemoteVpc?: boolean;
  AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean;
  AllowEgressFromLocalVpcToRemoteClassicLink?: boolean;
}
export interface ModifyVpcPeeringConnectionOptionsRequest {
  AccepterPeeringConnectionOptions?: PeeringConnectionOptionsRequest;
  DryRun?: boolean;
  RequesterPeeringConnectionOptions?: PeeringConnectionOptionsRequest;
  VpcPeeringConnectionId: string | undefined;
}
export interface PeeringConnectionOptions {
  AllowDnsResolutionFromRemoteVpc?: boolean;
  AllowEgressFromLocalClassicLinkToRemoteVpc?: boolean;
  AllowEgressFromLocalVpcToRemoteClassicLink?: boolean;
}
export interface ModifyVpcPeeringConnectionOptionsResult {
  AccepterPeeringConnectionOptions?: PeeringConnectionOptions;
  RequesterPeeringConnectionOptions?: PeeringConnectionOptions;
}
export declare const VpcTenancy: {
  readonly default: "default";
};
export type VpcTenancy = (typeof VpcTenancy)[keyof typeof VpcTenancy];
export interface ModifyVpcTenancyRequest {
  VpcId: string | undefined;
  InstanceTenancy: VpcTenancy | undefined;
  DryRun?: boolean;
}
export interface ModifyVpcTenancyResult {
  ReturnValue?: boolean;
}
export interface ModifyVpnConnectionRequest {
  VpnConnectionId: string | undefined;
  TransitGatewayId?: string;
  CustomerGatewayId?: string;
  VpnGatewayId?: string;
  DryRun?: boolean;
}
export declare const GetInstanceTpmEkPubResultFilterSensitiveLog: (
  obj: GetInstanceTpmEkPubResult
) => any;
export declare const GetLaunchTemplateDataResultFilterSensitiveLog: (
  obj: GetLaunchTemplateDataResult
) => any;
export declare const GetPasswordDataResultFilterSensitiveLog: (
  obj: GetPasswordDataResult
) => any;
export declare const GetVpnConnectionDeviceSampleConfigurationResultFilterSensitiveLog: (
  obj: GetVpnConnectionDeviceSampleConfigurationResult
) => any;
export declare const ImageDiskContainerFilterSensitiveLog: (
  obj: ImageDiskContainer
) => any;
export declare const ImportImageRequestFilterSensitiveLog: (
  obj: ImportImageRequest
) => any;
export declare const ImportImageResultFilterSensitiveLog: (
  obj: ImportImageResult
) => any;
export declare const DiskImageDetailFilterSensitiveLog: (
  obj: DiskImageDetail
) => any;
export declare const DiskImageFilterSensitiveLog: (obj: DiskImage) => any;
export declare const UserDataFilterSensitiveLog: (obj: UserData) => any;
export declare const ImportInstanceLaunchSpecificationFilterSensitiveLog: (
  obj: ImportInstanceLaunchSpecification
) => any;
export declare const ImportInstanceRequestFilterSensitiveLog: (
  obj: ImportInstanceRequest
) => any;
export declare const ImportInstanceResultFilterSensitiveLog: (
  obj: ImportInstanceResult
) => any;
export declare const SnapshotDiskContainerFilterSensitiveLog: (
  obj: SnapshotDiskContainer
) => any;
export declare const ImportSnapshotRequestFilterSensitiveLog: (
  obj: ImportSnapshotRequest
) => any;
export declare const ImportSnapshotResultFilterSensitiveLog: (
  obj: ImportSnapshotResult
) => any;
export declare const ImportVolumeRequestFilterSensitiveLog: (
  obj: ImportVolumeRequest
) => any;
export declare const ImportVolumeResultFilterSensitiveLog: (
  obj: ImportVolumeResult
) => any;
export declare const ModifyVerifiedAccessTrustProviderOidcOptionsFilterSensitiveLog: (
  obj: ModifyVerifiedAccessTrustProviderOidcOptions
) => any;
export declare const ModifyVerifiedAccessTrustProviderRequestFilterSensitiveLog: (
  obj: ModifyVerifiedAccessTrustProviderRequest
) => any;
export declare const ModifyVerifiedAccessTrustProviderResultFilterSensitiveLog: (
  obj: ModifyVerifiedAccessTrustProviderResult
) => any;
