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

@endpoint POST /
@required {CreatorRequestId: str, FirewallRuleGroupId: str, VpcId: str, Priority: int, Name: str}
@optional {MutationProtection: str, Tags: [Tag]}
@returns(200) {FirewallRuleGroupAssociation: FirewallRuleGroupAssociation?{Id: str?, Arn: str?, FirewallRuleGroupId: str?, VpcId: str?, Name: str?, Priority: int?, MutationProtection: str?, ManagedOwnerName: str?, Status: str?, StatusMessage: str?, CreatorRequestId: str?, CreationTime: str?, ModificationTime: str?}}

@endpoint POST /
@required {ResolverEndpointId: str, IpAddress: IpAddressUpdate}
@returns(200) {ResolverEndpoint: ResolverEndpoint?{Id: str?, CreatorRequestId: str?, Arn: str?, Name: str?, SecurityGroupIds: [str]?, Direction: str?, IpAddressCount: int?, HostVPCId: str?, Status: str?, StatusMessage: str?, CreationTime: str?, ModificationTime: str?, OutpostArn: str?, PreferredInstanceType: str?, ResolverEndpointType: str?, Protocols: [str]?}}

@endpoint POST /
@required {ResolverQueryLogConfigId: str, ResourceId: str}
@returns(200) {ResolverQueryLogConfigAssociation: ResolverQueryLogConfigAssociation?{Id: str?, ResolverQueryLogConfigId: str?, ResourceId: str?, Status: str?, Error: str?, ErrorMessage: str?, CreationTime: str?}}

@endpoint POST /
@required {ResolverRuleId: str, VPCId: str}
@optional {Name: str}
@returns(200) {ResolverRuleAssociation: ResolverRuleAssociation?{Id: str?, ResolverRuleId: str?, Name: str?, VPCId: str?, Status: str?, StatusMessage: str?}}

@endpoint POST /
@required {CreatorRequestId: str, Name: str}
@optional {Tags: [Tag]}
@returns(200) {FirewallDomainList: FirewallDomainList?{Id: str?, Arn: str?, Name: str?, DomainCount: int?, Status: str?, StatusMessage: str?, ManagedOwnerName: str?, CreatorRequestId: str?, CreationTime: str?, ModificationTime: str?}}

@endpoint POST /
@required {CreatorRequestId: str, FirewallRuleGroupId: str, FirewallDomainListId: str, Priority: int, Action: str, Name: str}
@optional {BlockResponse: str, BlockOverrideDomain: str, BlockOverrideDnsType: str, BlockOverrideTtl: int, FirewallDomainRedirectionAction: str, Qtype: str}
@returns(200) {FirewallRule: FirewallRule?{FirewallRuleGroupId: str?, FirewallDomainListId: str?, Name: str?, Priority: int?, Action: str?, BlockResponse: str?, BlockOverrideDomain: str?, BlockOverrideDnsType: str?, BlockOverrideTtl: int?, CreatorRequestId: str?, CreationTime: str?, ModificationTime: str?, FirewallDomainRedirectionAction: str?, Qtype: str?}}

@endpoint POST /
@required {CreatorRequestId: str, Name: str}
@optional {Tags: [Tag]}
@returns(200) {FirewallRuleGroup: FirewallRuleGroup?{Id: str?, Arn: str?, Name: str?, RuleCount: int?, Status: str?, StatusMessage: str?, OwnerId: str?, CreatorRequestId: str?, ShareStatus: str?, CreationTime: str?, ModificationTime: str?}}

@endpoint POST /
@required {CreatorRequestId: str, Name: str, PreferredInstanceType: str, OutpostArn: str}
@optional {InstanceCount: int, Tags: [Tag]}
@returns(200) {OutpostResolver: OutpostResolver?{Arn: str?, CreationTime: str?, ModificationTime: str?, CreatorRequestId: str?, Id: str?, InstanceCount: int?, PreferredInstanceType: str?, Name: str?, Status: str?, StatusMessage: str?, OutpostArn: str?}}

@endpoint POST /
@required {CreatorRequestId: str, SecurityGroupIds: [str], Direction: str, IpAddresses: [IpAddressRequest]}
@optional {Name: str, OutpostArn: str, PreferredInstanceType: str, Tags: [Tag], ResolverEndpointType: str, Protocols: [str]}
@returns(200) {ResolverEndpoint: ResolverEndpoint?{Id: str?, CreatorRequestId: str?, Arn: str?, Name: str?, SecurityGroupIds: [str]?, Direction: str?, IpAddressCount: int?, HostVPCId: str?, Status: str?, StatusMessage: str?, CreationTime: str?, ModificationTime: str?, OutpostArn: str?, PreferredInstanceType: str?, ResolverEndpointType: str?, Protocols: [str]?}}

