@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Elastic Load Balancing
@version 2015-12-01
@auth AWS SigV4
@endpoints 48
@hint download_for_search
@toc root(48)

@endpoint POST /
@required {ListenerArn: str, Certificates: [Certificate]}
@returns(200) {Certificates: [Certificate]?}

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

@endpoint POST /
@required {TrustStoreArn: str}
@optional {RevocationContents: [RevocationContent]}
@returns(200) {TrustStoreRevocations: [TrustStoreRevocation]?}

@endpoint POST /
@required {LoadBalancerArn: str, DefaultActions: [Action]}
@optional {Protocol: str, Port: int, SslPolicy: str, Certificates: [Certificate], AlpnPolicy: [str], Tags: [Tag], MutualAuthentication: MutualAuthenticationAttributes}
@returns(200) {Listeners: [Listener]?}

@endpoint POST /
@required {Name: str}
@optional {Subnets: [str], SubnetMappings: [SubnetMapping], SecurityGroups: [str], Scheme: str, Tags: [Tag], Type: str, IpAddressType: str, CustomerOwnedIpv4Pool: str}
@returns(200) {LoadBalancers: [LoadBalancer]?}

@endpoint POST /
@required {ListenerArn: str, Conditions: [RuleCondition], Priority: int, Actions: [Action]}
@optional {Tags: [Tag]}
@returns(200) {Rules: [Rule]?}

@endpoint POST /
@required {Name: str}
@optional {Protocol: str, ProtocolVersion: str, Port: int, VpcId: str, HealthCheckProtocol: str, HealthCheckPort: str, HealthCheckEnabled: bool, HealthCheckPath: str, HealthCheckIntervalSeconds: int, HealthCheckTimeoutSeconds: int, HealthyThresholdCount: int, UnhealthyThresholdCount: int, Matcher: Matcher, TargetType: str, Tags: [Tag], IpAddressType: str}
@returns(200) {TargetGroups: [TargetGroup]?}

@endpoint POST /
@required {Name: str, CaCertificatesBundleS3Bucket: str, CaCertificatesBundleS3Key: str}
@optional {CaCertificatesBundleS3ObjectVersion: str, Tags: [Tag]}
@returns(200) {TrustStores: [TrustStore]?}

@endpoint POST /
@required {ListenerArn: str}

@endpoint POST /
@required {LoadBalancerArn: str}

@endpoint POST /
@required {RuleArn: str}

@endpoint POST /
@required {TrustStoreArn: str, ResourceArn: str}

@endpoint POST /
@required {TargetGroupArn: str}

@endpoint POST /
@required {TrustStoreArn: str}

@endpoint POST /
@required {TargetGroupArn: str, Targets: [TargetDescription]}

@endpoint POST /
@optional {Marker: str, PageSize: int}
@returns(200) {Limits: [Limit]?, NextMarker: str?}

@endpoint POST /
@required {ListenerArn: str}
@returns(200) {Attributes: [ListenerAttribute]?}

@endpoint POST /
@required {ListenerArn: str}
@optional {Marker: str, PageSize: int}
@returns(200) {Certificates: [Certificate]?, NextMarker: str?}

@endpoint POST /
@optional {LoadBalancerArn: str, ListenerArns: [str], Marker: str, PageSize: int}
@returns(200) {Listeners: [Listener]?, NextMarker: str?}

@endpoint POST /
@required {LoadBalancerArn: str}
@returns(200) {Attributes: [LoadBalancerAttribute]?}

@endpoint POST /
@optional {LoadBalancerArns: [str], Names: [str], Marker: str, PageSize: int}
@returns(200) {LoadBalancers: [LoadBalancer]?, NextMarker: str?}

@endpoint POST /
@optional {ListenerArn: str, RuleArns: [str], Marker: str, PageSize: int}
@returns(200) {Rules: [Rule]?, NextMarker: str?}

@endpoint POST /
@optional {Names: [str], Marker: str, PageSize: int, LoadBalancerType: str}
@returns(200) {SslPolicies: [SslPolicy]?, NextMarker: str?}

@endpoint POST /
@required {ResourceArns: [str]}
@returns(200) {TagDescriptions: [TagDescription]?}

@endpoint POST /
@required {TargetGroupArn: str}
@returns(200) {Attributes: [TargetGroupAttribute]?}

