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

@endpoint POST /
@optional {EnvironmentId: str, EnvironmentName: str}

@endpoint POST /
@required {ActionId: str}
@optional {EnvironmentName: str, EnvironmentId: str}
@returns(200) {ActionId: str?, ActionDescription: str?, ActionType: str?, Status: str?}

@endpoint POST /
@required {EnvironmentName: str, OperationsRole: str}

@endpoint POST /
@required {CNAMEPrefix: str}
@returns(200) {Available: bool?, FullyQualifiedCNAME: str?}

@endpoint POST /
@optional {ApplicationName: str, GroupName: str, VersionLabels: [str]}
@returns(200) {Environments: [EnvironmentDescription]?, NextToken: str?}

@endpoint POST /
@required {ApplicationName: str}
@optional {Description: str, ResourceLifecycleConfig: ApplicationResourceLifecycleConfig, Tags: [Tag]}
@returns(200) {Application: ApplicationDescription?{ApplicationArn: str?, ApplicationName: str?, Description: str?, DateCreated: str(timestamp)?, DateUpdated: str(timestamp)?, Versions: [str]?, ConfigurationTemplates: [str]?, ResourceLifecycleConfig: ApplicationResourceLifecycleConfig?{ServiceRole: str?, VersionLifecycleConfig: ApplicationVersionLifecycleConfig?{MaxCountRule: MaxCountRule?, MaxAgeRule: MaxAgeRule?}}}}

@endpoint POST /
@required {ApplicationName: str, VersionLabel: str}
@optional {Description: str, SourceBuildInformation: SourceBuildInformation, SourceBundle: S3Location, BuildConfiguration: BuildConfiguration, AutoCreateApplication: bool, Process: bool, Tags: [Tag]}
@returns(200) {ApplicationVersion: ApplicationVersionDescription?{ApplicationVersionArn: str?, ApplicationName: str?, Description: str?, VersionLabel: str?, SourceBuildInformation: SourceBuildInformation?{SourceType: str, SourceRepository: str, SourceLocation: str}, BuildArn: str?, SourceBundle: S3Location?{S3Bucket: str?, S3Key: str?}, DateCreated: str(timestamp)?, DateUpdated: str(timestamp)?, Status: str?}}

@endpoint POST /
@required {ApplicationName: str, TemplateName: str}
@optional {SolutionStackName: str, PlatformArn: str, SourceConfiguration: SourceConfiguration, EnvironmentId: str, Description: str, OptionSettings: [ConfigurationOptionSetting], Tags: [Tag]}
@returns(200) {SolutionStackName: str?, PlatformArn: str?, ApplicationName: str?, TemplateName: str?, Description: str?, EnvironmentName: str?, DeploymentStatus: str?, DateCreated: str(timestamp)?, DateUpdated: str(timestamp)?, OptionSettings: [ConfigurationOptionSetting]?}

@endpoint POST /
@required {ApplicationName: str}
@optional {EnvironmentName: str, GroupName: str, Description: str, CNAMEPrefix: str, Tier: EnvironmentTier, Tags: [Tag], VersionLabel: str, TemplateName: str, SolutionStackName: str, PlatformArn: str, OptionSettings: [ConfigurationOptionSetting], OptionsToRemove: [OptionSpecification], OperationsRole: str}
@returns(200) {EnvironmentName: str?, EnvironmentId: str?, ApplicationName: str?, VersionLabel: str?, SolutionStackName: str?, PlatformArn: str?, TemplateName: str?, Description: str?, EndpointURL: str?, CNAME: str?, DateCreated: str(timestamp)?, DateUpdated: str(timestamp)?, Status: str?, AbortableOperationInProgress: bool?, Health: str?, HealthStatus: str?, Resources: EnvironmentResourcesDescription?{LoadBalancer: LoadBalancerDescription?{LoadBalancerName: str?, Domain: str?, Listeners: [Listener]?}}, Tier: EnvironmentTier?{Name: str?, Type: str?, Version: str?}, EnvironmentLinks: [EnvironmentLink]?, EnvironmentArn: str?, OperationsRole: str?}