@endpoint POST /
@required {Name: str, DestinationArn: str, CreatorRequestId: str}
@optional {Tags: [Tag]}
@returns(200) {ResolverQueryLogConfig: ResolverQueryLogConfig?{Id: str?, OwnerId: str?, Status: str?, ShareStatus: str?, AssociationCount: int?, Arn: str?, Name: str?, DestinationArn: str?, CreatorRequestId: str?, CreationTime: str?}}

@endpoint POST /
@required {CreatorRequestId: str, RuleType: str}
@optional {Name: str, DomainName: str, TargetIps: [TargetAddress], ResolverEndpointId: str, Tags: [Tag]}
@returns(200) {ResolverRule: ResolverRule?{Id: str?, CreatorRequestId: str?, Arn: str?, DomainName: str?, Status: str?, StatusMessage: str?, RuleType: str?, Name: str?, TargetIps: [TargetAddress]?, ResolverEndpointId: str?, OwnerId: str?, ShareStatus: str?, CreationTime: str?, ModificationTime: str?}}

@endpoint POST /
@required {FirewallDomainListId: str}
@returns(200) {FirewallDomainList: FirewallDomainList?{Id: str?, Arn: str?, Name: str?, DomainCount: int?, Status: str?, StatusMessage: str?, ManagedOwnerName: str?, CreatorRequestId: str?, CreationTime: str?, ModificationTime: str?}}

@endpoint POST /
@required {FirewallRuleGroupId: str, FirewallDomainListId: str}
@optional {Qtype: str}
@returns(200) {FirewallRule: FirewallRule?{FirewallRuleGroupId: str?, FirewallDomainListId: str?, Name: str?, Priority: int?, Action: str?, BlockResponse: str?, BlockOverrideDomain: str?, BlockOverrideDnsType: str?, BlockOverrideTtl: int?, CreatorRequestId: str?, CreationTime: str?, ModificationTime: str?, FirewallDomainRedirectionAction: str?, Qtype: str?}}

@endpoint POST /
@required {FirewallRuleGroupId: str}
@returns(200) {FirewallRuleGroup: FirewallRuleGroup?{Id: str?, Arn: str?, Name: str?, RuleCount: int?, Status: str?, StatusMessage: str?, OwnerId: str?, CreatorRequestId: str?, ShareStatus: str?, CreationTime: str?, ModificationTime: str?}}

@endpoint POST /
@required {Id: str}
@returns(200) {OutpostResolver: OutpostResolver?{Arn: str?, CreationTime: str?, ModificationTime: str?, CreatorRequestId: str?, Id: str?, InstanceCount: int?, PreferredInstanceType: str?, Name: str?, Status: str?, StatusMessage: str?, OutpostArn: str?}}

@endpoint POST /
@required {ResolverEndpointId: str}
@returns(200) {ResolverEndpoint: ResolverEndpoint?{Id: str?, CreatorRequestId: str?, Arn: str?, Name: str?, SecurityGroupIds: [str]?, Direction: str?, IpAddressCount: int?, HostVPCId: str?, Status: str?, StatusMessage: str?, CreationTime: str?, ModificationTime: str?, OutpostArn: str?, PreferredInstanceType: str?, ResolverEndpointType: str?, Protocols: [str]?}}

@endpoint POST /
@required {ResolverQueryLogConfigId: str}
@returns(200) {ResolverQueryLogConfig: ResolverQueryLogConfig?{Id: str?, OwnerId: str?, Status: str?, ShareStatus: str?, AssociationCount: int?, Arn: str?, Name: str?, DestinationArn: str?, CreatorRequestId: str?, CreationTime: str?}}

@endpoint POST /
@required {ResolverRuleId: str}
@returns(200) {ResolverRule: ResolverRule?{Id: str?, CreatorRequestId: str?, Arn: str?, DomainName: str?, Status: str?, StatusMessage: str?, RuleType: str?, Name: str?, TargetIps: [TargetAddress]?, ResolverEndpointId: str?, OwnerId: str?, ShareStatus: str?, CreationTime: str?, ModificationTime: str?}}

