import {
  AcceleratedRecoveryStatus,
  AccountLimitType,
  ChangeAction,
  ChangeStatus,
  CidrCollectionChangeAction,
  CloudWatchRegion,
  ComparisonOperator,
  HealthCheckRegion,
  HealthCheckType,
  HostedZoneLimitType,
  HostedZoneType,
  InsufficientDataHealthStatus,
  ResettableElementName,
  ResourceRecordSetFailover,
  ResourceRecordSetRegion,
  ReusableDelegationSetLimitType,
  RRType,
  Statistic,
  TagResourceType,
  VPCRegion,
} from "./enums";
export interface AccountLimit {
  Type: AccountLimitType | undefined;
  Value: number | undefined;
}
export interface ActivateKeySigningKeyRequest {
  HostedZoneId: string | undefined;
  Name: string | undefined;
}
export interface ChangeInfo {
  Id: string | undefined;
  Status: ChangeStatus | undefined;
  SubmittedAt: Date | undefined;
  Comment?: string | undefined;
}
export interface ActivateKeySigningKeyResponse {
  ChangeInfo: ChangeInfo | undefined;
}
export interface AlarmIdentifier {
  Region: CloudWatchRegion | undefined;
  Name: string | undefined;
}
export interface AliasTarget {
  HostedZoneId: string | undefined;
  DNSName: string | undefined;
  EvaluateTargetHealth: boolean | undefined;
}
export interface VPC {
  VPCRegion?: VPCRegion | undefined;
  VPCId?: string | undefined;
}
export interface AssociateVPCWithHostedZoneRequest {
  HostedZoneId: string | undefined;
  VPC: VPC | undefined;
  Comment?: string | undefined;
}
export interface AssociateVPCWithHostedZoneResponse {
  ChangeInfo: ChangeInfo | undefined;
}
export interface CidrCollectionChange {
  LocationName: string | undefined;
  Action: CidrCollectionChangeAction | undefined;
  CidrList: string[] | undefined;
}
export interface ChangeCidrCollectionRequest {
  Id: string | undefined;
  CollectionVersion?: number | undefined;
  Changes: CidrCollectionChange[] | undefined;
}
export interface ChangeCidrCollectionResponse {
  Id: string | undefined;
}
export interface CidrRoutingConfig {
  CollectionId: string | undefined;
  LocationName: string | undefined;
}
export interface GeoLocation {
  ContinentCode?: string | undefined;
  CountryCode?: string | undefined;
  SubdivisionCode?: string | undefined;
}
export interface Coordinates {
  Latitude: string | undefined;
  Longitude: string | undefined;
}
export interface GeoProximityLocation {
  AWSRegion?: string | undefined;
  LocalZoneGroup?: string | undefined;
  Coordinates?: Coordinates | undefined;
  Bias?: number | undefined;
}
export interface ResourceRecord {
  Value: string | undefined;
}
export interface ResourceRecordSet {
  Name: string | undefined;
  Type: RRType | undefined;
  SetIdentifier?: string | undefined;
  Weight?: number | undefined;
  Region?: ResourceRecordSetRegion | undefined;
  GeoLocation?: GeoLocation | undefined;
  Failover?: ResourceRecordSetFailover | undefined;
  MultiValueAnswer?: boolean | undefined;
  TTL?: number | undefined;
  ResourceRecords?: ResourceRecord[] | undefined;
  AliasTarget?: AliasTarget | undefined;
  HealthCheckId?: string | undefined;
  TrafficPolicyInstanceId?: string | undefined;
  CidrRoutingConfig?: CidrRoutingConfig | undefined;
  GeoProximityLocation?: GeoProximityLocation | undefined;
}
export interface Change {
  Action: ChangeAction | undefined;
  ResourceRecordSet: ResourceRecordSet | undefined;
}
export interface ChangeBatch {
  Comment?: string | undefined;
  Changes: Change[] | undefined;
}
export interface ChangeResourceRecordSetsRequest {
  HostedZoneId: string | undefined;
  ChangeBatch: ChangeBatch | undefined;
}
export interface ChangeResourceRecordSetsResponse {
  ChangeInfo: ChangeInfo | undefined;
}
export interface Tag {
  Key?: string | undefined;
  Value?: string | undefined;
}
export interface ChangeTagsForResourceRequest {
  ResourceType: TagResourceType | undefined;
  ResourceId: string | undefined;
  AddTags?: Tag[] | undefined;
  RemoveTagKeys?: string[] | undefined;
}
export interface ChangeTagsForResourceResponse {}
export interface CreateCidrCollectionRequest {
  Name: string | undefined;
  CallerReference: string | undefined;
}
export interface CidrCollection {
  Arn?: string | undefined;
  Id?: string | undefined;
  Name?: string | undefined;
  Version?: number | undefined;
}
export interface CreateCidrCollectionResponse {
  Collection?: CidrCollection | undefined;
  Location?: string | undefined;
}
export interface HealthCheckConfig {
  IPAddress?: string | undefined;
  Port?: number | undefined;
  Type: HealthCheckType | undefined;
  ResourcePath?: string | undefined;
  FullyQualifiedDomainName?: string | undefined;
  SearchString?: string | undefined;
  RequestInterval?: number | undefined;
  FailureThreshold?: number | undefined;
  MeasureLatency?: boolean | undefined;
  Inverted?: boolean | undefined;
  Disabled?: boolean | undefined;
  HealthThreshold?: number | undefined;
  ChildHealthChecks?: string[] | undefined;
  EnableSNI?: boolean | undefined;
  Regions?: HealthCheckRegion[] | undefined;
  AlarmIdentifier?: AlarmIdentifier | undefined;
  InsufficientDataHealthStatus?: InsufficientDataHealthStatus | undefined;
  RoutingControlArn?: string | undefined;
}
export interface CreateHealthCheckRequest {
  CallerReference: string | undefined;
  HealthCheckConfig: HealthCheckConfig | undefined;
}
export interface Dimension {
  Name: string | undefined;
  Value: string | undefined;
}
export interface CloudWatchAlarmConfiguration {
  EvaluationPeriods: number | undefined;
  Threshold: number | undefined;
  ComparisonOperator: ComparisonOperator | undefined;
  Period: number | undefined;
  MetricName: string | undefined;
  Namespace: string | undefined;
  Statistic: Statistic | undefined;
  Dimensions?: Dimension[] | undefined;
}
export interface LinkedService {
  ServicePrincipal?: string | undefined;
  Description?: string | undefined;
}
export interface HealthCheck {
  Id: string | undefined;
  CallerReference: string | undefined;
  LinkedService?: LinkedService | undefined;
  HealthCheckConfig: HealthCheckConfig | undefined;
  HealthCheckVersion: number | undefined;
  CloudWatchAlarmConfiguration?: CloudWatchAlarmConfiguration | undefined;
}
export interface CreateHealthCheckResponse {
  HealthCheck: HealthCheck | undefined;
  Location: string | undefined;
}
export interface HostedZoneConfig {
  Comment?: string | undefined;
  PrivateZone?: boolean | undefined;
}
export interface CreateHostedZoneRequest {
  Name: string | undefined;
  VPC?: VPC | undefined;
  CallerReference: string | undefined;
  HostedZoneConfig?: HostedZoneConfig | undefined;
  DelegationSetId?: string | undefined;
}
export interface DelegationSet {
  Id?: string | undefined;
  CallerReference?: string | undefined;
  NameServers: string[] | undefined;
}
export interface HostedZoneFailureReasons {
  AcceleratedRecovery?: string | undefined;
}
export interface HostedZoneFeatures {
  AcceleratedRecoveryStatus?: AcceleratedRecoveryStatus | undefined;
  FailureReasons?: HostedZoneFailureReasons | undefined;
}
export interface HostedZone {
  Id: string | undefined;
  Name: string | undefined;
  CallerReference: string | undefined;
  Config?: HostedZoneConfig | undefined;
  ResourceRecordSetCount?: number | undefined;
  LinkedService?: LinkedService | undefined;
  Features?: HostedZoneFeatures | undefined;
}
export interface CreateHostedZoneResponse {
  HostedZone: HostedZone | undefined;
  ChangeInfo: ChangeInfo | undefined;
  DelegationSet: DelegationSet | undefined;
  VPC?: VPC | undefined;
  Location: string | undefined;
}
export interface CreateKeySigningKeyRequest {
  CallerReference: string | undefined;
  HostedZoneId: string | undefined;
  KeyManagementServiceArn: string | undefined;
  Name: string | undefined;
  Status: string | undefined;
}
export interface KeySigningKey {
  Name?: string | undefined;
  KmsArn?: string | undefined;
  Flag?: number | undefined;
  SigningAlgorithmMnemonic?: string | undefined;
  SigningAlgorithmType?: number | undefined;
  DigestAlgorithmMnemonic?: string | undefined;
  DigestAlgorithmType?: number | undefined;
  KeyTag?: number | undefined;
  DigestValue?: string | undefined;
  PublicKey?: string | undefined;
  DSRecord?: string | undefined;
  DNSKEYRecord?: string | undefined;
  Status?: string | undefined;
  StatusMessage?: string | undefined;
  CreatedDate?: Date | undefined;
  LastModifiedDate?: Date | undefined;
}
export interface CreateKeySigningKeyResponse {
  ChangeInfo: ChangeInfo | undefined;
  KeySigningKey: KeySigningKey | undefined;
  Location: string | undefined;
}
export interface CreateQueryLoggingConfigRequest {
  HostedZoneId: string | undefined;
  CloudWatchLogsLogGroupArn: string | undefined;
}
export interface QueryLoggingConfig {
  Id: string | undefined;
  HostedZoneId: string | undefined;
  CloudWatchLogsLogGroupArn: string | undefined;
}
export interface CreateQueryLoggingConfigResponse {
  QueryLoggingConfig: QueryLoggingConfig | undefined;
  Location: string | undefined;
}
export interface CreateReusableDelegationSetRequest {
  CallerReference: string | undefined;
  HostedZoneId?: string | undefined;
}
export interface CreateReusableDelegationSetResponse {
  DelegationSet: DelegationSet | undefined;
  Location: string | undefined;
}
export interface CreateTrafficPolicyRequest {
  Name: string | undefined;
  Document: string | undefined;
  Comment?: string | undefined;
}
export interface TrafficPolicy {
  Id: string | undefined;
  Version: number | undefined;
  Name: string | undefined;
  Type: RRType | undefined;
  Document: string | undefined;
  Comment?: string | undefined;
}
export interface CreateTrafficPolicyResponse {
  TrafficPolicy: TrafficPolicy | undefined;
  Location: string | undefined;
}
export interface CreateTrafficPolicyInstanceRequest {
  HostedZoneId: string | undefined;
  Name: string | undefined;
  TTL: number | undefined;
  TrafficPolicyId: string | undefined;
  TrafficPolicyVersion: number | undefined;
}
export interface TrafficPolicyInstance {
  Id: string | undefined;
  HostedZoneId: string | undefined;
  Name: string | undefined;
  TTL: number | undefined;
  State: string | undefined;
  Message: string | undefined;
  TrafficPolicyId: string | undefined;
  TrafficPolicyVersion: number | undefined;
  TrafficPolicyType: RRType | undefined;
}
export interface CreateTrafficPolicyInstanceResponse {
  TrafficPolicyInstance: TrafficPolicyInstance | undefined;
  Location: string | undefined;
}
export interface CreateTrafficPolicyVersionRequest {
  Id: string | undefined;
  Document: string | undefined;
  Comment?: string | undefined;
}
export interface CreateTrafficPolicyVersionResponse {
  TrafficPolicy: TrafficPolicy | undefined;
  Location: string | undefined;
}
export interface CreateVPCAssociationAuthorizationRequest {
  HostedZoneId: string | undefined;
  VPC: VPC | undefined;
}
export interface CreateVPCAssociationAuthorizationResponse {
  HostedZoneId: string | undefined;
  VPC: VPC | undefined;
}
export interface DeactivateKeySigningKeyRequest {
  HostedZoneId: string | undefined;
  Name: string | undefined;
}
export interface DeactivateKeySigningKeyResponse {
  ChangeInfo: ChangeInfo | undefined;
}
export interface DeleteCidrCollectionRequest {
  Id: string | undefined;
}
export interface DeleteCidrCollectionResponse {}
export interface DeleteHealthCheckRequest {
  HealthCheckId: string | undefined;
}
export interface DeleteHealthCheckResponse {}
export interface DeleteHostedZoneRequest {
  Id: string | undefined;
}
export interface DeleteHostedZoneResponse {
  ChangeInfo: ChangeInfo | undefined;
}
export interface DeleteKeySigningKeyRequest {
  HostedZoneId: string | undefined;
  Name: string | undefined;
}
export interface DeleteKeySigningKeyResponse {
  ChangeInfo: ChangeInfo | undefined;
}
export interface DeleteQueryLoggingConfigRequest {
  Id: string | undefined;
}
export interface DeleteQueryLoggingConfigResponse {}
export interface DeleteReusableDelegationSetRequest {
  Id: string | undefined;
}
export interface DeleteReusableDelegationSetResponse {}
export interface DeleteTrafficPolicyRequest {
  Id: string | undefined;
  Version: number | undefined;
}
export interface DeleteTrafficPolicyResponse {}
export interface DeleteTrafficPolicyInstanceRequest {
  Id: string | undefined;
}
export interface DeleteTrafficPolicyInstanceResponse {}
export interface DeleteVPCAssociationAuthorizationRequest {
  HostedZoneId: string | undefined;
  VPC: VPC | undefined;
}
export interface DeleteVPCAssociationAuthorizationResponse {}
export interface DisableHostedZoneDNSSECRequest {
  HostedZoneId: string | undefined;
}
export interface DisableHostedZoneDNSSECResponse {
  ChangeInfo: ChangeInfo | undefined;
}
export interface DisassociateVPCFromHostedZoneRequest {
  HostedZoneId: string | undefined;
  VPC: VPC | undefined;
  Comment?: string | undefined;
}
export interface DisassociateVPCFromHostedZoneResponse {
  ChangeInfo: ChangeInfo | undefined;
}
export interface EnableHostedZoneDNSSECRequest {
  HostedZoneId: string | undefined;
}
export interface EnableHostedZoneDNSSECResponse {
  ChangeInfo: ChangeInfo | undefined;
}
export interface GetAccountLimitRequest {
  Type: AccountLimitType | undefined;
}
export interface GetAccountLimitResponse {
  Limit: AccountLimit | undefined;
  Count: number | undefined;
}
export interface GetChangeRequest {
  Id: string | undefined;
}
export interface GetChangeResponse {
  ChangeInfo: ChangeInfo | undefined;
}
export interface GetCheckerIpRangesRequest {}
export interface GetCheckerIpRangesResponse {
  CheckerIpRanges: string[] | undefined;
}
export interface GetDNSSECRequest {
  HostedZoneId: string | undefined;
}
export interface DNSSECStatus {
  ServeSignature?: string | undefined;
  StatusMessage?: string | undefined;
}
export interface GetDNSSECResponse {
  Status: DNSSECStatus | undefined;
  KeySigningKeys: KeySigningKey[] | undefined;
}
export interface GetGeoLocationRequest {
  ContinentCode?: string | undefined;
  CountryCode?: string | undefined;
  SubdivisionCode?: string | undefined;
}
export interface GeoLocationDetails {
  ContinentCode?: string | undefined;
  ContinentName?: string | undefined;
  CountryCode?: string | undefined;
  CountryName?: string | undefined;
  SubdivisionCode?: string | undefined;
  SubdivisionName?: string | undefined;
}
export interface GetGeoLocationResponse {
  GeoLocationDetails: GeoLocationDetails | undefined;
}
export interface GetHealthCheckRequest {
  HealthCheckId: string | undefined;
}
export interface GetHealthCheckResponse {
  HealthCheck: HealthCheck | undefined;
}
export interface GetHealthCheckCountRequest {}
export interface GetHealthCheckCountResponse {
  HealthCheckCount: number | undefined;
}
export interface GetHealthCheckLastFailureReasonRequest {
  HealthCheckId: string | undefined;
}
export interface StatusReport {
  Status?: string | undefined;
  CheckedTime?: Date | undefined;
}
export interface HealthCheckObservation {
  Region?: HealthCheckRegion | undefined;
  IPAddress?: string | undefined;
  StatusReport?: StatusReport | undefined;
}
export interface GetHealthCheckLastFailureReasonResponse {
  HealthCheckObservations: HealthCheckObservation[] | undefined;
}
export interface GetHealthCheckStatusRequest {
  HealthCheckId: string | undefined;
}
export interface GetHealthCheckStatusResponse {
  HealthCheckObservations: HealthCheckObservation[] | undefined;
}
export interface GetHostedZoneRequest {
  Id: string | undefined;
}
export interface GetHostedZoneResponse {
  HostedZone: HostedZone | undefined;
  DelegationSet?: DelegationSet | undefined;
  VPCs?: VPC[] | undefined;
}
export interface GetHostedZoneCountRequest {}
export interface GetHostedZoneCountResponse {
  HostedZoneCount: number | undefined;
}
export interface GetHostedZoneLimitRequest {
  Type: HostedZoneLimitType | undefined;
  HostedZoneId: string | undefined;
}
export interface HostedZoneLimit {
  Type: HostedZoneLimitType | undefined;
  Value: number | undefined;
}
export interface GetHostedZoneLimitResponse {
  Limit: HostedZoneLimit | undefined;
  Count: number | undefined;
}
export interface GetQueryLoggingConfigRequest {
  Id: string | undefined;
}
export interface GetQueryLoggingConfigResponse {
  QueryLoggingConfig: QueryLoggingConfig | undefined;
}
export interface GetReusableDelegationSetRequest {
  Id: string | undefined;
}
export interface GetReusableDelegationSetResponse {
  DelegationSet: DelegationSet | undefined;
}
export interface GetReusableDelegationSetLimitRequest {
  Type: ReusableDelegationSetLimitType | undefined;
  DelegationSetId: string | undefined;
}
export interface ReusableDelegationSetLimit {
  Type: ReusableDelegationSetLimitType | undefined;
  Value: number | undefined;
}
export interface GetReusableDelegationSetLimitResponse {
  Limit: ReusableDelegationSetLimit | undefined;
  Count: number | undefined;
}
export interface GetTrafficPolicyRequest {
  Id: string | undefined;
  Version: number | undefined;
}
export interface GetTrafficPolicyResponse {
  TrafficPolicy: TrafficPolicy | undefined;
}
export interface GetTrafficPolicyInstanceRequest {
  Id: string | undefined;
}
export interface GetTrafficPolicyInstanceResponse {
  TrafficPolicyInstance: TrafficPolicyInstance | undefined;
}
export interface GetTrafficPolicyInstanceCountRequest {}
export interface GetTrafficPolicyInstanceCountResponse {
  TrafficPolicyInstanceCount: number | undefined;
}
export interface ListCidrBlocksRequest {
  CollectionId: string | undefined;
  LocationName?: string | undefined;
  NextToken?: string | undefined;
  MaxResults?: number | undefined;
}
export interface CidrBlockSummary {
  CidrBlock?: string | undefined;
  LocationName?: string | undefined;
}
export interface ListCidrBlocksResponse {
  NextToken?: string | undefined;
  CidrBlocks?: CidrBlockSummary[] | undefined;
}
export interface ListCidrCollectionsRequest {
  NextToken?: string | undefined;
  MaxResults?: number | undefined;
}
export interface CollectionSummary {
  Arn?: string | undefined;
  Id?: string | undefined;
  Name?: string | undefined;
  Version?: number | undefined;
}
export interface ListCidrCollectionsResponse {
  NextToken?: string | undefined;
  CidrCollections?: CollectionSummary[] | undefined;
}
export interface ListCidrLocationsRequest {
  CollectionId: string | undefined;
  NextToken?: string | undefined;
  MaxResults?: number | undefined;
}
export interface LocationSummary {
  LocationName?: string | undefined;
}
export interface ListCidrLocationsResponse {
  NextToken?: string | undefined;
  CidrLocations?: LocationSummary[] | undefined;
}
export interface ListGeoLocationsRequest {
  StartContinentCode?: string | undefined;
  StartCountryCode?: string | undefined;
  StartSubdivisionCode?: string | undefined;
  MaxItems?: number | undefined;
}
export interface ListGeoLocationsResponse {
  GeoLocationDetailsList: GeoLocationDetails[] | undefined;
  IsTruncated: boolean | undefined;
  NextContinentCode?: string | undefined;
  NextCountryCode?: string | undefined;
  NextSubdivisionCode?: string | undefined;
  MaxItems: number | undefined;
}
export interface ListHealthChecksRequest {
  Marker?: string | undefined;
  MaxItems?: number | undefined;
}
export interface ListHealthChecksResponse {
  HealthChecks: HealthCheck[] | undefined;
  Marker: string | undefined;
  IsTruncated: boolean | undefined;
  NextMarker?: string | undefined;
  MaxItems: number | undefined;
}
export interface ListHostedZonesRequest {
  Marker?: string | undefined;
  MaxItems?: number | undefined;
  DelegationSetId?: string | undefined;
  HostedZoneType?: HostedZoneType | undefined;
}
export interface ListHostedZonesResponse {
  HostedZones: HostedZone[] | undefined;
  Marker: string | undefined;
  IsTruncated: boolean | undefined;
  NextMarker?: string | undefined;
  MaxItems: number | undefined;
}
export interface ListHostedZonesByNameRequest {
  DNSName?: string | undefined;
  HostedZoneId?: string | undefined;
  MaxItems?: number | undefined;
}
export interface ListHostedZonesByNameResponse {
  HostedZones: HostedZone[] | undefined;
  DNSName?: string | undefined;
  HostedZoneId?: string | undefined;
  IsTruncated: boolean | undefined;
  NextDNSName?: string | undefined;
  NextHostedZoneId?: string | undefined;
  MaxItems: number | undefined;
}
export interface ListHostedZonesByVPCRequest {
  VPCId: string | undefined;
  VPCRegion: VPCRegion | undefined;
  MaxItems?: number | undefined;
  NextToken?: string | undefined;
}
export interface HostedZoneOwner {
  OwningAccount?: string | undefined;
  OwningService?: string | undefined;
}
export interface HostedZoneSummary {
  HostedZoneId: string | undefined;
  Name: string | undefined;
  Owner: HostedZoneOwner | undefined;
}
export interface ListHostedZonesByVPCResponse {
  HostedZoneSummaries: HostedZoneSummary[] | undefined;
  MaxItems: number | undefined;
  NextToken?: string | undefined;
}
export interface ListQueryLoggingConfigsRequest {
  HostedZoneId?: string | undefined;
  NextToken?: string | undefined;
  MaxResults?: number | undefined;
}
export interface ListQueryLoggingConfigsResponse {
  QueryLoggingConfigs: QueryLoggingConfig[] | undefined;
  NextToken?: string | undefined;
}
export interface ListResourceRecordSetsRequest {
  HostedZoneId: string | undefined;
  StartRecordName?: string | undefined;
  StartRecordType?: RRType | undefined;
  StartRecordIdentifier?: string | undefined;
  MaxItems?: number | undefined;
}
export interface ListResourceRecordSetsResponse {
  ResourceRecordSets: ResourceRecordSet[] | undefined;
  IsTruncated: boolean | undefined;
  NextRecordName?: string | undefined;
  NextRecordType?: RRType | undefined;
  NextRecordIdentifier?: string | undefined;
  MaxItems: number | undefined;
}
export interface ListReusableDelegationSetsRequest {
  Marker?: string | undefined;
  MaxItems?: number | undefined;
}
export interface ListReusableDelegationSetsResponse {
  DelegationSets: DelegationSet[] | undefined;
  Marker: string | undefined;
  IsTruncated: boolean | undefined;
  NextMarker?: string | undefined;
  MaxItems: number | undefined;
}
export interface ListTagsForResourceRequest {
  ResourceType: TagResourceType | undefined;
  ResourceId: string | undefined;
}
export interface ResourceTagSet {
  ResourceType?: TagResourceType | undefined;
  ResourceId?: string | undefined;
  Tags?: Tag[] | undefined;
}
export interface ListTagsForResourceResponse {
  ResourceTagSet: ResourceTagSet | undefined;
}
export interface ListTagsForResourcesRequest {
  ResourceType: TagResourceType | undefined;
  ResourceIds: string[] | undefined;
}
export interface ListTagsForResourcesResponse {
  ResourceTagSets: ResourceTagSet[] | undefined;
}
export interface ListTrafficPoliciesRequest {
  TrafficPolicyIdMarker?: string | undefined;
  MaxItems?: number | undefined;
}
export interface TrafficPolicySummary {
  Id: string | undefined;
  Name: string | undefined;
  Type: RRType | undefined;
  LatestVersion: number | undefined;
  TrafficPolicyCount: number | undefined;
}
export interface ListTrafficPoliciesResponse {
  TrafficPolicySummaries: TrafficPolicySummary[] | undefined;
  IsTruncated: boolean | undefined;
  TrafficPolicyIdMarker: string | undefined;
  MaxItems: number | undefined;
}
export interface ListTrafficPolicyInstancesRequest {
  HostedZoneIdMarker?: string | undefined;
  TrafficPolicyInstanceNameMarker?: string | undefined;
  TrafficPolicyInstanceTypeMarker?: RRType | undefined;
  MaxItems?: number | undefined;
}
export interface ListTrafficPolicyInstancesResponse {
  TrafficPolicyInstances: TrafficPolicyInstance[] | undefined;
  HostedZoneIdMarker?: string | undefined;
  TrafficPolicyInstanceNameMarker?: string | undefined;
  TrafficPolicyInstanceTypeMarker?: RRType | undefined;
  IsTruncated: boolean | undefined;
  MaxItems: number | undefined;
}
export interface ListTrafficPolicyInstancesByHostedZoneRequest {
  HostedZoneId: string | undefined;
  TrafficPolicyInstanceNameMarker?: string | undefined;
  TrafficPolicyInstanceTypeMarker?: RRType | undefined;
  MaxItems?: number | undefined;
}
export interface ListTrafficPolicyInstancesByHostedZoneResponse {
  TrafficPolicyInstances: TrafficPolicyInstance[] | undefined;
  TrafficPolicyInstanceNameMarker?: string | undefined;
  TrafficPolicyInstanceTypeMarker?: RRType | undefined;
  IsTruncated: boolean | undefined;
  MaxItems: number | undefined;
}
export interface ListTrafficPolicyInstancesByPolicyRequest {
  TrafficPolicyId: string | undefined;
  TrafficPolicyVersion: number | undefined;
  HostedZoneIdMarker?: string | undefined;
  TrafficPolicyInstanceNameMarker?: string | undefined;
  TrafficPolicyInstanceTypeMarker?: RRType | undefined;
  MaxItems?: number | undefined;
}
export interface ListTrafficPolicyInstancesByPolicyResponse {
  TrafficPolicyInstances: TrafficPolicyInstance[] | undefined;
  HostedZoneIdMarker?: string | undefined;
  TrafficPolicyInstanceNameMarker?: string | undefined;
  TrafficPolicyInstanceTypeMarker?: RRType | undefined;
  IsTruncated: boolean | undefined;
  MaxItems: number | undefined;
}
export interface ListTrafficPolicyVersionsRequest {
  Id: string | undefined;
  TrafficPolicyVersionMarker?: string | undefined;
  MaxItems?: number | undefined;
}
export interface ListTrafficPolicyVersionsResponse {
  TrafficPolicies: TrafficPolicy[] | undefined;
  IsTruncated: boolean | undefined;
  TrafficPolicyVersionMarker: string | undefined;
  MaxItems: number | undefined;
}
export interface ListVPCAssociationAuthorizationsRequest {
  HostedZoneId: string | undefined;
  NextToken?: string | undefined;
  MaxResults?: number | undefined;
}
export interface ListVPCAssociationAuthorizationsResponse {
  HostedZoneId: string | undefined;
  NextToken?: string | undefined;
  VPCs: VPC[] | undefined;
}
export interface TestDNSAnswerRequest {
  HostedZoneId: string | undefined;
  RecordName: string | undefined;
  RecordType: RRType | undefined;
  ResolverIP?: string | undefined;
  EDNS0ClientSubnetIP?: string | undefined;
  EDNS0ClientSubnetMask?: string | undefined;
}
export interface TestDNSAnswerResponse {
  Nameserver: string | undefined;
  RecordName: string | undefined;
  RecordType: RRType | undefined;
  RecordData: string[] | undefined;
  ResponseCode: string | undefined;
  Protocol: string | undefined;
}
export interface UpdateHealthCheckRequest {
  HealthCheckId: string | undefined;
  HealthCheckVersion?: number | undefined;
  IPAddress?: string | undefined;
  Port?: number | undefined;
  ResourcePath?: string | undefined;
  FullyQualifiedDomainName?: string | undefined;
  SearchString?: string | undefined;
  FailureThreshold?: number | undefined;
  Inverted?: boolean | undefined;
  Disabled?: boolean | undefined;
  HealthThreshold?: number | undefined;
  ChildHealthChecks?: string[] | undefined;
  EnableSNI?: boolean | undefined;
  Regions?: HealthCheckRegion[] | undefined;
  AlarmIdentifier?: AlarmIdentifier | undefined;
  InsufficientDataHealthStatus?: InsufficientDataHealthStatus | undefined;
  ResetElements?: ResettableElementName[] | undefined;
}
export interface UpdateHealthCheckResponse {
  HealthCheck: HealthCheck | undefined;
}
export interface UpdateHostedZoneCommentRequest {
  Id: string | undefined;
  Comment?: string | undefined;
}
export interface UpdateHostedZoneCommentResponse {
  HostedZone: HostedZone | undefined;
}
export interface UpdateHostedZoneFeaturesRequest {
  HostedZoneId: string | undefined;
  EnableAcceleratedRecovery?: boolean | undefined;
}
export interface UpdateHostedZoneFeaturesResponse {}
export interface UpdateTrafficPolicyCommentRequest {
  Id: string | undefined;
  Version: number | undefined;
  Comment: string | undefined;
}
export interface UpdateTrafficPolicyCommentResponse {
  TrafficPolicy: TrafficPolicy | undefined;
}
export interface UpdateTrafficPolicyInstanceRequest {
  Id: string | undefined;
  TTL: number | undefined;
  TrafficPolicyId: string | undefined;
  TrafficPolicyVersion: number | undefined;
}
export interface UpdateTrafficPolicyInstanceResponse {
  TrafficPolicyInstance: TrafficPolicyInstance | undefined;
}