@endpoint POST /
@required {PlatformName: str, PlatformVersion: str, PlatformDefinitionBundle: S3Location}
@optional {EnvironmentName: str, OptionSettings: [ConfigurationOptionSetting], Tags: [Tag]}
@returns(200) {PlatformSummary: PlatformSummary?{PlatformArn: str?, PlatformOwner: str?, PlatformStatus: str?, PlatformCategory: str?, OperatingSystemName: str?, OperatingSystemVersion: str?, SupportedTierList: [str]?, SupportedAddonList: [str]?, PlatformLifecycleState: str?, PlatformVersion: str?, PlatformBranchName: str?, PlatformBranchLifecycleState: str?}, Builder: Builder?{ARN: str?}}

@endpoint POST /
@returns(200) {S3Bucket: str?}

@endpoint POST /
@required {ApplicationName: str}
@optional {TerminateEnvByForce: bool}

@endpoint POST /
@required {ApplicationName: str, VersionLabel: str}
@optional {DeleteSourceBundle: bool}

@endpoint POST /
@required {ApplicationName: str, TemplateName: str}

@endpoint POST /
@required {ApplicationName: str, EnvironmentName: str}

@endpoint POST /
@optional {PlatformArn: str}
@returns(200) {PlatformSummary: PlatformSummary?{PlatformArn: str?, PlatformOwner: str?, PlatformStatus: str?, PlatformCategory: str?, OperatingSystemName: str?, OperatingSystemVersion: str?, SupportedTierList: [str]?, SupportedAddonList: [str]?, PlatformLifecycleState: str?, PlatformVersion: str?, PlatformBranchName: str?, PlatformBranchLifecycleState: str?}}

@endpoint POST /
@returns(200) {ResourceQuotas: ResourceQuotas?{ApplicationQuota: ResourceQuota?{Maximum: int?}, ApplicationVersionQuota: ResourceQuota?{Maximum: int?}, EnvironmentQuota: ResourceQuota?{Maximum: int?}, ConfigurationTemplateQuota: ResourceQuota?{Maximum: int?}, CustomPlatformQuota: ResourceQuota?{Maximum: int?}}}

@endpoint POST /
@optional {ApplicationName: str, VersionLabels: [str], MaxRecords: int, NextToken: str}
@returns(200) {ApplicationVersions: [ApplicationVersionDescription]?, NextToken: str?}

@endpoint POST /
@optional {ApplicationNames: [str]}
@returns(200) {Applications: [ApplicationDescription]?}

@endpoint POST /
@optional {ApplicationName: str, TemplateName: str, EnvironmentName: str, SolutionStackName: str, PlatformArn: str, Options: [OptionSpecification]}
@returns(200) {SolutionStackName: str?, PlatformArn: str?, Options: [ConfigurationOptionDescription]?}

@endpoint POST /
@required {ApplicationName: str}
@optional {TemplateName: str, EnvironmentName: str}
@returns(200) {ConfigurationSettings: [ConfigurationSettingsDescription]?}

@endpoint POST /
@optional {EnvironmentName: str, EnvironmentId: str, AttributeNames: [str]}
@returns(200) {EnvironmentName: str?, HealthStatus: str?, Status: str?, Color: str?, Causes: [str]?, ApplicationMetrics: ApplicationMetrics?{Duration: int?, RequestCount: int?, StatusCodes: StatusCodes?{Status2xx: int?, Status3xx: int?, Status4xx: int?, Status5xx: int?}, Latency: Latency?{P999: num(f64)?, P99: num(f64)?, P95: num(f64)?, P90: num(f64)?, P85: num(f64)?, P75: num(f64)?, P50: num(f64)?, P10: num(f64)?}}, InstancesHealth: InstanceHealthSummary?{NoData: int?, Unknown: int?, Pending: int?, Ok: int?, Info: int?, Warning: int?, Degraded: int?, Severe: int?}, RefreshedAt: str(timestamp)?}

@endpoint POST /
@optional {EnvironmentId: str, EnvironmentName: str, NextToken: str, MaxItems: int}
@returns(200) {ManagedActionHistoryItems: [ManagedActionHistoryItem]?, NextToken: str?}

@endpoint POST /
@optional {EnvironmentName: str, EnvironmentId: str, Status: str}
@returns(200) {ManagedActions: [ManagedAction]?}

