{ "type": "object", "description": "UpdateFlowRequest schema from Amazon AppFlow API", "properties": { "flowName": { "type": "string", "description": "The specified name of the flow.", "maxLength": 256, "example": "my-salesforce-to-s3-flow" }, "clientToken": { "type": "string", "description": "Idempotency token.", "example": "client-token-500123" }, "description": { "type": "string", "description": "A description of the flow.", "maxLength": 2048, "example": "Updated description" }, "triggerConfig": { "type": "object", "properties": { "triggerType": { "type": "string", "description": "Specifies the type of flow trigger. It can be OnDemand, Scheduled, or Event.", "enum": [ "Scheduled", "Event", "OnDemand" ], "example": "Scheduled" }, "triggerProperties": { "type": "object", "description": "Specifies the configuration details of a schedule-triggered flow as defined by the user.", "properties": { "Scheduled": {} } } }, "required": [ "triggerType" ] }, "sourceFlowConfig": { "type": "object", "properties": { "connectorType": { "type": "string", "description": "The type of connector used as a source.", "example": "Salesforce" }, "apiVersion": { "type": "string", "description": "The API version of the connector used in the source.", "example": "v55.0" }, "connectorProfileName": { "type": "string", "description": "The name of the connector profile. Required for all connectors except Amplitude, Datadog, Dynatrace, GoogleAnalytics, Marketo, SAPOData, Salesforce, ServiceNow, Singular, Slack, Trendmicro, and Veeva.", "example": "my-salesforce-profile" }, "sourceConnectorProperties": { "type": "object", "description": "Specifies the information that is required to query a particular source connector.", "example": { "Salesforce": { "object": "Account" } } }, "incrementalPullConfig": { "type": "object", "description": "Defines the configuration for a scheduled incremental data pull. If a valid configuration is provided, the fields specified in the configuration are used when querying for the incremental data pull.", "properties": { "datetimeTypeFieldName": { "type": "string", "description": "A field that specifies the date time or timestamp field as the criteria to use when importing incremental records from the source.", "example": "LastModifiedDate" } } } }, "required": [ "connectorType", "sourceConnectorProperties" ] }, "destinationFlowConfigList": { "type": "array", "items": {} }, "tasks": { "type": "array", "items": {} }, "metadataCatalogConfig": { "type": "object", "properties": { "glueDataCatalog": { "type": "object", "description": "Specifies the configuration that Amazon AppFlow uses when it catalogs data with the Glue Data Catalog.", "properties": { "roleArn": { "type": "string", "description": "The ARN of an IAM role that grants AppFlow the permissions it needs to create Data Catalog tables, databases, and partitions.", "example": "arn:aws:iam::123456789012:role/AppFlowGlueRole" }, "databaseName": { "type": "string", "description": "The name of an existing Glue Data Catalog database.", "example": "appflow-catalog-db" }, "tablePrefix": { "type": "string", "description": "A naming prefix for each Data Catalog table that Amazon AppFlow creates.", "example": "sf_" } } } } } }, "required": [ "flowName", "triggerConfig", "sourceFlowConfig", "destinationFlowConfigList", "tasks" ], "$schema": "https://json-structure.org/meta/core/v0/#", "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-appflow/refs/heads/main/json-structure/appflow-update-flow-request-structure.json" }