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

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

@endpoint POST /
@required {LoadBalancerName: str, SecurityGroups: [str]}
@returns(200) {SecurityGroups: [str]?}

@endpoint POST /
@required {LoadBalancerName: str, Subnets: [str]}
@returns(200) {Subnets: [str]?}

@endpoint POST /
@required {LoadBalancerName: str, HealthCheck: HealthCheck}
@returns(200) {HealthCheck: HealthCheck?{Target: str, Interval: int, Timeout: int, UnhealthyThreshold: int, HealthyThreshold: int}}

@endpoint POST /
@required {LoadBalancerName: str, PolicyName: str, CookieName: str}

@endpoint POST /
@required {LoadBalancerName: str, PolicyName: str}
@optional {CookieExpirationPeriod: int(i64)}

@endpoint POST /
@required {LoadBalancerName: str, Listeners: [Listener]}
@optional {AvailabilityZones: [str], Subnets: [str], SecurityGroups: [str], Scheme: str, Tags: [Tag]}
@returns(200) {DNSName: str?}

@endpoint POST /
@required {LoadBalancerName: str, Listeners: [Listener]}

@endpoint POST /
@required {LoadBalancerName: str, PolicyName: str, PolicyTypeName: str}
@optional {PolicyAttributes: [PolicyAttribute]}

@endpoint POST /
@required {LoadBalancerName: str}

@endpoint POST /
@required {LoadBalancerName: str, LoadBalancerPorts: [int]}

@endpoint POST /
@required {LoadBalancerName: str, PolicyName: str}

@endpoint POST /
@required {LoadBalancerName: str, Instances: [Instance]}
@returns(200) {Instances: [Instance]?}

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

@endpoint POST /
@required {LoadBalancerName: str}
@optional {Instances: [Instance]}
@returns(200) {InstanceStates: [InstanceState]?}

@endpoint POST /
@required {LoadBalancerName: str}
@returns(200) {LoadBalancerAttributes: LoadBalancerAttributes?{CrossZoneLoadBalancing: CrossZoneLoadBalancing?{Enabled: bool}, AccessLog: AccessLog?{Enabled: bool, S3BucketName: str?, EmitInterval: int?, S3BucketPrefix: str?}, ConnectionDraining: ConnectionDraining?{Enabled: bool, Timeout: int?}, ConnectionSettings: ConnectionSettings?{IdleTimeout: int}, AdditionalAttributes: [AdditionalAttribute]?}}

@endpoint POST /
@optional {LoadBalancerName: str, PolicyNames: [str]}
@returns(200) {PolicyDescriptions: [PolicyDescription]?}

@endpoint POST /
@optional {PolicyTypeNames: [str]}
@returns(200) {PolicyTypeDescriptions: [PolicyTypeDescription]?}

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

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

@endpoint POST /
@required {LoadBalancerName: str, Subnets: [str]}
@returns(200) {Subnets: [str]?}

@endpoint POST /
@required {LoadBalancerName: str, AvailabilityZones: [str]}
@returns(200) {AvailabilityZones: [str]?}

@endpoint POST /
@required {LoadBalancerName: str, AvailabilityZones: [str]}
@returns(200) {AvailabilityZones: [str]?}

@endpoint POST /
@required {LoadBalancerName: str, LoadBalancerAttributes: LoadBalancerAttributes}
@returns(200) {LoadBalancerName: str?, LoadBalancerAttributes: LoadBalancerAttributes?{CrossZoneLoadBalancing: CrossZoneLoadBalancing?{Enabled: bool}, AccessLog: AccessLog?{Enabled: bool, S3BucketName: str?, EmitInterval: int?, S3BucketPrefix: str?}, ConnectionDraining: ConnectionDraining?{Enabled: bool, Timeout: int?}, ConnectionSettings: ConnectionSettings?{IdleTimeout: int}, AdditionalAttributes: [AdditionalAttribute]?}}

@endpoint POST /
@required {LoadBalancerName: str, Instances: [Instance]}
@returns(200) {Instances: [Instance]?}

@endpoint POST /
@required {LoadBalancerNames: [str], Tags: [TagKeyOnly]}

@endpoint POST /
@required {LoadBalancerName: str, LoadBalancerPort: int, SSLCertificateId: str}

@endpoint POST /
@required {LoadBalancerName: str, InstancePort: int, PolicyNames: [str]}

@endpoint POST /
@required {LoadBalancerName: str, LoadBalancerPort: int, PolicyNames: [str]}

@end