@endpoint POST /
@optional {LoadBalancerArn: str, TargetGroupArns: [str], Names: [str], Marker: str, PageSize: int}
@returns(200) {TargetGroups: [TargetGroup]?, NextMarker: str?}

@endpoint POST /
@required {TargetGroupArn: str}
@optional {Targets: [TargetDescription], Include: [str]}
@returns(200) {TargetHealthDescriptions: [TargetHealthDescription]?}

@endpoint POST /
@required {TrustStoreArn: str}
@optional {Marker: str, PageSize: int}
@returns(200) {TrustStoreAssociations: [TrustStoreAssociation]?, NextMarker: str?}

@endpoint POST /
@required {TrustStoreArn: str}
@optional {RevocationIds: [int(i64)], Marker: str, PageSize: int}
@returns(200) {TrustStoreRevocations: [DescribeTrustStoreRevocation]?, NextMarker: str?}

@endpoint POST /
@optional {TrustStoreArns: [str], Names: [str], Marker: str, PageSize: int}
@returns(200) {TrustStores: [TrustStore]?, NextMarker: str?}

@endpoint POST /
@required {ResourceArn: str}
@returns(200) {Policy: str?}

@endpoint POST /
@required {TrustStoreArn: str}
@returns(200) {Location: str?}

@endpoint POST /
@required {TrustStoreArn: str, RevocationId: int(i64)}
@returns(200) {Location: str?}

@endpoint POST /
@required {ListenerArn: str}
@optional {Port: int, Protocol: str, SslPolicy: str, Certificates: [Certificate], DefaultActions: [Action], AlpnPolicy: [str], MutualAuthentication: MutualAuthenticationAttributes}
@returns(200) {Listeners: [Listener]?}

@endpoint POST /
@required {ListenerArn: str, Attributes: [ListenerAttribute]}
@returns(200) {Attributes: [ListenerAttribute]?}

@endpoint POST /
@required {LoadBalancerArn: str, Attributes: [LoadBalancerAttribute]}
@returns(200) {Attributes: [LoadBalancerAttribute]?}

@endpoint POST /
@required {RuleArn: str}
@optional {Conditions: [RuleCondition], Actions: [Action]}
@returns(200) {Rules: [Rule]?}

@endpoint POST /
@required {TargetGroupArn: str}
@optional {HealthCheckProtocol: str, HealthCheckPort: str, HealthCheckPath: str, HealthCheckEnabled: bool, HealthCheckIntervalSeconds: int, HealthCheckTimeoutSeconds: int, HealthyThresholdCount: int, UnhealthyThresholdCount: int, Matcher: Matcher}
@returns(200) {TargetGroups: [TargetGroup]?}

@endpoint POST /
@required {TargetGroupArn: str, Attributes: [TargetGroupAttribute]}
@returns(200) {Attributes: [TargetGroupAttribute]?}

@endpoint POST /
@required {TrustStoreArn: str, CaCertificatesBundleS3Bucket: str, CaCertificatesBundleS3Key: str}
@optional {CaCertificatesBundleS3ObjectVersion: str}
@returns(200) {TrustStores: [TrustStore]?}

@endpoint POST /
@required {TargetGroupArn: str, Targets: [TargetDescription]}

@endpoint POST /
@required {ListenerArn: str, Certificates: [Certificate]}

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

@endpoint POST /
@required {TrustStoreArn: str, RevocationIds: [int(i64)]}

@endpoint POST /
@required {LoadBalancerArn: str, IpAddressType: str}
@returns(200) {IpAddressType: str?}

@endpoint POST /
@required {RulePriorities: [RulePriorityPair]}
@returns(200) {Rules: [Rule]?}

@endpoint POST /
@required {LoadBalancerArn: str, SecurityGroups: [str]}
@optional {EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic: str}
@returns(200) {SecurityGroupIds: [str]?, EnforceSecurityGroupInboundRulesOnPrivateLinkTraffic: str?}

@endpoint POST /
@required {LoadBalancerArn: str}
@optional {Subnets: [str], SubnetMappings: [SubnetMapping], IpAddressType: str}
@returns(200) {AvailabilityZones: [AvailabilityZone]?, IpAddressType: str?}

@end
