@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api AmazonMWAA
@version 2020-07-01
@auth AWS SigV4
@endpoints 11
@toc clitoken(1), environments(5), webtoken(1), tags(3), metrics(1)

@group clitoken
@endpoint POST /clitoken/{Name}
@desc Creates a CLI token for the Airflow CLI. To learn more, see Creating an Apache Airflow CLI token.
@required {Name: str}
@returns(200) {CliToken: str?, WebServerHostname: str?}

@endgroup

@group environments
@endpoint PUT /environments/{Name}
@desc Creates an Amazon Managed Workflows for Apache Airflow (MWAA) environment.
@required {Name: str, ExecutionRoleArn: str, SourceBucketArn: str, DagS3Path: str, NetworkConfiguration: NetworkConfiguration}
@optional {PluginsS3Path: str, PluginsS3ObjectVersion: str, RequirementsS3Path: str, RequirementsS3ObjectVersion: str, StartupScriptS3Path: str, StartupScriptS3ObjectVersion: str, AirflowConfigurationOptions: map<str,str>, EnvironmentClass: str, MaxWorkers: int, KmsKey: str, AirflowVersion: str, LoggingConfiguration: LoggingConfigurationInput, WeeklyMaintenanceWindowStart: str, Tags: map<str,str>, WebserverAccessMode: str, MinWorkers: int, Schedulers: int, EndpointManagement: str, MinWebservers: int, MaxWebservers: int}
@returns(200) {Arn: str?}

@endgroup

@group webtoken
@endpoint POST /webtoken/{Name}
@desc Creates a web login token for the Airflow Web UI. To learn more, see Creating an Apache Airflow web login token.
@required {Name: str}
@returns(200) {WebToken: str?, WebServerHostname: str?, IamIdentity: str?, AirflowIdentity: str?}

@endgroup

@group environments
@endpoint DELETE /environments/{Name}
@desc Deletes an Amazon Managed Workflows for Apache Airflow (MWAA) environment.
@required {Name: str}

@endpoint GET /environments/{Name}
@desc Describes an Amazon Managed Workflows for Apache Airflow (MWAA) environment.
@required {Name: str}
@returns(200) {Environment: Environment?{Name: str?, Status: str?, Arn: str?, CreatedAt: str(timestamp)?, WebserverUrl: str?, ExecutionRoleArn: str?, ServiceRoleArn: str?, KmsKey: str?, AirflowVersion: str?, SourceBucketArn: str?, DagS3Path: str?, PluginsS3Path: str?, PluginsS3ObjectVersion: str?, RequirementsS3Path: str?, RequirementsS3ObjectVersion: str?, StartupScriptS3Path: str?, StartupScriptS3ObjectVersion: str?, AirflowConfigurationOptions: map<str,str>?, EnvironmentClass: str?, MaxWorkers: int?, NetworkConfiguration: NetworkConfiguration?{SubnetIds: [str]?, SecurityGroupIds: [str]?}, LoggingConfiguration: LoggingConfiguration?{DagProcessingLogs: ModuleLoggingConfiguration?{Enabled: bool?, LogLevel: str?, CloudWatchLogGroupArn: str?}, SchedulerLogs: ModuleLoggingConfiguration?{Enabled: bool?, LogLevel: str?, CloudWatchLogGroupArn: str?}, WebserverLogs: ModuleLoggingConfiguration?{Enabled: bool?, LogLevel: str?, CloudWatchLogGroupArn: str?}, WorkerLogs: ModuleLoggingConfiguration?{Enabled: bool?, LogLevel: str?, CloudWatchLogGroupArn: str?}, TaskLogs: ModuleLoggingConfiguration?{Enabled: bool?, LogLevel: str?, CloudWatchLogGroupArn: str?}}, LastUpdate: LastUpdate?{Status: str?, CreatedAt: str(timestamp)?, Error: UpdateError?{ErrorCode: str?, ErrorMessage: str?}, Source: str?}, WeeklyMaintenanceWindowStart: str?, Tags: map<str,str>?, WebserverAccessMode: str?, MinWorkers: int?, Schedulers: int?, WebserverVpcEndpointService: str?, DatabaseVpcEndpointService: str?, CeleryExecutorQueue: str?, EndpointManagement: str?, MinWebservers: int?, MaxWebservers: int?}}

@endpoint GET /environments
@desc Lists the Amazon Managed Workflows for Apache Airflow (MWAA) environments.
@optional {NextToken: str, MaxResults: int}
@returns(200) {Environments: [str], NextToken: str?}

@endgroup

@group tags
@endpoint GET /tags/{ResourceArn}
@desc Lists the key-value tag pairs associated to the Amazon Managed Workflows for Apache Airflow (MWAA) environment. For example, "Environment": "Staging".
@required {ResourceArn: str}
@returns(200) {Tags: map<str,str>?}

@endgroup

@group metrics
@endpoint POST /metrics/environments/{EnvironmentName}
@desc Internal only. Publishes environment health metrics to Amazon CloudWatch.
@required {EnvironmentName: str, MetricData: [MetricDatum]}

@endgroup

@group tags
@endpoint POST /tags/{ResourceArn}
@desc Associates key-value tag pairs to your Amazon Managed Workflows for Apache Airflow (MWAA) environment.
@required {ResourceArn: str, Tags: map<str,str>}

@endpoint DELETE /tags/{ResourceArn}
@desc Removes key-value tag pairs associated to your Amazon Managed Workflows for Apache Airflow (MWAA) environment. For example, "Environment": "Staging".
@required {ResourceArn: str, tagKeys: [str]}

@endgroup

@group environments
@endpoint PATCH /environments/{Name}
@desc Updates an Amazon Managed Workflows for Apache Airflow (MWAA) environment.
@required {Name: str}
@optional {ExecutionRoleArn: str, AirflowVersion: str, SourceBucketArn: str, DagS3Path: str, PluginsS3Path: str, PluginsS3ObjectVersion: str, RequirementsS3Path: str, RequirementsS3ObjectVersion: str, StartupScriptS3Path: str, StartupScriptS3ObjectVersion: str, AirflowConfigurationOptions: map<str,str>, EnvironmentClass: str, MaxWorkers: int, NetworkConfiguration: UpdateNetworkConfigurationInput, LoggingConfiguration: LoggingConfigurationInput, WeeklyMaintenanceWindowStart: str, WebserverAccessMode: str, MinWorkers: int, Schedulers: int, MinWebservers: int, MaxWebservers: int}
@returns(200) {Arn: str?}

@endgroup

@end