@endpoint POST /
@required {FirewallRuleGroupAssociationId: str}
@returns(200) {FirewallRuleGroupAssociation: FirewallRuleGroupAssociation?{Id: str?, Arn: str?, FirewallRuleGroupId: str?, VpcId: str?, Name: str?, Priority: int?, MutationProtection: str?, ManagedOwnerName: str?, Status: str?, StatusMessage: str?, CreatorRequestId: str?, CreationTime: str?, ModificationTime: str?}}

@endpoint POST /
@required {ResolverEndpointId: str, IpAddress: IpAddressUpdate}
@returns(200) {ResolverEndpoint: ResolverEndpoint?{Id: str?, CreatorRequestId: str?, Arn: str?, Name: str?, SecurityGroupIds: [str]?, Direction: str?, IpAddressCount: int?, HostVPCId: str?, Status: str?, StatusMessage: str?, CreationTime: str?, ModificationTime: str?, OutpostArn: str?, PreferredInstanceType: str?, ResolverEndpointType: str?, Protocols: [str]?}}

@endpoint POST /
@required {ResolverQueryLogConfigId: str, ResourceId: str}
@returns(200) {ResolverQueryLogConfigAssociation: ResolverQueryLogConfigAssociation?{Id: str?, ResolverQueryLogConfigId: str?, ResourceId: str?, Status: str?, Error: str?, ErrorMessage: str?, CreationTime: str?}}

@endpoint POST /
@required {VPCId: str, ResolverRuleId: str}
@returns(200) {ResolverRuleAssociation: ResolverRuleAssociation?{Id: str?, ResolverRuleId: str?, Name: str?, VPCId: str?, Status: str?, StatusMessage: str?}}

@endpoint POST /
@required {ResourceId: str}
@returns(200) {FirewallConfig: FirewallConfig?{Id: str?, ResourceId: str?, OwnerId: str?, FirewallFailOpen: str?}}

@endpoint POST /
@required {FirewallDomainListId: str}
@returns(200) {FirewallDomainList: FirewallDomainList?{Id: str?, Arn: str?, Name: str?, DomainCount: int?, Status: str?, StatusMessage: str?, ManagedOwnerName: str?, CreatorRequestId: str?, CreationTime: str?, ModificationTime: str?}}

@endpoint POST /
@required {FirewallRuleGroupId: str}
@returns(200) {FirewallRuleGroup: FirewallRuleGroup?{Id: str?, Arn: str?, Name: str?, RuleCount: int?, Status: str?, StatusMessage: str?, OwnerId: str?, CreatorRequestId: str?, ShareStatus: str?, CreationTime: str?, ModificationTime: str?}}

@endpoint POST /
@required {FirewallRuleGroupAssociationId: str}
@returns(200) {FirewallRuleGroupAssociation: FirewallRuleGroupAssociation?{Id: str?, Arn: str?, FirewallRuleGroupId: str?, VpcId: str?, Name: str?, Priority: int?, MutationProtection: str?, ManagedOwnerName: str?, Status: str?, StatusMessage: str?, CreatorRequestId: str?, CreationTime: str?, ModificationTime: str?}}

@endpoint POST /
@required {Arn: str}
@returns(200) {FirewallRuleGroupPolicy: str?}

@endpoint POST /
@required {Id: str}
@returns(200) {OutpostResolver: OutpostResolver?{Arn: str?, CreationTime: str?, ModificationTime: str?, CreatorRequestId: str?, Id: str?, InstanceCount: int?, PreferredInstanceType: str?, Name: str?, Status: str?, StatusMessage: str?, OutpostArn: str?}}

@endpoint POST /
@required {ResourceId: str}
@returns(200) {ResolverConfig: ResolverConfig?{Id: str?, ResourceId: str?, OwnerId: str?, AutodefinedReverse: str?}}

@endpoint POST /
@required {ResourceId: str}
@returns(200) {ResolverDNSSECConfig: ResolverDnssecConfig?{Id: str?, OwnerId: str?, ResourceId: str?, ValidationStatus: str?}}

@endpoint POST /
@required {ResolverEndpointId: str}
@returns(200) {ResolverEndpoint: ResolverEndpoint?{Id: str?, CreatorRequestId: str?, Arn: str?, Name: str?, SecurityGroupIds: [str]?, Direction: str?, IpAddressCount: int?, HostVPCId: str?, Status: str?, StatusMessage: str?, CreationTime: str?, ModificationTime: str?, OutpostArn: str?, PreferredInstanceType: str?, ResolverEndpointType: str?, Protocols: [str]?}}