@endpoint POST /
@optional {EnvironmentId: str, EnvironmentName: str}
@returns(200) {EnvironmentResources: EnvironmentResourceDescription?{EnvironmentName: str?, AutoScalingGroups: [AutoScalingGroup]?, Instances: [Instance]?, LaunchConfigurations: [LaunchConfiguration]?, LaunchTemplates: [LaunchTemplate]?, LoadBalancers: [LoadBalancer]?, Triggers: [Trigger]?, Queues: [Queue]?}}

@endpoint POST /
@optional {ApplicationName: str, VersionLabel: str, EnvironmentIds: [str], EnvironmentNames: [str], IncludeDeleted: bool, IncludedDeletedBackTo: str(timestamp), MaxRecords: int, NextToken: str}
@returns(200) {Environments: [EnvironmentDescription]?, NextToken: str?}

@endpoint POST /
@optional {ApplicationName: str, VersionLabel: str, TemplateName: str, EnvironmentId: str, EnvironmentName: str, PlatformArn: str, RequestId: str, Severity: str, StartTime: str(timestamp), EndTime: str(timestamp), MaxRecords: int, NextToken: str}
@returns(200) {Events: [EventDescription]?, NextToken: str?}

@endpoint POST /
@optional {EnvironmentName: str, EnvironmentId: str, AttributeNames: [str], NextToken: str}
@returns(200) {InstanceHealthList: [SingleInstanceHealth]?, RefreshedAt: str(timestamp)?, NextToken: str?}

@endpoint POST /
@optional {PlatformArn: str}
@returns(200) {PlatformDescription: PlatformDescription?{PlatformArn: str?, PlatformOwner: str?, PlatformName: str?, PlatformVersion: str?, SolutionStackName: str?, PlatformStatus: str?, DateCreated: str(timestamp)?, DateUpdated: str(timestamp)?, PlatformCategory: str?, Description: str?, Maintainer: str?, OperatingSystemName: str?, OperatingSystemVersion: str?, ProgrammingLanguages: [PlatformProgrammingLanguage]?, Frameworks: [PlatformFramework]?, CustomAmiList: [CustomAmi]?, SupportedTierList: [str]?, SupportedAddonList: [str]?, PlatformLifecycleState: str?, PlatformBranchName: str?, PlatformBranchLifecycleState: str?}}

@endpoint POST /
@required {EnvironmentName: str}

@endpoint POST /
@returns(200) {SolutionStacks: [str]?, SolutionStackDetails: [SolutionStackDescription]?}

@endpoint POST /
@optional {Filters: [SearchFilter], MaxRecords: int, NextToken: str}
@returns(200) {PlatformBranchSummaryList: [PlatformBranchSummary]?, NextToken: str?}

@endpoint POST /
@optional {Filters: [PlatformFilter], MaxRecords: int, NextToken: str}
@returns(200) {PlatformSummaryList: [PlatformSummary]?, NextToken: str?}

@endpoint POST /
@required {ResourceArn: str}
@returns(200) {ResourceArn: str?, ResourceTags: [Tag]?}

@endpoint POST /
@optional {EnvironmentId: str, EnvironmentName: str}

@endpoint POST /
@required {InfoType: str}
@optional {EnvironmentId: str, EnvironmentName: str}

@endpoint POST /
@optional {EnvironmentId: str, EnvironmentName: str}

@endpoint POST /
@required {InfoType: str}
@optional {EnvironmentId: str, EnvironmentName: str}
@returns(200) {EnvironmentInfo: [EnvironmentInfoDescription]?}

@endpoint POST /
@optional {SourceEnvironmentId: str, SourceEnvironmentName: str, DestinationEnvironmentId: str, DestinationEnvironmentName: str}

@endpoint POST /
@optional {EnvironmentId: str, EnvironmentName: str, TerminateResources: bool, ForceTerminate: bool}
@returns(200) {EnvironmentName: str?, EnvironmentId: str?, ApplicationName: str?, VersionLabel: str?, SolutionStackName: str?, PlatformArn: str?, TemplateName: str?, Description: str?, EndpointURL: str?, CNAME: str?, DateCreated: str(timestamp)?, DateUpdated: str(timestamp)?, Status: str?, AbortableOperationInProgress: bool?, Health: str?, HealthStatus: str?, Resources: EnvironmentResourcesDescription?{LoadBalancer: LoadBalancerDescription?{LoadBalancerName: str?, Domain: str?, Listeners: [Listener]?}}, Tier: EnvironmentTier?{Name: str?, Type: str?, Version: str?}, EnvironmentLinks: [EnvironmentLink]?, EnvironmentArn: str?, OperationsRole: str?}

