Module Smaws_Client_MWAAServerless.Types

type nonrec workflow_version = string
type nonrec workflow_arn = string
type nonrec is_latest_version = bool
type nonrec timestamp_value = Smaws_Lib.CoreTypes.Timestamp.t
type nonrec definition_s3_location = {
  1. version_id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    Optional. The version ID of the workflow definition file in Amazon S3. If not specified, the latest version is used.

    *)
  2. object_key : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The key (name) of the workflow definition file within the S3 bucket.

    *)
  3. bucket : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The name of the Amazon S3 bucket that contains the workflow definition file.

    *)
}

Specifies the Amazon S3 location of a workflow definition file. This structure contains the bucket name, object key, and optional version ID for the workflow definition. Amazon Managed Workflows for Apache Airflow Serverless takes a snapshot of the definition file at the time of workflow creation or update, ensuring that the workflow behavior remains consistent even if the source file is modified. The definition must be a valid YAML file that uses supported Amazon Web Services operators and Amazon Managed Workflows for Apache Airflow Serverless syntax.

type nonrec schedule_configuration = {
  1. cron_expression : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A cron expression that defines when the workflow is automatically executed. Uses standard cron syntax.

    *)
}

The configuration to use to schedule automated workflow execution using cron expressions. Amazon Managed Workflows for Apache Airflow Serverless integrates with EventBridge Scheduler to provide cost-effective, timezone-aware scheduling capabilities. The service supports both time-based and event-based scheduling (event-based scheduling available post-GA). When a workflow definition includes scheduling information, Amazon Managed Workflows for Apache Airflow Serverless automatically configures the appropriate triggers and ensures only one version of a workflow has an active schedule at any time.

type nonrec generic_string = string
type nonrec workflow_version_summary = {
  1. trigger_mode : generic_string option;
    (*

    The trigger mode for the workflow execution.

    *)
  2. schedule_configuration : schedule_configuration option;
    (*

    The schedule configuration for this workflow version.

    *)
  3. definition_s3_location : definition_s3_location option;
    (*

    The Amazon S3 location of the workflow definition file for this version.

    *)
  4. modified_at : timestamp_value option;
    (*

    The timestamp when the workflow version was last modified, in ISO 8601 date-time format.

    *)
  5. created_at : timestamp_value option;
    (*

    The timestamp when the workflow version was created, in ISO 8601 date-time format.

    *)
  6. is_latest_version : is_latest_version option;
    (*

    Boolean flag that indicates whether this is the latest version of the workflow.

    *)
  7. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the workflow that contains this version.

    *)
  8. workflow_version : workflow_version;
    (*

    The version identifier of the workflow version.

    *)
}

Summary information about a workflow version, including identification and configuration details.

type nonrec workflow_version_summaries = workflow_version_summary list
type nonrec workflow_version_resource = Smaws_Lib.CoreTypes.Resource.t
type nonrec workflow_version_arn = string
type nonrec name_string = string
type nonrec description_string = string
type nonrec workflow_status =
  1. | DELETING
  2. | READY
type nonrec workflow_summary = {
  1. trigger_mode : generic_string option;
    (*

    The trigger mode for the workflow execution.

    *)
  2. workflow_status : workflow_status option;
    (*

    The current status of the workflow.

    *)
  3. modified_at : timestamp_value option;
    (*

    The timestamp when the workflow was last modified, in ISO 8601 date-time format.

    *)
  4. created_at : timestamp_value option;
    (*

    The timestamp when the workflow was created, in ISO 8601 date-time format.

    *)
  5. description : description_string option;
    (*

    The description of the workflow.

    *)
  6. name : name_string option;
    (*

    The name of the workflow.

    *)
  7. workflow_version : workflow_version option;
    (*

    The version identifier of the workflow.

    *)
  8. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the workflow.

    *)
}

Summary information about a workflow, including basic identification and metadata.

type nonrec workflow_summaries = workflow_summary list
type nonrec id_string = string
type nonrec version_id = string
type nonrec run_type =
  1. | SCHEDULED
  2. | ON_DEMAND