@endpoint POST /
@required {ResolverQueryLogConfigId: str}
@returns(200) {ResolverQueryLogConfig: ResolverQueryLogConfig?{Id: str?, OwnerId: str?, Status: str?, ShareStatus: str?, AssociationCount: int?, Arn: str?, Name: str?, DestinationArn: str?, CreatorRequestId: str?, CreationTime: str?}}

@endpoint POST /
@required {ResolverQueryLogConfigAssociationId: str}
@returns(200) {ResolverQueryLogConfigAssociation: ResolverQueryLogConfigAssociation?{Id: str?, ResolverQueryLogConfigId: str?, ResourceId: str?, Status: str?, Error: str?, ErrorMessage: str?, CreationTime: str?}}

@endpoint POST /
@required {Arn: str}
@returns(200) {ResolverQueryLogConfigPolicy: str?}

@endpoint POST /
@required {ResolverRuleId: str}
@returns(200) {ResolverRule: ResolverRule?{Id: str?, CreatorRequestId: str?, Arn: str?, DomainName: str?, Status: str?, StatusMessage: str?, RuleType: str?, Name: str?, TargetIps: [TargetAddress]?, ResolverEndpointId: str?, OwnerId: str?, ShareStatus: str?, CreationTime: str?, ModificationTime: str?}}

@endpoint POST /
@required {ResolverRuleAssociationId: str}
@returns(200) {ResolverRuleAssociation: ResolverRuleAssociation?{Id: str?, ResolverRuleId: str?, Name: str?, VPCId: str?, Status: str?, StatusMessage: str?}}

@endpoint POST /
@required {Arn: str}
@returns(200) {ResolverRulePolicy: str?}

@endpoint POST /
@required {FirewallDomainListId: str, Operation: str, DomainFileUrl: str}
@returns(200) {Id: str?, Name: str?, Status: str?, StatusMessage: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, FirewallConfigs: [FirewallConfig]?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, FirewallDomainLists: [FirewallDomainListMetadata]?}

@endpoint POST /
@required {FirewallDomainListId: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, Domains: [str]?}

@endpoint POST /
@optional {FirewallRuleGroupId: str, VpcId: str, Priority: int, Status: str, MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, FirewallRuleGroupAssociations: [FirewallRuleGroupAssociation]?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, FirewallRuleGroups: [FirewallRuleGroupMetadata]?}

@endpoint POST /
@required {FirewallRuleGroupId: str}
@optional {Priority: int, Action: str, MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, FirewallRules: [FirewallRule]?}

@endpoint POST /
@optional {OutpostArn: str, MaxResults: int, NextToken: str}
@returns(200) {OutpostResolvers: [OutpostResolver]?, NextToken: str?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, ResolverConfigs: [ResolverConfig]?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str, Filters: [Filter]}
@returns(200) {NextToken: str?, ResolverDnssecConfigs: [ResolverDnssecConfig]?}

