[ aws . iotthingsgraph ]



Updates the specified workflow. All deployed systems and system instances that use the workflow will see the changes in the flow when it is redeployed. If you don’t want this behavior, copy the workflow (creating a new workflow with a different ID), and update the copy. The workflow can contain only entities in the specified namespace.

See also: AWS API Documentation

See ‘aws help’ for descriptions of global parameters.


--id <value>
--definition <value>
[--compatible-namespace-version <value>]
[--cli-input-json | --cli-input-yaml]
[--generate-cli-skeleton <value>]
[--cli-auto-prompt <value>]


--id (string)

The ID of the workflow to be updated.

The ID should be in the following format.

urn:tdm:REGION/ACCOUNT ID/default:workflow:WORKFLOWNAME

--definition (structure)

The DefinitionDocument that contains the updated workflow definition.

language -> (string)

The language used to define the entity. GRAPHQL is the only valid value.

text -> (string)

The GraphQL text that defines the entity.

Shorthand Syntax:


JSON Syntax:

  "language": "GRAPHQL",
  "text": "string"

--compatible-namespace-version (long)

The version of the user’s namespace.

If no value is specified, the latest version is used by default. Use the GetFlowTemplateRevisions if you want to find earlier revisions of the flow to update.

--cli-input-json | --cli-input-yaml (string) Reads arguments from the JSON string provided. The JSON string follows the format provided by --generate-cli-skeleton. If other arguments are provided on the command line, those values will override the JSON-provided values. It is not possible to pass arbitrary binary values using a JSON-provided value as the string will be taken literally. This may not be specified along with --cli-input-yaml.

--generate-cli-skeleton (string) Prints a JSON skeleton to standard output without sending an API request. If provided with no value or the value input, prints a sample input JSON that can be used as an argument for --cli-input-json. Similarly, if provided yaml-input it will print a sample input YAML that can be used with --cli-input-yaml. If provided with the value output, it validates the command inputs and returns a sample output JSON for that command.

--cli-auto-prompt (boolean) Automatically prompt for CLI input parameters.

See ‘aws help’ for descriptions of global parameters.


To update a flow

The following update-flow-template example updates a flow (workflow). The value of MyFlowDefinition is the GraphQL that models the flow.

aws iotthingsgraph update-flow-template \
    --id "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow" \
    --definition language=GRAPHQL,text="MyFlowDefinition"


    "summary": {
        "createdAt": 1559248067.545,
        "id": "urn:tdm:us-west-2/123456789012/default:Workflow:MyFlow",
        "revisionNumber": 2

For more information, see Working with Flows in the AWS IoT Things Graph User Guide.


summary -> (structure)

An object containing summary information about the updated workflow.

id -> (string)

The ID of the workflow.

arn -> (string)

The ARN of the workflow.

revisionNumber -> (long)

The revision number of the workflow.

createdAt -> (timestamp)

The date when the workflow was created.