@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Amazon Route 53
@version 2013-04-01
@auth AWS SigV4
@endpoints 70
@hint download_for_search
@toc 2013-04-01(70)

@endpoint POST /2013-04-01/keysigningkey/{HostedZoneId}/{Name}/activate
@required {HostedZoneId: str, Name: str}
@returns(200) {ChangeInfo: ChangeInfo{Id: str, Status: str, SubmittedAt: str(timestamp), Comment: str?}}

@endpoint POST /2013-04-01/hostedzone/{Id}/associatevpc
@required {HostedZoneId: str, VPC: VPC}
@optional {Comment: str}
@returns(200) {ChangeInfo: ChangeInfo{Id: str, Status: str, SubmittedAt: str(timestamp), Comment: str?}}

@endpoint POST /2013-04-01/cidrcollection/{CidrCollectionId}
@required {Id: str, Changes: [CidrCollectionChange]}
@optional {CollectionVersion: int(i64)}
@returns(200) {Id: str}

@endpoint POST /2013-04-01/hostedzone/{Id}/rrset/
@required {HostedZoneId: str, ChangeBatch: ChangeBatch}
@returns(200) {ChangeInfo: ChangeInfo{Id: str, Status: str, SubmittedAt: str(timestamp), Comment: str?}}

@endpoint POST /2013-04-01/tags/{ResourceType}/{ResourceId}
@required {ResourceType: str, ResourceId: str}
@optional {AddTags: [Tag], RemoveTagKeys: [str]}

@endpoint POST /2013-04-01/cidrcollection
@required {Name: str, CallerReference: str}
@returns(200) {Collection: CidrCollection?{Arn: str?, Id: str?, Name: str?, Version: int(i64)?}, Location: str?}

@endpoint POST /2013-04-01/healthcheck
@required {CallerReference: str, HealthCheckConfig: HealthCheckConfig}
@returns(200) {HealthCheck: HealthCheck{Id: str, CallerReference: str, LinkedService: LinkedService?{ServicePrincipal: str?, Description: str?}, HealthCheckConfig: HealthCheckConfig{IPAddress: str?, Port: int?, Type: str, ResourcePath: str?, FullyQualifiedDomainName: str?, SearchString: str?, RequestInterval: int?, FailureThreshold: int?, MeasureLatency: bool?, Inverted: bool?, Disabled: bool?, HealthThreshold: int?, ChildHealthChecks: [str]?, EnableSNI: bool?, Regions: [str]?, AlarmIdentifier: AlarmIdentifier?{Region: str, Name: str}, InsufficientDataHealthStatus: str?, RoutingControlArn: str?}, HealthCheckVersion: int(i64), CloudWatchAlarmConfiguration: CloudWatchAlarmConfiguration?{EvaluationPeriods: int, Threshold: num(f64), ComparisonOperator: str, Period: int, MetricName: str, Namespace: str, Statistic: str, Dimensions: [Dimension]?}}, Location: str}

@endpoint POST /2013-04-01/hostedzone
@required {Name: str, CallerReference: str}
@optional {VPC: VPC, HostedZoneConfig: HostedZoneConfig, DelegationSetId: str}
@returns(200) {HostedZone: HostedZone{Id: str, Name: str, CallerReference: str, Config: HostedZoneConfig?{Comment: str?, PrivateZone: bool?}, ResourceRecordSetCount: int(i64)?, LinkedService: LinkedService?{ServicePrincipal: str?, Description: str?}}, ChangeInfo: ChangeInfo{Id: str, Status: str, SubmittedAt: str(timestamp), Comment: str?}, DelegationSet: DelegationSet{Id: str?, CallerReference: str?, NameServers: [str]}, VPC: VPC?{VPCRegion: str?, VPCId: str?}, Location: str}

@endpoint POST /2013-04-01/keysigningkey
@required {CallerReference: str, HostedZoneId: str, KeyManagementServiceArn: str, Name: str, Status: str}
@returns(200) {ChangeInfo: ChangeInfo{Id: str, Status: str, SubmittedAt: str(timestamp), Comment: str?}, KeySigningKey: KeySigningKey{Name: str?, KmsArn: str?, Flag: int?, SigningAlgorithmMnemonic: str?, SigningAlgorithmType: int?, DigestAlgorithmMnemonic: str?, DigestAlgorithmType: int?, KeyTag: int?, DigestValue: str?, PublicKey: str?, DSRecord: str?, DNSKEYRecord: str?, Status: str?, StatusMessage: str?, CreatedDate: str(timestamp)?, LastModifiedDate: str(timestamp)?}, Location: str}