@endpoint POST /
@required {ApplicationName: str}
@optional {Description: str}
@returns(200) {Application: ApplicationDescription?{ApplicationArn: str?, ApplicationName: str?, Description: str?, DateCreated: str(timestamp)?, DateUpdated: str(timestamp)?, Versions: [str]?, ConfigurationTemplates: [str]?, ResourceLifecycleConfig: ApplicationResourceLifecycleConfig?{ServiceRole: str?, VersionLifecycleConfig: ApplicationVersionLifecycleConfig?{MaxCountRule: MaxCountRule?, MaxAgeRule: MaxAgeRule?}}}}

@endpoint POST /
@required {ApplicationName: str, ResourceLifecycleConfig: ApplicationResourceLifecycleConfig}
@returns(200) {ApplicationName: str?, ResourceLifecycleConfig: ApplicationResourceLifecycleConfig?{ServiceRole: str?, VersionLifecycleConfig: ApplicationVersionLifecycleConfig?{MaxCountRule: MaxCountRule?{Enabled: bool, MaxCount: int?, DeleteSourceFromS3: bool?}, MaxAgeRule: MaxAgeRule?{Enabled: bool, MaxAgeInDays: int?, DeleteSourceFromS3: bool?}}}}

@endpoint POST /
@required {ApplicationName: str, VersionLabel: str}
@optional {Description: str}
@returns(200) {ApplicationVersion: ApplicationVersionDescription?{ApplicationVersionArn: str?, ApplicationName: str?, Description: str?, VersionLabel: str?, SourceBuildInformation: SourceBuildInformation?{SourceType: str, SourceRepository: str, SourceLocation: str}, BuildArn: str?, SourceBundle: S3Location?{S3Bucket: str?, S3Key: str?}, DateCreated: str(timestamp)?, DateUpdated: str(timestamp)?, Status: str?}}

@endpoint POST /
@required {ApplicationName: str, TemplateName: str}
@optional {Description: str, OptionSettings: [ConfigurationOptionSetting], OptionsToRemove: [OptionSpecification]}
@returns(200) {SolutionStackName: str?, PlatformArn: str?, ApplicationName: str?, TemplateName: str?, Description: str?, EnvironmentName: str?, DeploymentStatus: str?, DateCreated: str(timestamp)?, DateUpdated: str(timestamp)?, OptionSettings: [ConfigurationOptionSetting]?}

@endpoint POST /
@optional {ApplicationName: str, EnvironmentId: str, EnvironmentName: str, GroupName: str, Description: str, Tier: EnvironmentTier, VersionLabel: str, TemplateName: str, SolutionStackName: str, PlatformArn: str, OptionSettings: [ConfigurationOptionSetting], OptionsToRemove: [OptionSpecification]}
@returns(200) {EnvironmentName: str?, EnvironmentId: str?, ApplicationName: str?, VersionLabel: str?, SolutionStackName: str?, PlatformArn: str?, TemplateName: str?, Description: str?, EndpointURL: str?, CNAME: str?, DateCreated: str(timestamp)?, DateUpdated: str(timestamp)?, Status: str?, AbortableOperationInProgress: bool?, Health: str?, HealthStatus: str?, Resources: EnvironmentResourcesDescription?{LoadBalancer: LoadBalancerDescription?{LoadBalancerName: str?, Domain: str?, Listeners: [Listener]?}}, Tier: EnvironmentTier?{Name: str?, Type: str?, Version: str?}, EnvironmentLinks: [EnvironmentLink]?, EnvironmentArn: str?, OperationsRole: str?}

@endpoint POST /
@required {ResourceArn: str}
@optional {TagsToAdd: [Tag], TagsToRemove: [str]}

@endpoint POST /
@required {ApplicationName: str, OptionSettings: [ConfigurationOptionSetting]}
@optional {TemplateName: str, EnvironmentName: str}
@returns(200) {Messages: [ValidationMessage]?}

@end