type nonrec workflow_run_status =
  1. | STOPPED
  2. | STOPPING
  3. | TIMEOUT
  4. | FAILED
  5. | SUCCESS
  6. | RUNNING
  7. | QUEUED
  8. | STARTING
type nonrec run_detail_summary = {
  1. ended_at : timestamp_value option;
    (*

    The timestamp when the workflow run completed execution, in ISO 8601 date-time format. This value is null if the run is not complete.

    *)
  2. started_at : timestamp_value option;
    (*

    The timestamp when the workflow run started execution, in ISO 8601 date-time format.

    *)
  3. created_on : timestamp_value option;
    (*

    The timestamp when the workflow run was created, in ISO 8601 date-time format.

    *)
  4. status : workflow_run_status option;
    (*

    The current status of the workflow run.

    *)
}

Summary information about a workflow run's execution details, including status and timing information.

type nonrec workflow_run_summary = {
  1. run_detail_summary : run_detail_summary option;
    (*

    Summary details about the workflow run execution.

    *)
  2. run_type : run_type option;
    (*

    The type of workflow run.

    *)
  3. workflow_version : version_id option;
    (*

    The version of the workflow used for this run.

    *)
  4. workflow_arn : workflow_arn option;
    (*

    The Amazon Resource Name (ARN) of the workflow that contains this run.

    *)
  5. run_id : id_string option;
    (*

    The unique identifier of the workflow run.

    *)
}

Summary information about a workflow run, including basic identification and status information.

type nonrec workflow_run_summaries = workflow_run_summary list
type nonrec workflow_run_resource = Smaws_Lib.CoreTypes.Resource.t
type nonrec task_instance_ids = id_string list
type nonrec workflow_run_detail = {
  1. run_state : workflow_run_status option;
    (*

    The current execution state of the workflow run.

    *)
  2. task_instances : task_instance_ids option;
    (*

    A list of task instance IDs that are part of this workflow run.

    *)
  3. error_message : generic_string option;
    (*

    The error message if the workflow run failed. This value is null if the run completed successfully.

    *)
  4. duration : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The total duration of the workflow run execution in seconds. This value is null if the run is not complete.

    *)
  5. modified_at : timestamp_value option;
    (*

    The timestamp when the workflow run was last modified, in ISO 8601 date-time format.

    *)
  6. completed_on : timestamp_value option;
    (*

    The timestamp when the workflow run completed execution, in ISO 8601 date-time format. This value is null if the run is not complete.

    *)
  7. created_at : timestamp_value option;
    (*

    The timestamp when the workflow run was created, in ISO 8601 date-time format.

    *)
  8. started_on : timestamp_value option;
    (*

    The timestamp when the workflow run started execution, in ISO 8601 date-time format.

    *)
  9. run_type : run_type option;
    (*

    The type of workflow run.

    *)
  10. run_id : id_string option;
    (*

    The unique identifier of this workflow run.

    *)
  11. workflow_version : version_id option;
    (*

    The version of the workflow used for this run.

    *)
  12. workflow_arn : workflow_arn option;
    (*

    The Amazon Resource Name (ARN) of the workflow that contains this run.

    *)
}

Detailed information about a workflow run execution, including timing, status, error information, and associated task instances. This structure provides comprehensive visibility into the workflow execution lifecycle within the Amazon Managed Workflows for Apache Airflow Serverless serverless environment. The service tracks execution across distributed ECS worker tasks and provides detailed timing information, error diagnostics, and task instance relationships to support effective monitoring and troubleshooting of complex workflow executions.

type nonrec workflow_resource = Smaws_Lib.CoreTypes.Resource.t
type nonrec warning_messages = Smaws_Lib.Smithy_api.Types.string_ list
type nonrec validation_exception_reason =
  1. | OTHER
  2. | FIELD_VALIDATION_FAILED
  3. | CANNOT_PARSE
  4. | UNKNOWN_OPERATION
type nonrec error_message = string
type nonrec validation_exception_field = {
  1. message : error_message;
    (*

    A message that describes why the field failed validation.

    *)
  2. name : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The name of the field that failed validation.

    *)
}

Contains information about a field that failed validation, including the field name and a descriptive error message.