@endpoint POST /2013-04-01/queryloggingconfig
@required {HostedZoneId: str, CloudWatchLogsLogGroupArn: str}
@returns(200) {QueryLoggingConfig: QueryLoggingConfig{Id: str, HostedZoneId: str, CloudWatchLogsLogGroupArn: str}, Location: str}

@endpoint POST /2013-04-01/delegationset
@required {CallerReference: str}
@optional {HostedZoneId: str}
@returns(200) {DelegationSet: DelegationSet{Id: str?, CallerReference: str?, NameServers: [str]}, Location: str}

@endpoint POST /2013-04-01/trafficpolicy
@required {Name: str, Document: str}
@optional {Comment: str}
@returns(200) {TrafficPolicy: TrafficPolicy{Id: str, Version: int, Name: str, Type: str, Document: str, Comment: str?}, Location: str}

@endpoint POST /2013-04-01/trafficpolicyinstance
@required {HostedZoneId: str, Name: str, TTL: int(i64), TrafficPolicyId: str, TrafficPolicyVersion: int}
@returns(200) {TrafficPolicyInstance: TrafficPolicyInstance{Id: str, HostedZoneId: str, Name: str, TTL: int(i64), State: str, Message: str, TrafficPolicyId: str, TrafficPolicyVersion: int, TrafficPolicyType: str}, Location: str}

@endpoint POST /2013-04-01/trafficpolicy/{Id}
@required {Id: str, Document: str}
@optional {Comment: str}
@returns(200) {TrafficPolicy: TrafficPolicy{Id: str, Version: int, Name: str, Type: str, Document: str, Comment: str?}, Location: str}

@endpoint POST /2013-04-01/hostedzone/{Id}/authorizevpcassociation
@required {HostedZoneId: str, VPC: VPC}
@returns(200) {HostedZoneId: str, VPC: VPC{VPCRegion: str?, VPCId: str?}}

@endpoint POST /2013-04-01/keysigningkey/{HostedZoneId}/{Name}/deactivate
@required {HostedZoneId: str, Name: str}
@returns(200) {ChangeInfo: ChangeInfo{Id: str, Status: str, SubmittedAt: str(timestamp), Comment: str?}}

@endpoint DELETE /2013-04-01/cidrcollection/{CidrCollectionId}
@required {Id: str}

@endpoint DELETE /2013-04-01/healthcheck/{HealthCheckId}
@required {HealthCheckId: str}

@endpoint DELETE /2013-04-01/hostedzone/{Id}
@required {Id: str}
@returns(200) {ChangeInfo: ChangeInfo{Id: str, Status: str, SubmittedAt: str(timestamp), Comment: str?}}

@endpoint DELETE /2013-04-01/keysigningkey/{HostedZoneId}/{Name}
@required {HostedZoneId: str, Name: str}
@returns(200) {ChangeInfo: ChangeInfo{Id: str, Status: str, SubmittedAt: str(timestamp), Comment: str?}}

@endpoint DELETE /2013-04-01/queryloggingconfig/{Id}
@required {Id: str}

@endpoint DELETE /2013-04-01/delegationset/{Id}
@required {Id: str}

@endpoint DELETE /2013-04-01/trafficpolicy/{Id}/{Version}
@required {Id: str, Version: int}

@endpoint DELETE /2013-04-01/trafficpolicyinstance/{Id}
@required {Id: str}

@endpoint POST /2013-04-01/hostedzone/{Id}/deauthorizevpcassociation
@required {HostedZoneId: str, VPC: VPC}

@endpoint POST /2013-04-01/hostedzone/{Id}/disable-dnssec
@required {HostedZoneId: str}
@returns(200) {ChangeInfo: ChangeInfo{Id: str, Status: str, SubmittedAt: str(timestamp), Comment: str?}}

@endpoint POST /2013-04-01/hostedzone/{Id}/disassociatevpc
@required {HostedZoneId: str, VPC: VPC}
@optional {Comment: str}
@returns(200) {ChangeInfo: ChangeInfo{Id: str, Status: str, SubmittedAt: str(timestamp), Comment: str?}}

@endpoint POST /2013-04-01/hostedzone/{Id}/enable-dnssec
@required {HostedZoneId: str}
@returns(200) {ChangeInfo: ChangeInfo{Id: str, Status: str, SubmittedAt: str(timestamp), Comment: str?}}

@endpoint GET /2013-04-01/accountlimit/{Type}
@required {Type: str}
@returns(200) {Limit: AccountLimit{Type: str, Value: int(i64)}, Count: int(i64)}

@endpoint GET /2013-04-01/change/{Id}
@required {Id: str}
@returns(200) {ChangeInfo: ChangeInfo{Id: str, Status: str, SubmittedAt: str(timestamp), Comment: str?}}

