MWAAServerless / Client / update_workflow

update_workflow

MWAAServerless.Client.update_workflow(**kwargs)

Updates an existing workflow with new configuration settings. This operation allows you to modify the workflow definition, role, and other settings. When you update a workflow, Amazon Managed Workflows for Apache Airflow Serverless automatically creates a new version with the updated configuration and disables scheduling on all previous versions to ensure only one version is actively scheduled at a time. The update operation maintains workflow history while providing a clean transition to the new configuration.

See also: AWS API Documentation

Request Syntax

response = client.update_workflow(
    WorkflowArn='string',
    DefinitionS3Location={
        'Bucket': 'string',
        'ObjectKey': 'string',
        'VersionId': 'string'
    },
    RoleArn='string',
    Description='string',
    LoggingConfiguration={
        'LogGroupName': 'string'
    },
    EngineVersion=123,
    NetworkConfiguration={
        'SecurityGroupIds': [
            'string',
        ],
        'SubnetIds': [
            'string',
        ]
    },
    TriggerMode='string'
)
Parameters:
  • WorkflowArn (string) –

    [REQUIRED]

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

  • DefinitionS3Location (dict) –

    [REQUIRED]

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

    • Bucket (string) – [REQUIRED]

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

    • ObjectKey (string) – [REQUIRED]

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

    • VersionId (string) –

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

  • RoleArn (string) –

    [REQUIRED]

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

  • Description (string) – An updated description for the workflow.

  • LoggingConfiguration (dict) –

    Updated logging configuration for the workflow.

    • LogGroupName (string) – [REQUIRED]

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

  • EngineVersion (integer) – The version of the Amazon Managed Workflows for Apache Airflow Serverless engine that you want to use for the updated workflow.

  • NetworkConfiguration (dict) –

    Updated network configuration for the workflow execution environment.

    • SecurityGroupIds (list) –

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

      • (string) –

    • SubnetIds (list) –

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

      • (string) –

  • TriggerMode (string) – The trigger mode for the workflow execution.

Return type:

dict

Returns:

Response Syntax

{
    'WorkflowArn': 'string',
    'ModifiedAt': datetime(2015, 1, 1),
    'WorkflowVersion': 'string',
    'Warnings': [
        'string',
    ]
}

Response Structure

  • (dict) –

    • WorkflowArn (string) –

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

    • ModifiedAt (datetime) –

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

    • WorkflowVersion (string) –

      The version identifier of the updated workflow.

    • Warnings (list) –

      Warning messages generated during workflow update.

      • (string) –

Exceptions

  • MWAAServerless.Client.exceptions.ThrottlingException

  • MWAAServerless.Client.exceptions.ValidationException

  • MWAAServerless.Client.exceptions.ResourceNotFoundException

  • MWAAServerless.Client.exceptions.AccessDeniedException

  • MWAAServerless.Client.exceptions.InternalServerException

  • MWAAServerless.Client.exceptions.OperationTimeoutException

  • MWAAServerless.Client.exceptions.ConflictException

  • MWAAServerless.Client.exceptions.ServiceQuotaExceededException