type nonrec validation_exception_fields = validation_exception_field list
type nonrec validation_exception = {
  1. field_list : validation_exception_fields option;
    (*

    The fields that failed validation.

    *)
  2. reason : validation_exception_reason;
    (*

    The reason the request failed validation.

    *)
  3. message : error_message;
}

The specified request parameters are invalid, missing, or inconsistent with Amazon Managed Workflows for Apache Airflow Serverless service requirements. This can occur when workflow definitions contain unsupported operators, when required IAM permissions are missing, when S3 locations are inaccessible, or when network configurations are invalid. The service validates workflow definitions, execution roles, and resource configurations to ensure compatibility with the managed Airflow environment and security requirements.

type nonrec update_workflow_response = {
  1. warnings : warning_messages option;
    (*

    Warning messages generated during workflow update.

    *)
  2. workflow_version : workflow_version option;
    (*

    The version identifier of the updated workflow.

    *)
  3. modified_at : timestamp_value option;
    (*

    The timestamp when the workflow was last modified, in ISO 8601 date-time format.

    *)
  4. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the updated workflow.

    *)
}
type nonrec role_ar_n = string
type nonrec logging_configuration = {
  1. log_group_name : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The name of the CloudWatch log group where workflow execution logs are stored.

    *)
}

Configuration for workflow logging that specifies where you should store your workflow execution logs. Amazon Managed Workflows for Apache Airflow Serverless provides comprehensive logging capabilities that capture workflow execution details, task-level information, and system events. Logs are automatically exported to your specified CloudWatch log group using remote logging functionality, providing centralized observability across the distributed, multi-tenant execution environment. This enables effective debugging, monitoring, and compliance auditing of workflow executions.

type nonrec engine_version =
  1. | ONE
    (*

    Engine version 1 of Amazon Managed Workflows for Apache Airflow Serverless

    *)
type nonrec security_group_string = string
type nonrec security_group_ids = security_group_string list
type nonrec subnet_string = string
type nonrec subnet_ids = subnet_string list
type nonrec network_configuration = {
  1. subnet_ids : subnet_ids option;
    (*

    A list of VPC subnet IDs where the workflow execution environment is deployed.

    *)
  2. security_group_ids : security_group_ids option;
    (*

    A list of VPC security group IDs to associate with the workflow execution environment.

    *)
}

Network configuration for workflow execution. Specifies VPC security groups and subnets for secure network access. When provided, Amazon Managed Workflows for Apache Airflow Serverless deploys ECS worker tasks in your specified VPC configuration, enabling secure access to VPC-only resources. The service uses a proxy API container architecture where one container handles external communication while the worker container connects to your VPC for task execution. This design provides both security isolation and connectivity flexibility.

type nonrec update_workflow_request = {
  1. trigger_mode : generic_string option;
    (*

    The trigger mode for the workflow execution.

    *)
  2. network_configuration : network_configuration option;
    (*

    Updated network configuration for the workflow execution environment.

    *)
  3. engine_version : engine_version option;
    (*

    The version of the Amazon Managed Workflows for Apache Airflow Serverless engine that you want to use for the updated workflow.

    *)
  4. logging_configuration : logging_configuration option;
    (*

    Updated logging configuration for the workflow.

    *)
  5. description : description_string option;
    (*

    An updated description for the workflow.

    *)
  6. role_arn : role_ar_n;
    (*

    The Amazon Resource Name (ARN) of the IAM role that Amazon Managed Workflows for Apache Airflow Serverless assumes when it executes the updated workflow.

    *)
  7. definition_s3_location : definition_s3_location;
    (*

    The Amazon S3 location where the updated workflow definition file is stored.

    *)
  8. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the workflow you want to update.

    *)
}
type nonrec throttling_exception = {
  1. retry_after_seconds : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The number of seconds to wait before retrying the operation.

    *)
  2. quota_code : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The code of the quota.

    *)
  3. service_code : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The code for the service.

    *)
  4. message : error_message;
}