@endpoint GET /2013-04-01/checkeripranges
@returns(200) {CheckerIpRanges: [str]}

@endpoint GET /2013-04-01/hostedzone/{Id}/dnssec
@required {HostedZoneId: str}
@returns(200) {Status: DNSSECStatus{ServeSignature: str?, StatusMessage: str?}, KeySigningKeys: [KeySigningKey]}

@endpoint GET /2013-04-01/geolocation
@optional {continentcode: str, countrycode: str, subdivisioncode: str}
@returns(200) {GeoLocationDetails: GeoLocationDetails{ContinentCode: str?, ContinentName: str?, CountryCode: str?, CountryName: str?, SubdivisionCode: str?, SubdivisionName: str?}}

@endpoint GET /2013-04-01/healthcheck/{HealthCheckId}
@required {HealthCheckId: str}
@returns(200) {HealthCheck: HealthCheck{Id: str, CallerReference: str, LinkedService: LinkedService?{ServicePrincipal: str?, Description: str?}, HealthCheckConfig: HealthCheckConfig{IPAddress: str?, Port: int?, Type: str, ResourcePath: str?, FullyQualifiedDomainName: str?, SearchString: str?, RequestInterval: int?, FailureThreshold: int?, MeasureLatency: bool?, Inverted: bool?, Disabled: bool?, HealthThreshold: int?, ChildHealthChecks: [str]?, EnableSNI: bool?, Regions: [str]?, AlarmIdentifier: AlarmIdentifier?{Region: str, Name: str}, InsufficientDataHealthStatus: str?, RoutingControlArn: str?}, HealthCheckVersion: int(i64), CloudWatchAlarmConfiguration: CloudWatchAlarmConfiguration?{EvaluationPeriods: int, Threshold: num(f64), ComparisonOperator: str, Period: int, MetricName: str, Namespace: str, Statistic: str, Dimensions: [Dimension]?}}}

@endpoint GET /2013-04-01/healthcheckcount
@returns(200) {HealthCheckCount: int(i64)}

@endpoint GET /2013-04-01/healthcheck/{HealthCheckId}/lastfailurereason
@required {HealthCheckId: str}
@returns(200) {HealthCheckObservations: [HealthCheckObservation]}

@endpoint GET /2013-04-01/healthcheck/{HealthCheckId}/status
@required {HealthCheckId: str}
@returns(200) {HealthCheckObservations: [HealthCheckObservation]}

@endpoint GET /2013-04-01/hostedzone/{Id}
@required {Id: str}
@returns(200) {HostedZone: HostedZone{Id: str, Name: str, CallerReference: str, Config: HostedZoneConfig?{Comment: str?, PrivateZone: bool?}, ResourceRecordSetCount: int(i64)?, LinkedService: LinkedService?{ServicePrincipal: str?, Description: str?}}, DelegationSet: DelegationSet?{Id: str?, CallerReference: str?, NameServers: [str]}, VPCs: [VPC]?}

@endpoint GET /2013-04-01/hostedzonecount
@returns(200) {HostedZoneCount: int(i64)}

@endpoint GET /2013-04-01/hostedzonelimit/{Id}/{Type}
@required {Type: str, HostedZoneId: str}
@returns(200) {Limit: HostedZoneLimit{Type: str, Value: int(i64)}, Count: int(i64)}

@endpoint GET /2013-04-01/queryloggingconfig/{Id}
@required {Id: str}
@returns(200) {QueryLoggingConfig: QueryLoggingConfig{Id: str, HostedZoneId: str, CloudWatchLogsLogGroupArn: str}}

@endpoint GET /2013-04-01/delegationset/{Id}
@required {Id: str}
@returns(200) {DelegationSet: DelegationSet{Id: str?, CallerReference: str?, NameServers: [str]}}

@endpoint GET /2013-04-01/reusabledelegationsetlimit/{Id}/{Type}
@required {Type: str, DelegationSetId: str}
@returns(200) {Limit: ReusableDelegationSetLimit{Type: str, Value: int(i64)}, Count: int(i64)}

@endpoint GET /2013-04-01/trafficpolicy/{Id}/{Version}
@required {Id: str, Version: int}
@returns(200) {TrafficPolicy: TrafficPolicy{Id: str, Version: int, Name: str, Type: str, Document: str, Comment: str?}}

@endpoint GET /2013-04-01/trafficpolicyinstance/{Id}
@required {Id: str}
@returns(200) {TrafficPolicyInstance: TrafficPolicyInstance{Id: str, HostedZoneId: str, Name: str, TTL: int(i64), State: str, Message: str, TrafficPolicyId: str, TrafficPolicyVersion: int, TrafficPolicyType: str}}