@endpoint POST /
@required {ResolverEndpointId: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {NextToken: str?, MaxResults: int?, IpAddresses: [IpAddressResponse]?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str, Filters: [Filter]}
@returns(200) {NextToken: str?, MaxResults: int?, ResolverEndpoints: [ResolverEndpoint]?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str, Filters: [Filter], SortBy: str, SortOrder: str}
@returns(200) {NextToken: str?, TotalCount: int?, TotalFilteredCount: int?, ResolverQueryLogConfigAssociations: [ResolverQueryLogConfigAssociation]?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str, Filters: [Filter], SortBy: str, SortOrder: str}
@returns(200) {NextToken: str?, TotalCount: int?, TotalFilteredCount: int?, ResolverQueryLogConfigs: [ResolverQueryLogConfig]?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str, Filters: [Filter]}
@returns(200) {NextToken: str?, MaxResults: int?, ResolverRuleAssociations: [ResolverRuleAssociation]?}

@endpoint POST /
@optional {MaxResults: int, NextToken: str, Filters: [Filter]}
@returns(200) {NextToken: str?, MaxResults: int?, ResolverRules: [ResolverRule]?}

@endpoint POST /
@required {ResourceArn: str}
@optional {MaxResults: int, NextToken: str}
@returns(200) {Tags: [Tag]?, NextToken: str?}

@endpoint POST /
@required {Arn: str, FirewallRuleGroupPolicy: str}
@returns(200) {ReturnValue: bool?}

@endpoint POST /
@required {Arn: str, ResolverQueryLogConfigPolicy: str}
@returns(200) {ReturnValue: bool?}

@endpoint POST /
@required {Arn: str, ResolverRulePolicy: str}
@returns(200) {ReturnValue: bool?}

@endpoint POST /
@required {ResourceArn: str, Tags: [Tag]}

@endpoint POST /
@required {ResourceArn: str, TagKeys: [str]}

@endpoint POST /
@required {ResourceId: str, FirewallFailOpen: str}
@returns(200) {FirewallConfig: FirewallConfig?{Id: str?, ResourceId: str?, OwnerId: str?, FirewallFailOpen: str?}}

@endpoint POST /
@required {FirewallDomainListId: str, Operation: str, Domains: [str]}
@returns(200) {Id: str?, Name: str?, Status: str?, StatusMessage: str?}

@endpoint POST /
@required {FirewallRuleGroupId: str, FirewallDomainListId: str}
@optional {Priority: int, Action: str, BlockResponse: str, BlockOverrideDomain: str, BlockOverrideDnsType: str, BlockOverrideTtl: int, Name: str, FirewallDomainRedirectionAction: str, Qtype: str}
@returns(200) {FirewallRule: FirewallRule?{FirewallRuleGroupId: str?, FirewallDomainListId: str?, Name: str?, Priority: int?, Action: str?, BlockResponse: str?, BlockOverrideDomain: str?, BlockOverrideDnsType: str?, BlockOverrideTtl: int?, CreatorRequestId: str?, CreationTime: str?, ModificationTime: str?, FirewallDomainRedirectionAction: str?, Qtype: str?}}

@endpoint POST /
@required {FirewallRuleGroupAssociationId: str}
@optional {Priority: int, MutationProtection: str, Name: str}
@returns(200) {FirewallRuleGroupAssociation: FirewallRuleGroupAssociation?{Id: str?, Arn: str?, FirewallRuleGroupId: str?, VpcId: str?, Name: str?, Priority: int?, MutationProtection: str?, ManagedOwnerName: str?, Status: str?, StatusMessage: str?, CreatorRequestId: str?, CreationTime: str?, ModificationTime: str?}}

@endpoint POST /
@required {Id: str}
@optional {Name: str, InstanceCount: int, PreferredInstanceType: str}
@returns(200) {OutpostResolver: OutpostResolver?{Arn: str?, CreationTime: str?, ModificationTime: str?, CreatorRequestId: str?, Id: str?, InstanceCount: int?, PreferredInstanceType: str?, Name: str?, Status: str?, StatusMessage: str?, OutpostArn: str?}}

@endpoint POST /
@required {ResourceId: str, AutodefinedReverseFlag: str}
@returns(200) {ResolverConfig: ResolverConfig?{Id: str?, ResourceId: str?, OwnerId: str?, AutodefinedReverse: str?}}

@endpoint POST /
@required {ResourceId: str, Validation: str}
@returns(200) {ResolverDNSSECConfig: ResolverDnssecConfig?{Id: str?, OwnerId: str?, ResourceId: str?, ValidationStatus: str?}}

@endpoint POST /
@required {ResolverEndpointId: str}
@optional {Name: str, ResolverEndpointType: str, UpdateIpAddresses: [UpdateIpAddress], Protocols: [str]}
@returns(200) {ResolverEndpoint: ResolverEndpoint?{Id: str?, CreatorRequestId: str?, Arn: str?, Name: str?, SecurityGroupIds: [str]?, Direction: str?, IpAddressCount: int?, HostVPCId: str?, Status: str?, StatusMessage: str?, CreationTime: str?, ModificationTime: str?, OutpostArn: str?, PreferredInstanceType: str?, ResolverEndpointType: str?, Protocols: [str]?}}

@endpoint POST /
@required {ResolverRuleId: str, Config: ResolverRuleConfig}
@returns(200) {ResolverRule: ResolverRule?{Id: str?, CreatorRequestId: str?, Arn: str?, DomainName: str?, Status: str?, StatusMessage: str?, RuleType: str?, Name: str?, TargetIps: [TargetAddress]?, ResolverEndpointId: str?, OwnerId: str?, ShareStatus: str?, CreationTime: str?, ModificationTime: str?}}

@end