The request was denied because too many requests were made in a short period, exceeding the service rate limits. Amazon Managed Workflows for Apache Airflow Serverless implements throttling controls to ensure fair resource allocation across all customers in the multi-tenant environment. This helps maintain service stability and performance. If you encounter throttling, implement exponential backoff and retry logic in your applications, or consider distributing your API calls over a longer time period.

type nonrec service_quota_exceeded_exception = {
  1. quota_code : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The code of the quota.

    *)
  2. service_code : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The code for the service.

    *)
  3. resource_type : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The type of resource affected.

    *)
  4. resource_id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The unique identifier of the resource.

    *)
  5. message : error_message;
}

The request exceeds the service quota for Amazon Managed Workflows for Apache Airflow Serverless resources. This can occur when you attempt to create more workflows than allowed, exceed concurrent workflow run limits, or surpass task execution limits. Amazon Managed Workflows for Apache Airflow Serverless implements admission control using DynamoDB-based counters to manage resource utilization across the multi-tenant environment. Contact Amazon Web Services Support to request quota increases if you need higher limits for your use case.

type nonrec resource_not_found_exception = {
  1. resource_type : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The type of the resource.

    *)
  2. resource_id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The unique identifier of the resource.

    *)
  3. message : error_message;
}

The specified resource was not found. You can only access or modify a resource that already exists.

type nonrec operation_timeout_exception = {
  1. message : error_message option;
}

The operation timed out.

type nonrec internal_server_exception = {
  1. retry_after_seconds : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The number of seconds to wait before retrying the operation.

    *)
  2. message : error_message;
}

An unexpected server-side error occurred during request processing.

type nonrec conflict_exception = {
  1. resource_type : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The type of the resource.

    *)
  2. resource_id : Smaws_Lib.Smithy_api.Types.string_;
    (*

    The unique identifier of the resource.

    *)
  3. message : error_message;
}

You cannot create a resource that already exists, or the resource is in a state that prevents the requested operation.

type nonrec access_denied_exception = {
  1. message : error_message;
}

You do not have sufficient permission to perform this action.

type nonrec untag_resource_response = unit
type nonrec taggable_resource_arn = string
type nonrec tag_key = string
type nonrec tag_keys = tag_key list
type nonrec untag_resource_request = {
  1. tag_keys : tag_keys;
    (*

    A list of tag keys to remove from the resource. Only the keys are required; the values are ignored.

    *)
  2. resource_arn : taggable_resource_arn;
    (*

    The Amazon Resource Name (ARN) of the resource from which to remove tags.

    *)
}
type nonrec task_instance_status =
  1. | TIMEOUT
  2. | CANCELLED
  3. | NONE
  4. | DEFERRED
  5. | RESTARTING
  6. | REMOVED
  7. | UPSTREAM_FAILED
  8. | UP_FOR_RETRY
  9. | UP_FOR_RESCHEDULE
  10. | SUCCESS
  11. | RUNNING
  12. | SCHEDULED
  13. | FAILED
  14. | QUEUED
type nonrec task_instance_summary = {
  1. operator_name : generic_string option;
    (*

    The name of the Apache Airflow operator used for this task instance.

    *)
  2. duration_in_seconds : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The duration of the task instance execution in seconds. This value is null if the task is not complete.

    *)
  3. status : task_instance_status option;
    (*

    The current status of the task instance.

    *)
  4. task_instance_id : id_string option;
    (*

    The unique identifier of this task instance.

    *)
  5. run_id : id_string option;
    (*

    The unique identifier of the workflow run that contains this task instance.

    *)
  6. workflow_version : version_id option;
    (*

    The version of the workflow that contains this task instance.

    *)
  7. workflow_arn : workflow_arn option;
    (*

    The Amazon Resource Name (ARN) of the workflow that contains this task instance.

    *)
}

Summary information about a task instance within a workflow run, including its status and execution details.