@endpoint GET /2013-04-01/trafficpolicyinstancecount
@returns(200) {TrafficPolicyInstanceCount: int}

@endpoint GET /2013-04-01/cidrcollection/{CidrCollectionId}/cidrblocks
@required {CollectionId: str}
@optional {location: str, nexttoken: str, maxresults: str}
@returns(200) {NextToken: str?, CidrBlocks: [CidrBlockSummary]?}

@endpoint GET /2013-04-01/cidrcollection
@optional {nexttoken: str, maxresults: str}
@returns(200) {NextToken: str?, CidrCollections: [CollectionSummary]?}

@endpoint GET /2013-04-01/cidrcollection/{CidrCollectionId}
@required {CollectionId: str}
@optional {nexttoken: str, maxresults: str}
@returns(200) {NextToken: str?, CidrLocations: [LocationSummary]?}

@endpoint GET /2013-04-01/geolocations
@optional {startcontinentcode: str, startcountrycode: str, startsubdivisioncode: str, maxitems: str}
@returns(200) {GeoLocationDetailsList: [GeoLocationDetails], IsTruncated: bool, NextContinentCode: str?, NextCountryCode: str?, NextSubdivisionCode: str?, MaxItems: str}

@endpoint GET /2013-04-01/healthcheck
@optional {marker: str, maxitems: str}
@returns(200) {HealthChecks: [HealthCheck], Marker: str, IsTruncated: bool, NextMarker: str?, MaxItems: str}

@endpoint GET /2013-04-01/hostedzone
@optional {marker: str, maxitems: str, delegationsetid: str, hostedzonetype: str}
@returns(200) {HostedZones: [HostedZone], Marker: str, IsTruncated: bool, NextMarker: str?, MaxItems: str}

@endpoint GET /2013-04-01/hostedzonesbyname
@optional {dnsname: str, hostedzoneid: str, maxitems: str}
@returns(200) {HostedZones: [HostedZone], DNSName: str?, HostedZoneId: str?, IsTruncated: bool, NextDNSName: str?, NextHostedZoneId: str?, MaxItems: str}

@endpoint GET /2013-04-01/hostedzonesbyvpc
@required {vpcid: str, vpcregion: str}
@optional {maxitems: str, nexttoken: str}
@returns(200) {HostedZoneSummaries: [HostedZoneSummary], MaxItems: str, NextToken: str?}

@endpoint GET /2013-04-01/queryloggingconfig
@optional {hostedzoneid: str, nexttoken: str, maxresults: str}
@returns(200) {QueryLoggingConfigs: [QueryLoggingConfig], NextToken: str?}

@endpoint GET /2013-04-01/hostedzone/{Id}/rrset
@required {HostedZoneId: str}
@optional {name: str, type: str, identifier: str, maxitems: str}
@returns(200) {ResourceRecordSets: [ResourceRecordSet], IsTruncated: bool, NextRecordName: str?, NextRecordType: str?, NextRecordIdentifier: str?, MaxItems: str}

@endpoint GET /2013-04-01/delegationset
@optional {marker: str, maxitems: str}
@returns(200) {DelegationSets: [DelegationSet], Marker: str, IsTruncated: bool, NextMarker: str?, MaxItems: str}

@endpoint GET /2013-04-01/tags/{ResourceType}/{ResourceId}
@required {ResourceType: str, ResourceId: str}
@returns(200) {ResourceTagSet: ResourceTagSet{ResourceType: str?, ResourceId: str?, Tags: [Tag]?}}

@endpoint POST /2013-04-01/tags/{ResourceType}
@required {ResourceType: str, ResourceIds: [str]}
@returns(200) {ResourceTagSets: [ResourceTagSet]}

@endpoint GET /2013-04-01/trafficpolicies
@optional {trafficpolicyid: str, maxitems: str}
@returns(200) {TrafficPolicySummaries: [TrafficPolicySummary], IsTruncated: bool, TrafficPolicyIdMarker: str, MaxItems: str}

@endpoint GET /2013-04-01/trafficpolicyinstances
@optional {hostedzoneid: str, trafficpolicyinstancename: str, trafficpolicyinstancetype: str, maxitems: str}
@returns(200) {TrafficPolicyInstances: [TrafficPolicyInstance], HostedZoneIdMarker: str?, TrafficPolicyInstanceNameMarker: str?, TrafficPolicyInstanceTypeMarker: str?, IsTruncated: bool, MaxItems: str}

@endpoint GET /2013-04-01/trafficpolicyinstances/hostedzone
@required {id: str}
@optional {trafficpolicyinstancename: str, trafficpolicyinstancetype: str, maxitems: str}
@returns(200) {TrafficPolicyInstances: [TrafficPolicyInstance], TrafficPolicyInstanceNameMarker: str?, TrafficPolicyInstanceTypeMarker: str?, IsTruncated: bool, MaxItems: str}

@endpoint GET /2013-04-01/trafficpolicyinstances/trafficpolicy
@required {id: str, version: int}
@optional {hostedzoneid: str, trafficpolicyinstancename: str, trafficpolicyinstancetype: str, maxitems: str}
@returns(200) {TrafficPolicyInstances: [TrafficPolicyInstance], HostedZoneIdMarker: str?, TrafficPolicyInstanceNameMarker: str?, TrafficPolicyInstanceTypeMarker: str?, IsTruncated: bool, MaxItems: str}

@endpoint GET /2013-04-01/trafficpolicies/{Id}/versions
@required {Id: str}
@optional {trafficpolicyversion: str, maxitems: str}
@returns(200) {TrafficPolicies: [TrafficPolicy], IsTruncated: bool, TrafficPolicyVersionMarker: str, MaxItems: str}

@endpoint GET /2013-04-01/hostedzone/{Id}/authorizevpcassociation
@required {HostedZoneId: str}
@optional {nexttoken: str, maxresults: str}
@returns(200) {HostedZoneId: str, NextToken: str?, VPCs: [VPC]}

@endpoint GET /2013-04-01/testdnsanswer
@required {hostedzoneid: str, recordname: str, recordtype: str}
@optional {resolverip: str, edns0clientsubnetip: str, edns0clientsubnetmask: str}
@returns(200) {Nameserver: str, RecordName: str, RecordType: str, RecordData: [str], ResponseCode: str, Protocol: str}

@endpoint POST /2013-04-01/healthcheck/{HealthCheckId}
@required {HealthCheckId: str}
@optional {HealthCheckVersion: int(i64), IPAddress: str, Port: int, ResourcePath: str, FullyQualifiedDomainName: str, SearchString: str, FailureThreshold: int, Inverted: bool, Disabled: bool, HealthThreshold: int, ChildHealthChecks: [str], EnableSNI: bool, Regions: [str], AlarmIdentifier: AlarmIdentifier, InsufficientDataHealthStatus: str, ResetElements: [str]}
@returns(200) {HealthCheck: HealthCheck{Id: str, CallerReference: str, LinkedService: LinkedService?{ServicePrincipal: str?, Description: str?}, HealthCheckConfig: HealthCheckConfig{IPAddress: str?, Port: int?, Type: str, ResourcePath: str?, FullyQualifiedDomainName: str?, SearchString: str?, RequestInterval: int?, FailureThreshold: int?, MeasureLatency: bool?, Inverted: bool?, Disabled: bool?, HealthThreshold: int?, ChildHealthChecks: [str]?, EnableSNI: bool?, Regions: [str]?, AlarmIdentifier: AlarmIdentifier?{Region: str, Name: str}, InsufficientDataHealthStatus: str?, RoutingControlArn: str?}, HealthCheckVersion: int(i64), CloudWatchAlarmConfiguration: CloudWatchAlarmConfiguration?{EvaluationPeriods: int, Threshold: num(f64), ComparisonOperator: str, Period: int, MetricName: str, Namespace: str, Statistic: str, Dimensions: [Dimension]?}}}

@endpoint POST /2013-04-01/hostedzone/{Id}
@required {Id: str}
@optional {Comment: str}
@returns(200) {HostedZone: HostedZone{Id: str, Name: str, CallerReference: str, Config: HostedZoneConfig?{Comment: str?, PrivateZone: bool?}, ResourceRecordSetCount: int(i64)?, LinkedService: LinkedService?{ServicePrincipal: str?, Description: str?}}}

@endpoint POST /2013-04-01/trafficpolicy/{Id}/{Version}
@required {Id: str, Version: int, Comment: str}
@returns(200) {TrafficPolicy: TrafficPolicy{Id: str, Version: int, Name: str, Type: str, Document: str, Comment: str?}}

@endpoint POST /2013-04-01/trafficpolicyinstance/{Id}
@required {Id: str, TTL: int(i64), TrafficPolicyId: str, TrafficPolicyVersion: int}
@returns(200) {TrafficPolicyInstance: TrafficPolicyInstance{Id: str, HostedZoneId: str, Name: str, TTL: int(i64), State: str, Message: str, TrafficPolicyId: str, TrafficPolicyVersion: int, TrafficPolicyType: str}}

@end