type nonrec task_instance_summaries = task_instance_summary list
type nonrec task_instance_resource = Smaws_Lib.CoreTypes.Resource.t
type nonrec tag_value = string
type nonrec tags = (tag_key * tag_value) list
type nonrec tag_resource_response = unit
type nonrec tag_resource_request = {
  1. tags : tags;
    (*

    A map of tags to add to the resource. Each tag consists of a key-value pair.

    *)
  2. resource_arn : taggable_resource_arn;
    (*

    The Amazon Resource Name (ARN) of the resource to which to add tags.

    *)
}
type nonrec stop_workflow_run_response = {
  1. status : workflow_run_status option;
    (*

    The status of the workflow run after the stop operation. This is typically STOPPING or STOPPED.

    *)
  2. run_id : id_string option;
    (*

    The unique identifier of the stopped workflow run.

    *)
  3. workflow_version : version_id option;
    (*

    The version of the workflow that was stopped.

    *)
  4. workflow_arn : workflow_arn option;
    (*

    The Amazon Resource Name (ARN) of the workflow that contains the stopped run.

    *)
}
type nonrec stop_workflow_run_request = {
  1. run_id : id_string;
    (*

    The unique identifier of the workflow run to stop.

    *)
  2. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the workflow that contains the run you want to stop.

    *)
}
type nonrec start_workflow_run_response = {
  1. started_at : timestamp_value option;
    (*

    The timestamp when the workflow run was started, in ISO 8601 date-time format.

    *)
  2. status : workflow_run_status option;
    (*

    The initial status of the workflow run. This is typically STARTING when you first create the run.

    *)
  3. run_id : id_string option;
    (*

    The unique identifier of the newly started workflow run.

    *)
}
type nonrec idempotency_token_string = string
type nonrec start_workflow_run_request = {
  1. workflow_version : version_id option;
    (*

    Optional. The specific version of the workflow to execute. If not specified, the latest version is used.

    *)
  2. override_parameters : object_map option;
    (*

    Optional parameters to override default workflow parameters for this specific run. These parameters are passed to the workflow during execution and can be used to customize behavior without modifying the workflow definition. Parameters are made available as environment variables to tasks and you can reference them within the YAML workflow definition using standard parameter substitution syntax.

    *)
  3. client_token : idempotency_token_string option;
    (*

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This token prevents duplicate workflow run requests.

    *)
  4. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the workflow you want to run.

    *)
}
type nonrec list_workflows_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The pagination token you need to use to retrieve the next set of results. This value is null if there are no more results.

    *)
  2. workflows : workflow_summaries;
    (*

    A list of workflow summaries for all workflows in your account.

    *)
}
type nonrec list_workflows_request = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The pagination token you need to use to retrieve the next set of results. This value is returned from a previous call to ListWorkflows.

    *)
  2. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The maximum number of workflows you want to return in a single response.

    *)
}
type nonrec list_workflow_versions_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The pagination token you need to use to retrieve the next set of results. This value is null if there are no more results.

    *)
  2. workflow_versions : workflow_version_summaries option;
    (*

    A list of workflow version summaries for the specified workflow.

    *)
}
type nonrec list_workflow_versions_request = {
  1. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the workflow for which you want to list versions.

    *)
  2. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The pagination token you need to use to retrieve the next set of results. This value is returned from a previous call to ListWorkflowVersions.

    *)
  3. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The maximum number of workflow versions to return in a single response.

    *)
}
type nonrec list_workflow_runs_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The pagination token you need to use to retrieve the next set of results. This value is null if there are no more results.

    *)
  2. workflow_runs : workflow_run_summaries option;
    (*

    A list of workflow run summaries for the specified workflow.

    *)
}
type nonrec list_workflow_runs_request = {
  1. workflow_version : version_id option;
    (*

    Optional. The specific version of the workflow for which you want a list of runs. If not specified, runs for all versions are returned.

    *)
  2. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the workflow for which you want a list of runs.

    *)
  3. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The pagination token you need to use to retrieve the next set of results. This value is returned from a previous call to ListWorkflowRuns.

    *)
  4. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The maximum number of workflow runs to return in a single response.

    *)
}
type nonrec list_task_instances_response = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The pagination token you need to use to retrieve the next set of results. This value is null if there are no more results.

    *)
  2. task_instances : task_instance_summaries option;
    (*

    A list of task instance summaries for the specified workflow run.

    *)
}
type nonrec list_task_instances_request = {
  1. next_token : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The pagination token you need to use to retrieve the next set of results. This value is returned from a previous call to ListTaskInstances.

    *)
  2. max_results : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The maximum number of task instances to return in a single response.

    *)
  3. run_id : id_string;
    (*

    The unique identifier of the workflow run for which you want a list of task instances.

    *)
  4. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the workflow that contains the run.

    *)
}
type nonrec list_tags_for_resource_response = {
  1. tags : tags option;
    (*

    A map of tags that are associated with the resource, where each tag consists of a key-value pair.

    *)
}
type nonrec list_tags_for_resource_request = {
  1. resource_arn : taggable_resource_arn;
    (*

    The Amazon Resource Name (ARN) of the resource for which to list tags.

    *)
}
type nonrec get_workflow_run_response = {
  1. run_detail : workflow_run_detail option;
    (*

    Detailed information about the workflow run execution, including timing, status, and task instances.

    *)
  2. override_parameters : object_map option;
    (*

    Parameters that were overridden for this specific workflow run.

    *)
  3. run_type : run_type option;
    (*

    The type of workflow run. Values are ON_DEMAND (manually triggered) or SCHEDULED (automatically triggered by schedule).

    *)
  4. run_id : id_string option;
    (*

    The unique identifier of this workflow run.

    *)
  5. workflow_version : version_id option;
    (*

    The version of the workflow that is used for this run.

    *)
  6. workflow_arn : workflow_arn option;
    (*

    The Amazon Resource Name (ARN) of the workflow that contains this run.

    *)
}
type nonrec get_workflow_run_request = {
  1. run_id : id_string;
    (*

    The unique identifier of the workflow run to retrieve.

    *)
  2. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the workflow that contains the run.

    *)
}
type nonrec encryption_type =
  1. | CUSTOMER_MANAGED_KEY
  2. | AWS_MANAGED_KEY
type nonrec encryption_configuration = {
  1. kms_key_id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    The ID or ARN of the Amazon Web Services KMS key to use for encryption. Required when Type is CUSTOMER_MANAGED_KEY.

    *)
  2. type_ : encryption_type;
    (*

    The type of encryption to use. Values are AWS_MANAGED_KEY (Amazon Web Services manages the encryption key) or CUSTOMER_MANAGED_KEY (you provide a KMS key).

    *)
}

Configuration for encrypting workflow data at rest and in transit. Amazon Managed Workflows for Apache Airflow Serverless provides comprehensive encryption capabilities to protect sensitive workflow data, parameters, and execution logs. When using customer-managed keys, the service integrates with Amazon Web Services KMS to provide fine-grained access control and audit capabilities. Encryption is applied consistently across the distributed execution environment including task containers, metadata storage, and log streams.

type nonrec get_workflow_response = {
  1. workflow_definition : generic_string option;
    (*

    The workflow definition content.

    *)
  2. trigger_mode : generic_string option;
    (*

    The trigger mode for the workflow execution.

    *)
  3. network_configuration : network_configuration option;
    (*

    The network configuration for the workflow execution environment.

    *)
  4. role_arn : role_ar_n option;
    (*

    The Amazon Resource Name (ARN) of the IAM role used for workflow execution.

    *)
  5. schedule_configuration : schedule_configuration option;
    (*

    The schedule configuration for the workflow, including cron expressions for automated execution. Amazon Managed Workflows for Apache Airflow Serverless uses EventBridge Scheduler for cost-effective, timezone-aware scheduling. When a workflow includes schedule information in its YAML definition, the service automatically configures the appropriate triggers for automated execution. Only one version of a workflow can have an active schedule at any given time.

    *)
  6. definition_s3_location : definition_s3_location option;
    (*

    The Amazon S3 location of the workflow definition file.

    *)
  7. workflow_status : workflow_status option;
    (*

    The current status of the workflow.

    *)
  8. engine_version : engine_version option;
    (*

    The version of the Amazon Managed Workflows for Apache Airflow Serverless engine that this workflow uses.

    *)
  9. logging_configuration : logging_configuration option;
    (*

    The logging configuration for the workflow.

    *)
  10. encryption_configuration : encryption_configuration option;
    (*

    The encryption configuration for the workflow.

    *)
  11. modified_at : timestamp_value option;
    (*

    The timestamp when the workflow was last modified, in ISO 8601 date-time format.

    *)
  12. created_at : timestamp_value option;
    (*

    The timestamp when the workflow was created, in ISO 8601 date-time format.

    *)
  13. description : description_string option;
    (*

    The description of the workflow.

    *)
  14. name : name_string option;
    (*

    The name of the workflow.

    *)
  15. workflow_version : workflow_version option;
    (*

    The version identifier of the workflow.

    *)
  16. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the workflow.

    *)
}
type nonrec get_workflow_request = {
  1. workflow_version : workflow_version option;
    (*

    Optional. The specific version of the workflow to retrieve. If not specified, the latest version is returned.

    *)
  2. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the workflow you want to retrieve.

    *)
}
type nonrec generic_map = (generic_string * generic_string) list
type nonrec get_task_instance_response = {
  1. xcom : generic_map option;
    (*

    Cross-communication data exchanged between tasks in the workflow execution.

    *)
  2. log_stream : id_string option;
    (*

    The CloudWatch log stream name for this task instance execution.

    *)
  3. task_id : id_string option;
    (*

    The unique identifier of the task definition within the workflow.

    *)
  4. error_message : generic_string option;
    (*

    The error message if the task instance failed. This value is null if the task completed successfully.

    *)
  5. attempt_number : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The attempt number for this task instance.

    *)
  6. started_at : timestamp_value option;
    (*

    The timestamp when the task instance started execution, in ISO 8601 date-time format. This value is null if the task has not started.

    *)
  7. ended_at : timestamp_value option;
    (*

    The timestamp when the task instance completed execution, in ISO 8601 date-time format. This value is null if the task is not complete.

    *)
  8. modified_at : timestamp_value option;
    (*

    The timestamp when the task instance was last modified, in ISO 8601 date-time format.

    *)
  9. operator_name : generic_string option;
    (*

    The name of the Apache Airflow operator used for this task instance.

    *)
  10. duration_in_seconds : Smaws_Lib.Smithy_api.Types.integer option;
    (*

    The duration of the task instance execution in seconds. This value is null if the task is not complete.

    *)
  11. status : task_instance_status option;
    (*

    The current status of the task instance.

    *)
  12. workflow_version : version_id option;
    (*

    The version of the workflow that contains this task instance.

    *)
  13. task_instance_id : id_string;
    (*

    The unique identifier of this task instance.

    *)
  14. run_id : id_string;
    (*

    The unique identifier of the workflow run that contains this task instance.

    *)
  15. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the workflow that contains this task instance.

    *)
}
type nonrec get_task_instance_request = {
  1. run_id : id_string;
    (*

    The unique identifier of the workflow run that contains the task instance.

    *)
  2. task_instance_id : id_string;
    (*

    The unique identifier of the task instance to retrieve.

    *)
  3. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the workflow that contains the task instance.

    *)
}
type nonrec delete_workflow_response = {
  1. workflow_version : workflow_version option;
    (*

    The version of the workflow that was deleted.

    *)
  2. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the deleted workflow.

    *)
}
type nonrec delete_workflow_request = {
  1. workflow_version : workflow_version option;
    (*

    Optional. The specific version of the workflow to delete. If not specified, all versions of the workflow are deleted.

    *)
  2. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the workflow you want to delete.

    *)
}
type nonrec create_workflow_response = {
  1. warnings : warning_messages option;
    (*

    Warning messages generated during workflow creation.

    *)
  2. is_latest_version : is_latest_version option;
    (*

    A Boolean flag that indicates whether this workflow version is the latest version of the workflow.

    *)
  3. workflow_version : workflow_version option;
    (*

    The version identifier of the workflow. This is a service-generated alphanumeric string that uniquely identifies this version of the workflow. Amazon Managed Workflows for Apache Airflow Serverless uses a version-first approach where each workflow can have multiple immutable versions, which allows you to maintain different configurations and roll back to previous versions as needed. The version identifier is used in ARNs and API operations to reference specific workflow versions.

    *)
  4. workflow_status : workflow_status option;
    (*

    The current status of the workflow. Possible values are READY (workflow is ready to run) and DELETING (workflow is being deleted).

    *)
  5. revision_id : Smaws_Lib.Smithy_api.Types.string_ option;
    (*

    A unique identifier for this revision of the workflow configuration. This ID changes when the workflow is updated and you can use it for optimistic concurrency control in update operations. The revision ID helps prevent conflicting updates and ensures that updates are applied to the expected version of the workflow configuration.

    *)
  6. created_at : timestamp_value option;
    (*

    The timestamp when the workflow was created, in ISO 8601 date-time format.

    *)
  7. workflow_arn : workflow_arn;
    (*

    The Amazon Resource Name (ARN) of the newly created workflow. This ARN uniquely identifies the workflow resource.

    *)
}
type nonrec create_workflow_request = {
  1. trigger_mode : generic_string option;
    (*

    The trigger mode for the workflow execution.

    *)
  2. tags : tags option;
    (*

    A map of tags to assign to the workflow resource. Tags are key-value pairs that are used for resource organization and cost allocation.

    *)
  3. network_configuration : network_configuration option;
    (*

    Network configuration for the workflow execution environment, including VPC security groups and subnets for secure network access. When specified, Amazon Managed Workflows for Apache Airflow Serverless deploys ECS worker tasks in your customer VPC to provide secure connectivity to your resources. If not specified, tasks run in the service's default worker VPC with network isolation from other customers. This configuration enables secure access to VPC-only resources like RDS databases or private endpoints.

    *)
  4. engine_version : engine_version option;
    (*

    The version of the Amazon Managed Workflows for Apache Airflow Serverless engine that you want to use for this workflow. This determines the feature set, supported operators, and execution environment capabilities available to your workflow. Amazon Managed Workflows for Apache Airflow Serverless maintains backward compatibility across versions while introducing new features and improvements. Currently supports version 1 with plans for additional versions as the service evolves.

    *)
  5. logging_configuration : logging_configuration option;
    (*

    The configuration for workflow logging. Specifies the CloudWatch log group where workflow execution logs are stored. Amazon Managed Workflows for Apache Airflow Serverless automatically exports worker logs and task-level information to the specified log group in your account using remote logging functionality. This provides comprehensive observability for debugging and monitoring workflow execution across the distributed, serverless environment.

    *)
  6. encryption_configuration : encryption_configuration option;
    (*

    The configuration for encrypting workflow data at rest and in transit. Specifies the encryption type and optional KMS key for customer-managed encryption.

    *)
  7. description : description_string option;
    (*

    An optional description of the workflow that you can use to provide additional context about the workflow's purpose and functionality.

    *)
  8. role_arn : role_ar_n;
    (*

    The Amazon Resource Name (ARN) of the IAM role that Amazon Managed Workflows for Apache Airflow Serverless assumes when executing the workflow. This role must have the necessary permissions to access the required Amazon Web Services services and resources that your workflow tasks will interact with. The role is used for task execution in the isolated, multi-tenant environment and should follow the principle of least privilege. Amazon Managed Workflows for Apache Airflow Serverless validates role access during workflow creation but runtime permission checks are performed by the target services.

    *)
  9. definition_s3_location : definition_s3_location;
    (*

    The Amazon S3 location where the workflow definition file is stored. This must point to a valid YAML file that defines the workflow structure using supported Amazon Web Services operators and tasks. Amazon Managed Workflows for Apache Airflow Serverless takes a snapshot of the definition at creation time, so subsequent changes to the Amazon S3 object will not affect the workflow unless you create a new version. In your YAML definition, include task dependencies, scheduling information, and operator configurations that are compatible with the Amazon Managed Workflows for Apache Airflow Serverless execution environment.

    *)
  10. client_token : idempotency_token_string option;
    (*

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This token prevents duplicate workflow creation requests.

    *)
  11. name : name_string;
    (*

    The name of the workflow. You must use unique workflow names within your Amazon Web Services account. The service generates a unique identifier that is appended to ensure temporal uniqueness across the account lifecycle.

    *)
}